Add requirements.yaml specification support to collection sync
Requirements with requirements.yml:¶
We would like to have the ability to use the requirements.yml documented here: https://docs.ansible.com/ansible/devel/dev_guide/collections_tech_preview.html#install-multiple-collections-with-a-requirements-file
--- collections: # With just the collection name - my_namespace.my_collection # With the collection name, version, and source options - name: my_namespace.my_other_collection version: 'version range identifiers (default: ``*``)' source: 'The Galaxy URL to pull the collection from (default: ``--api-server`` from cmdline)'
This would sync the collection my_namespace.my_collection and the specified version of my_namespace.my_other_collection. The version specification would be similar to https://docs.ansible.com/ansible/devel/dev_guide/collections_tech_preview.html#installing-an-older-version-of-a-collection
The field on the CollectionRemote should be called
Validation of data Requirement¶
Note that Pulp expects to have all content from a single source and does not expect to have sources defined per content item (as the "source" field allows in this spec). As such, Pulp should not accept a requirements.yaml that contains a definition for "source". If specified when creating/saving a remote it should be rejected as invalid with a message from the user.
Updated by bmbouter over 3 years ago
So to confirm, the idea is that this would store a text blob (like the copy/pasted contents of a requirements.yaml) ?
If so, I think that would work fine, but the "source" option could be challenging. Specifically, the Remote.url specified the remote source to pull all content from, but this spec allows for that remote to be item, by, item.
How should pulp_ansible work when the user specifies remote A to be galaxy.ansible.com and the "source" field says example.com ?
Updated by Anonymous over 3 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset pulp_ansible|ab9905429c131a8b2fb56a5504f3542d69075b6a.