Closed ehelms closed 4 years ago
Currently, the collection name is
foreman
nitpick, we should probably change that to theforeman
https://galaxy.ansible.com/theforeman
I agree with changing it to foreman-ansible-collection
but I don't necessarily agree with copying the roles/playbooks from Forklift here for 2 main reasons:
If you are going to rename it anyway, you could also use snake case. Much more readable.
Who owns that account on Galaxy?
Looking at https://github.com/ansible-collections/, the repo name might also be ansible_collection_foreman
?
Not strictly married to any variant of the name, tho.
As for the actual content, I'd prefer this to be the place for our entity-management-modules, not for installation roles.
Just a quick update, I do have access to said account on galaxy now and I've updated the owner of the collection to be "theforeman".
Repository/Collection name is still open.
Also, I think @ekohl raised this, we have an ansible inventory plugin somewhere and an ansible callback plugin somewhere else, should these be hosted here too? (not strictly a discussion for this issue, but maybe keeping in mind when deciding on a collection name).
Who owns that account on Galaxy?
I suspect @theforeman/ansible might know.
@xprazak2 already shared the account I believe.
Inventory plugin and callback plugin live in main ansible repo right? I don't think it should live anywhere else.
We mentioned that it can be beneficial to have them live outside of core for an easier release cycle. However, now that we are marked as maintainers it should be easier. That's why we don't need to decide now but it makes sense to at least consider it in naming this collection.
Yeah, I have access to the account, all good on that part.
As I'd like to release the first version to galaxy, we should at least decide on the collection name. I think it should be either foreman
or modules
, resulting in theforeman.foreman
or theforeman.modules
as the full name. As for the repository name, I don't strictly care :)
cc @ehelms @akofink @sean797 @mdellweg @manisha15 @bagasse @fobhep
Does this mean, we end up with playbooks like this?
- name: Create Location
theforeman.foreman.foreman_location:
name: new location
I vote for modules
, for the simple reason that you don't have to write foreman
multiple times
@mdellweg yes, unless you use the collections keyword as documented in https://docs.ansible.com/ansible/devel/dev_guide/collections_tech_preview.html#using-collections
How about resources
? Then you end up with theforeman.resources.foreman_location
. It also doesn't overload modules
which have a special meaning.
Edit: alternative could be entities
Not all modules are about resources. But I can see the point
besides, there is a filter, and maybe more tools
are about to come.
I would not go as far as calling it collection
. In the end foreman
might not be as bad. If someone were to keep a modified/experimental version in their namespace, it would still fit.
Naming things is hard.
Given the folder name, we could also do plugins?
I was thinking about base
but that's also very overloaded. theforeman.essentials.*
perhaps?
Given the folder name, we could also do plugins?
but plugins
is also somewhat reserved in ansible context
So, agree that naming is hard and keep the existing name?
To be clear, what is the existing name? :)
Finally, i would go for foreman
and advise to use the collections
parameter in playbooks.
@ekohl foreman
In that case, yes: I would go for the existing name foreman
.
I'm fine with theforeman.foreman.<module>
as well. Is it possible or useful to have a collection for each plugin? Like theforeman.katello.<module>
and theforeman.foreman_salt.<module>
, basically matching the GitHub organization/repository
.
Possible, yes, but would require more work during release and I'm not sure of the benefits (size is small anyways, and we don't have many different dependencies either).
I vote for foreman
to make it clearer that this is for the Foreman application. It keeps the door open to potentially make future collections targeted at some different aspect of the ecosystem (e.g. theforeman.installer, theforeman.maintenance, theforeman.musicvideos)
:+1: to foreman
With the collection bits now settled, the repo name remains.
Do we have any need to change the repo name? IMHO "Foreman Ansible Modules" is an established name by now and it explains pretty nicely what we ship here, so I'd be in favor of keeping the name for the sake of no change.
My only issue with the name is -
instead of _
, but it is clearly not worth opening that can of worms.
I have been accustomed to that name, too. And i believe, renaming the repository creates a lot broken links and bookmarks and is not worth the pain.
technically GH creates redirects for the old name, so it still should work, but I'd prefer not to rely on that :)
please vote :+1: on this comment if you're in favor of closing this issue as "we did all we could" :)
With the merge of the collections layout and metadata support, I got to thinking if we should re-name this repository (and the collection) based on our intended scope for this project. Currently, the collection name is
foreman
which implies an all-encompassing scope for what will live in this collection under the Foreman namespace. That would imply to me that we could bring on board roles and playbooks associated to the management and installation of Foreman as well letting this repository move from being module focused to Foreman community focused. In which case I would suggest we move to name this repository toforeman-ansible-collection
.Alternatively, we keep this repository focused on modules for managing entities within Foreman and change the collection name to reflect this. Leaving open the possibility for collections within the namespace such as for installation and management (e.g. converting Forklift's set of roles / playbooks) to a collection.