-
Notifications
You must be signed in to change notification settings - Fork 9
Collections included in Ansible should not use files outside of meta/, plugins/, roles/ and playbooks/ #70
Comments
This seems like a timely, smart preventive measure that will help keep the Ansible package from getting bloated by extra files. |
I think this list looks good. I've definitely seen collections (not currently in the Ansible package) that use things like samples/ or examples/ but those cases would be able to be moved to playbooks/ or roles/, so the use case is covered. I can't think of anything else that is missing. |
Good idea. This would make it very easy to strip down Ansible by having a whitelist of files and directories to include instead of managing a list of things to exclude. |
as a group that uses examples and playbooks, I still think this is a good idea. Examples in our case are made to be additional documentation, though I don't know how many users actually use those files. Its still good for the repo to have the, but don't need to be an ansible-core install, even though we likely will never be included in our current form |
I don't agree. I should say that samples / examples are a kind of documentation and shouldn't go into
It's OT for this discussion, but should there be a guidance where to put examples? Collection directories and files doesn't know about an Or should examples go into the Would it be worth to start a discussion on this? I don't know, just wanted to raise the question. |
In @mariolenz I think it's worth to start a discussion on that. Feel free to create a discussion issue :) |
@felixfontein this is the collection reference I'm fine with it only being on our repo, as its not displayed in Automation hub/galaxy, and I very much doubt that users go into the collection install folder that deep to look for that documentation. its mostly the website and the galaxy/hub. |
@sean-m-sullivan thanks for the link! BTW, when I looked at some of the roles, I noticed that they don't provide a role argument spec. It might be worth adding one, this also makes the roles discoverable with
I fully agree! I expect users to use (And collections included in the Ansible package are not even installed in regular collection installation directories, but in Python's |
I created #73 for this. |
Summary
This came up in #65 (comment). If we want to start excluding files from installed collections in the Ansible install, we should make sure (somehow) that these files are not needed by the collection.
I propose to extend the inclusion collection requirements to require that modules, plugins, roles and playbooks included in the collection (that are targetted at users) should not use any file from the collection except files in
(I think playbooks can be launched by FQCN, that's why I added them here. I haven't used that feature so far, and I'm not sure if any collection in Ansible actually has such playbooks which are targetted for consumption by users, but since that feature exists we should not prevent collections from using it.)
As the first step, let's dicuss whether this makes sense. Afterwards, we can tackle a concrete formulation (assuming we can find some consensus for that) and finally vote on it.
Additional Information
No response
The text was updated successfully, but these errors were encountered: