-
Notifications
You must be signed in to change notification settings - Fork 9
[Vote ends on 2022-03-23] Collections included in Ansible must not use files outside of meta/, plugins/, roles/ and playbooks/ #77
Comments
@ssbarnea if you want to vote on this, you have to write a comment. Reactions are ignored :) |
Ok, +1 |
+1 |
3 similar comments
+1 |
+1 |
+1 |
+1 |
+0 I don't know why I have an uneasy feeling about this one. I can't think of a good reason why any such content would use files outside of those paths. and I don't think anything bad is going to happen by enacting this rule... but can't bring myself to a +1 for some reason 👻 it is a mystery |
@briantist this rule is somewhat a liability shift for #76. Basically it says what happens in the situation "if a collection doesn't work when installed from the Ansible package". With this new rule, it's the collection's fault and they have to fix it. Without this rule, it's our problem (a packaging problem) and we have to figure out which files it needs and have to modify our packaging process so that these files are kept for that specific collection. |
+1 |
1 similar comment
+1 |
+1 |
I'm not aware of any collection that violates this. I'm also not sure how we can actually detect this (except by manual review, or by looking for user error reports when removing files breaks something. |
+1 |
1 similar comment
+1 |
+1 let's make this a rule and do our best to avoid lame-duck grandfathered corner cases we have to get rid of later. We can add "check these directories" to the new-collection checklist until/unless we figure out a way to automate checking. |
Votes:
|
Confirmed: |
…ks/ (#199) * Add new rule on files outside of meta/, plugins/, roles/, and playbooks/. See ansible-community/community-topics#77. * Update collection_requirements.rst Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru> * Update collection_requirements.rst Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru> Co-authored-by: Andrew Klychkov <aaklychkov@mail.ru>
ansible-collections/overview#199 has been merged. Thanks everyone! |
Summary
(See #70 for the discussion)
Amend the collection requirements (https://github.com/ansible-collections/overview/blob/main/collection_requirements.rst) as follows:
Collections MUST not use files outside meta/, plugins/, roles/ and playbooks/ in public plugins, roles and playbooks they contain.
("public" means that internal plugins, roles and playbooks, for example which are part of tests, only used to release the collection, etc. are not affected. Everything that can be used from other collections or user playbooks and roles, as well as playbooks that can be called by FQCN, is public.)
The text was updated successfully, but these errors were encountered: