diff --git a/collection_checklist.md b/collection_checklist.md index e54497e..511005d 100644 --- a/collection_checklist.md +++ b/collection_checklist.md @@ -27,6 +27,7 @@ Every comment should say whether the reviewer expects it to be addressed, or whe - [ ] modules (or plugins) from ansible-core use `ansible.builtin.` as a FQCN prefix - [ ] documentation and return sections use `version_added:` containing the *collection* version for which an option, module or plugin was added - [ ] FQCNs are used for `extends_documentation_fragment:`, unless you are referring to doc_fragments from ansible-core +- [ ] public plugins, roles and playbooks do not use files outside of `meta/`, `plugins/`, `roles/`, and `playbooks/` **Collection management:** - [ ] `galaxy.yml` having `tags` field set diff --git a/collection_requirements.rst b/collection_requirements.rst index d234fe2..129c070 100644 --- a/collection_requirements.rst +++ b/collection_requirements.rst @@ -156,6 +156,13 @@ Modules & Plugins The core team (which maintains ansible-core) has committed not to use these directories for anything which would conflict with the uses we've specified. +Other directories +----------------- + +Collections MUST not use files outside ``meta/``, ``plugins/``, ``roles/`` and ``playbooks/`` in public plugins, roles and playbooks they contain. They must work if every file or directory is deleted from the installed collection except these directories and their contents. + +In the previous paragraph, `"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. + Documentation ~~~~~~~~~~~~~~