Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ansible-creator vs collection_template #27

Open
gundalow opened this issue Oct 19, 2023 · 7 comments
Open

ansible-creator vs collection_template #27

gundalow opened this issue Oct 19, 2023 · 7 comments
Labels
question Further information is requested

Comments

@gundalow
Copy link

ISSUE TYPE
  • Bug Report
SUMMARY

We've got similar skellington code in https://github.com/ansible-collections/collection_template
Including a fairly detailed GitHub Workflow for testing collections here

We should think about if we need to have both repos going

ANSIBLE-CREATOR VERSION

PYTHON VERSION
LOG FILE
STEPS TO REPRODUCE
EXPECTED RESULTS
ACTUAL RESULTS
ADDITIONAL INFORMATION
@gundalow gundalow added the bug Something isn't working label Oct 19, 2023
@NilashishC
Copy link
Collaborator

@gundalow Over the last couple of years, the Networking and Cloud content teams have developed multiple Ansible content scaffolding tools (mostly in silos) that were either packaged as Collections or standalone Python scripts that only worked for one of the content verticals individually. The ansible-creator project aims to combine the functionalities of all these aforementioned scaffolding tools into one publicly available unified python package, that serves as an one-stop solution for all Ansible Content developers starting their journey.

The scope of this project is not restricted to scaffolding an initial collection skeleton, but also Ansible plugins and in the future, Ansible Validated Content - all of which will incorporate opinionated best practices from the Ansible Content Teams and beyond. The alpha release available in PyPI right now only supports scaffolding the collection skeleton, but the plugin scaffolding feature is available in the create branch of this repository and is being worked on to be included in a later release.

The initial collection skeleton that this tool "personalizes" and writes to a destination location includes many aspects from the ansible-collections/collection_template and will continue to do so in the future. As for having two separate repository for this, I feel that they don't really overlap with each other. ansible-creator provides more functionalities than copying collection_template to build a new collection.

Regarding the packaged Github Workflows, the collection skeleton references ones that are built by the Networking/Cloud content and Devtools teams. There is an effort going on to build an monolithic workflow which is led by @KB-perByte. We should take a look at the ones you mentioned and compare it with the work that Sagar is already doing.

@cidrblock @tima @trishnaguha Would you like to add anything here?

@cidrblock
Copy link
Collaborator

TY @NilashishC for the recap.

I think @gundalow question is a good one, for now we should make sure the 2 (with regard to collection scaffolding) are in sync as much as possible, or at least don't conflict with each other. Since ansible-creator hasn't been released yet, nor the integration with the VS Code extension, I think we should give this some time to play out and see how this works and get adopted.

Longer term, I could see the collection template being displaced by ansible-creator, or at least generated by it periodically, but we have time before we have to decide that.

Let 's leave this issue open and see how things look in 6-12mo.

@tima
Copy link

tima commented Oct 20, 2023

Excellent summary @NilashishC. I agree with @cidrblock. I believe ansible-creator is the way forward and should aim to replace (in some way) this repo as part of its broader objectives. We'll have to see if the community at large -- customers, partners and contributors alike -- will agree.

@NilashishC NilashishC added question Further information is requested and removed bug Something isn't working labels Oct 25, 2023
@samccann
Copy link

@tima @NilashishC - do you want to open this discussion up on the Ansible forum for more opinions and feedback?

I'd be interested in knowing if the ansible-creator tool can be used by community folks or is it geared more toward certifiec collection creators.

@Andersson007
Copy link
Contributor

The fact that collection_template is widely referred to from our community docs as a source of practical self-documented stuff should be taken into consideration (including for collection requirements purposes). It's just very convenient to see things there. In addition, it's easy to use it as a template (a GH feature) to create other collection repos under the ansible-collections org.
I like @samccann 's idea about discussion this topic on the forum.

@mariolenz
Copy link

bump

@cidrblock
Copy link
Collaborator

There's a few things creator is used for where a github repo doesn't make apply:

Available for programtic use in content generatoring pipelines
Runtime customization of the result based on user input
Private/internal SCMs where the public GH repo may not be available
Secure supplychain/distribution/packaging for RH customers.
Programtic use along side a webUI in walkthroughs in the VsCode extention

That said, I would hope the outcome of creator should reflect the all the effort and best practises that have gone into the collection template.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

7 participants