Use "name" when possible rather than "src" to make the examples of roles and collections in a single requirements files more coherenant. Fundamentally, roles and collections are completely different. But we can make the requiremets file easier to read by unifying the format as much as possible.
38 lines
1.3 KiB
Text
38 lines
1.3 KiB
Text
|
|
You can also setup a ``requirements.yml`` file to install multiple collections in one command. This file is a YAML file in the format:
|
|
|
|
.. code-block:: yaml+jinja
|
|
|
|
---
|
|
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)'
|
|
|
|
The ``version`` key can take in the same range identifier format documented above.
|
|
|
|
Roles can also be specified and placed under the ``roles`` key. The values follow the same format as a requirements
|
|
file used in older Ansible releases.
|
|
|
|
.. code-block:: yaml
|
|
|
|
---
|
|
roles:
|
|
# Install a role from Ansible Galaxy.
|
|
- name: geerlingguy.java
|
|
version: 1.9.6
|
|
|
|
collections:
|
|
# Install a collection from Ansible Galaxy.
|
|
- name: geerlingguy.php_roles
|
|
version: 0.9.3
|
|
source: https://galaxy.ansible.com
|
|
|
|
.. note::
|
|
While both roles and collections can be specified in one requirements file, they need to be installed separately.
|
|
The ``ansible-galaxy role install -r requirements.yml`` will only install roles and
|
|
``ansible-galaxy collection install -r requirements.yml -p ./`` will only install collections.
|