# ansible-galaxy

Perform various Role and Collection related operations.

- Synopsis
- Description
- Common Options
- Actions
  - collection
    - collection init
    - collection build
    - collection publish
    - collection install
  - role
    - role init
    - role remove
    - role delete
    - role list
    - role search
    - role import
    - role setup
    - role login
    - role info
    - role install
- Environment
- Files
- Author
- License
- See also

## Synopsis

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

## Description

command to manage Ansible roles in shared repositories, the default of which is Ansible Galaxy https://galaxy.ansible.com.

## 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```

  verbose mode (-vvv for more, -vvvv to enable connection debugging)

## Actions

### collection

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

#### 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>`.

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`--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.

`-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).

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`--output-path``<OUTPUT_PATH>`

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

`-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.

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`--import-timeout``<IMPORT_TIMEOUT>`

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

`--no-wait```

  Don’t wait for import validation results.

`-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.

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`--force-with-deps```

  Force overwriting an existing collection and its dependencies.

`-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

### 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>`.

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`--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.

`--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.

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`-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/roles:/usr/share/ansible/roles:/etc/ansible/roles

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

  The Galaxy API server URL

#### role delete

Delete a role from Ansible Galaxy.

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`-c````,` `--ignore-certs```

  Ignore SSL certificate validation errors.

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

  The Galaxy API server URL

#### role list

lists the roles installed on the local system or matches a single role passed as an argument.

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`-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/roles:/usr/share/ansible/roles:/etc/ansible/roles

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

  The Galaxy API server URL

#### role search

searches for roles on the Ansible Galaxy server

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`--author``<AUTHOR>`

  GitHub username

`--galaxy-tags``<GALAXY_TAGS>`

  list of galaxy tags to filter by

`--platforms``<PLATFORMS>`

  list of OS platforms to filter by

`-c````,` `--ignore-certs```

  Ignore SSL certificate validation errors.

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

  The Galaxy API server URL

#### role import

used to import a role into Ansible Galaxy

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`--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.

`-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

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`--list```

  List all of your integrations.

`--remove``<REMOVE_ID>`

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

`-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/roles:/usr/share/ansible/roles:/etc/ansible/roles

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

  The Galaxy API server URL

#### role login

verify user’s identify via Github and retrieve an auth token from Ansible Galaxy.

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`--github-token``<TOKEN>`

  Identify with github token rather than username and password.

`-c````,` `--ignore-certs```

  Ignore SSL certificate validation errors.

`-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.

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`--offline```

  Don’t query the galaxy API when creating roles

`-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/roles:/usr/share/ansible/roles:/etc/ansible/roles

`-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.

`--api-key``<API_KEY>`

  The Ansible Galaxy API key which can be found at https://galaxy.ansible.com/me/preferences. You can also use ansible-galaxy login to retrieve this key or set the token for the GALAXY_SERVER_LIST entry.

`--force-with-deps```

  Force overwriting an existing role and its dependencies.

`-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/roles:/usr/share/ansible/roles:/etc/ansible/roles

`-r``<ROLE_FILE>``,` `--role-file``<ROLE_FILE>`

  A file containing a list of roles to be imported.

`-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-galaxy(1), ansible-inventory(1), ansible-playbook(1), ansible-pull(1), ansible-vault(1),