ansible-galaxy

Perform various Role and Collection related operations.

Synopsis

usage: ansible-galaxy [-h] [--version] [-v] TYPE ...

Description

Command to manage Ansible roles and collections.

None of the CLI tools are designed to run concurrently with themselves. Use an external scheduler and/or locking to ensure there are no clashing operations.

Common Options

--version

show program’s version number, config file location, configured module search path, module location, executable location and exit

-h, --help

show this help message and exit

-v, --verbose

Causes Ansible to print more debug messages. Adding multiple -v will increase the verbosity, the builtin plugins currently evaluate up to -vvvvvv. A reasonable level to start is -vvv, connection debugging might require -vvvv. This argument may be specified multiple times.

Actions

collection

Perform the action on an Ansible Galaxy collection. Must be combined with a further action like init/install as listed below.

collection download

Download collections and their dependencies as a tarball for an offline install.

--clear-response-cache

Clear the existing server response cache.

--no-cache

Do not use the server response cache.

--pre

Include pre-release versions. Semantic versioning pre-releases are ignored by default

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-n, --no-deps

Don’t download collection(s) listed as dependencies.

-p  <DOWNLOAD_PATH>, --download-path  <DOWNLOAD_PATH>

The directory to download the collections to.

-r  <REQUIREMENTS>, --requirements-file  <REQUIREMENTS>

A file containing a list of collections to be downloaded.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

collection init

Creates the skeleton framework of a role or collection that complies with the Galaxy metadata format. Requires a role or collection name. The collection name must be in the format <namespace>.<collection>.

--collection-skeleton  <COLLECTION_SKELETON>

The path to a collection skeleton that the new collection should be based upon.

--init-path  <INIT_PATH>

The path in which the skeleton collection will be created. The default is the current working directory.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-f, --force

Force overwriting an existing role or collection

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

collection build

Build an Ansible Galaxy collection artifact that can be stored in a central repository like Ansible Galaxy. By default, this command builds from the current working directory. You can optionally pass in the collection input path (where the galaxy.yml file is).

--output-path  <OUTPUT_PATH>

The path in which the collection is built to. The default is the current working directory.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-f, --force

Force overwriting an existing role or collection

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

collection publish

Publish a collection into Ansible Galaxy. Requires the path to the collection tarball to publish.

--import-timeout  <IMPORT_TIMEOUT>

The time to wait for the collection import process to finish.

--no-wait

Don’t wait for import validation results.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

collection install

Install one or more roles(ansible-galaxy role install), or one or more collections(ansible-galaxy collection install). You can pass in a list (roles or collections) or use the file option listed below (these are mutually exclusive). If you pass in a list, it can be a name (which will be downloaded via the galaxy API and github), or it can be a local tar archive file.

--clear-response-cache

Clear the existing server response cache.

--disable-gpg-verify

Disable GPG signature verification when installing collections from a Galaxy server

--force-with-deps

Force overwriting an existing collection and its dependencies.

--ignore-signature-status-code

==SUPPRESS==. This argument may be specified multiple times.

--ignore-signature-status-codes

A space separated list of status codes to ignore during signature verification (for example, NO_PUBKEY FAILURE). Descriptions for the choices can be seen at L(https://github.com/gpg/gnupg/blob/master/doc/DETAILS#general-status-codes).Note: specify these after positional arguments or use – to separate them. This argument may be specified multiple times.

--keyring  <KEYRING>

The keyring used during signature verification

--no-cache

Do not use the server response cache.

--offline

Install collection artifacts (tarballs) without contacting any distribution servers. This does not apply to collections in remote Git repositories or URLs to remote tarballs.

--pre

Include pre-release versions. Semantic versioning pre-releases are ignored by default

--required-valid-signature-count  <REQUIRED_VALID_SIGNATURE_COUNT>

The number of signatures that must successfully verify the collection. This should be a positive integer or -1 to signify that all signatures must be used to verify the collection. Prepend the value with + to fail if no valid signatures are found for the collection (e.g. +all).

--signature

An additional signature source to verify the authenticity of the MANIFEST.json before installing the collection from a Galaxy server. Use in conjunction with a positional collection name (mutually exclusive with –requirements-file). This argument may be specified multiple times.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-U, --upgrade

Upgrade installed collection artifacts. This will also update dependencies unless –no-deps is provided

-c, --ignore-certs

Ignore SSL certificate validation errors.

-f, --force

Force overwriting an existing role or collection

-i, --ignore-errors

Ignore errors during installation and continue with the next specified collection. This will not ignore dependency conflict errors.

-n, --no-deps

Don’t download collections listed as dependencies.

-p  <COLLECTIONS_PATH>, --collections-path  <COLLECTIONS_PATH>

The path to the directory containing your collections.

-r  <REQUIREMENTS>, --requirements-file  <REQUIREMENTS>

A file containing a list of collections to be installed.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

collection list

List installed collections or roles

--format  <OUTPUT_FORMAT>

Format to display the list of collections in.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-p, --collections-path

One or more directories to search for collections in addition to the default COLLECTIONS_PATHS. Separate multiple paths with ‘:’. This argument may be specified multiple times.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

collection verify

Compare checksums with the collection(s) found on the server and the installed copy. This does not verify dependencies.

--ignore-signature-status-code

==SUPPRESS==. This argument may be specified multiple times.

--ignore-signature-status-codes

A space separated list of status codes to ignore during signature verification (for example, NO_PUBKEY FAILURE). Descriptions for the choices can be seen at L(https://github.com/gpg/gnupg/blob/master/doc/DETAILS#general-status-codes).Note: specify these after positional arguments or use – to separate them. This argument may be specified multiple times.

--keyring  <KEYRING>

The keyring used during signature verification

--offline

Validate collection integrity locally without contacting server for canonical manifest hash.

--required-valid-signature-count  <REQUIRED_VALID_SIGNATURE_COUNT>

The number of signatures that must successfully verify the collection. This should be a positive integer or all to signify that all signatures must be used to verify the collection. Prepend the value with + to fail if no valid signatures are found for the collection (e.g. +all).

--signature

An additional signature source to verify the authenticity of the MANIFEST.json before using it to verify the rest of the contents of a collection from a Galaxy server. Use in conjunction with a positional collection name (mutually exclusive with –requirements-file). This argument may be specified multiple times.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-i, --ignore-errors

Ignore errors during verification and continue with the next specified collection.

-p, --collections-path

One or more directories to search for collections in addition to the default COLLECTIONS_PATHS. Separate multiple paths with ‘:’. This argument may be specified multiple times.

-r  <REQUIREMENTS>, --requirements-file  <REQUIREMENTS>

A file containing a list of collections to be verified.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

role

Perform the action on an Ansible Galaxy role. Must be combined with a further action like delete/install/init as listed below.

role init

Creates the skeleton framework of a role or collection that complies with the Galaxy metadata format. Requires a role or collection name. The collection name must be in the format <namespace>.<collection>.

--init-path  <INIT_PATH>

The path in which the skeleton role will be created. The default is the current working directory.

--offline

Don’t query the galaxy API when creating roles

--role-skeleton  <ROLE_SKELETON>

The path to a role skeleton that the new role should be based upon.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

--type  <ROLE_TYPE>

Initialize using an alternate role type. Valid types include: ‘container’, ‘apb’ and ‘network’.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-f, --force

Force overwriting an existing role or collection

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

role remove

removes the list of roles passed as arguments from the local system.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-p, --roles-path

The path to the directory containing your roles. The default is the first writable one configured via DEFAULT_ROLES_PATH: {{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }} . This argument may be specified multiple times.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

role delete

Delete a role from Ansible Galaxy.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

role list

List installed collections or roles

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-p, --roles-path

The path to the directory containing your roles. The default is the first writable one configured via DEFAULT_ROLES_PATH: {{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }} . This argument may be specified multiple times.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

role import

used to import a role into Ansible Galaxy

--branch  <REFERENCE>

The name of a branch to import. Defaults to the repository’s default branch (usually master)

--no-wait

Don’t wait for import results.

--role-name  <ROLE_NAME>

The name the role should have, if different than the repo name

--status

Check the status of the most recent import request for given github_user/github_repo.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

role setup

Setup an integration from Github or Travis for Ansible Galaxy roles

--list

List all of your integrations.

--remove  <REMOVE_ID>

Remove the integration matching the provided ID value. Use –list to see ID values.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-p, --roles-path

The path to the directory containing your roles. The default is the first writable one configured via DEFAULT_ROLES_PATH: {{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }} . This argument may be specified multiple times.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

role info

prints out detailed information about an installed role as well as info available from the galaxy API.

--offline

Don’t query the galaxy API when creating roles

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-p, --roles-path

The path to the directory containing your roles. The default is the first writable one configured via DEFAULT_ROLES_PATH: {{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }} . This argument may be specified multiple times.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

role install

Install one or more roles(ansible-galaxy role install), or one or more collections(ansible-galaxy collection install). You can pass in a list (roles or collections) or use the file option listed below (these are mutually exclusive). If you pass in a list, it can be a name (which will be downloaded via the galaxy API and github), or it can be a local tar archive file.

--force-with-deps

Force overwriting an existing role and its dependencies.

--timeout  <TIMEOUT>

The time to wait for operations against the galaxy server, defaults to 60s.

--token  <API_KEY>, --api-key  <API_KEY>

The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences.

-c, --ignore-certs

Ignore SSL certificate validation errors.

-f, --force

Force overwriting an existing role or collection

-g, --keep-scm-meta

Use tar instead of the scm archive option when packaging the role.

-i, --ignore-errors

Ignore errors and continue with the next specified role.

-n, --no-deps

Don’t download roles listed as dependencies.

-p, --roles-path

The path to the directory containing your roles. The default is the first writable one configured via DEFAULT_ROLES_PATH: {{ ANSIBLE_HOME ~ “/roles:/usr/share/ansible/roles:/etc/ansible/roles” }} . This argument may be specified multiple times.

-r  <REQUIREMENTS>, --role-file  <REQUIREMENTS>

A file containing a list of roles to be installed.

-s  <API_SERVER>, --server  <API_SERVER>

The Galaxy API server URL

Environment

The following environment variables may be specified.

ANSIBLE_CONFIG – Override the default ansible config file

Many more are available for most options in ansible.cfg

Files

/etc/ansible/ansible.cfg – Config file, used if present

~/.ansible.cfg – User config file, overrides the default config if present

Author

Ansible was originally written by Michael DeHaan.

See the AUTHORS file for a complete list of contributors.

License

Ansible is released under the terms of the GPLv3+ License.

See also

ansible(1), ansible-config(1), ansible-console(1), ansible-doc(1), ansible-inventory(1), ansible-playbook(1), ansible-pull(1), ansible-vault(1)