384 lines
8.9 KiB
Text
384 lines
8.9 KiB
Text
ansible-galaxy(1)
|
|
===================
|
|
:doctype: manpage
|
|
:man source: Ansible
|
|
:man version: %VERSION%
|
|
:man manual: System administration commands
|
|
|
|
NAME
|
|
----
|
|
ansible-galaxy - manage roles using galaxy.ansible.com
|
|
|
|
|
|
SYNOPSIS
|
|
--------
|
|
ansible-galaxy [delete|import|info|init|install|list|login|remove|search|setup] [--help] [options] ...
|
|
|
|
|
|
DESCRIPTION
|
|
-----------
|
|
|
|
*Ansible Galaxy* is a shared repository for Ansible roles.
|
|
The ansible-galaxy command can be used to manage these roles,
|
|
or for creating a skeleton framework for roles you'd like to upload to Galaxy.
|
|
|
|
COMMON OPTIONS
|
|
--------------
|
|
|
|
*-h*, *--help*::
|
|
|
|
Show a help message related to the given sub-command.
|
|
|
|
INSTALL
|
|
-------
|
|
|
|
The *install* sub-command is used to install roles.
|
|
|
|
USAGE
|
|
~~~~~
|
|
|
|
$ ansible-galaxy install [options] [-r FILE | role_name(s)[,version] | tar_file(s)]
|
|
|
|
Roles can be installed in several different ways:
|
|
|
|
* A username.rolename[,version] - this will install a single role. The Galaxy
|
|
API will be contacted to provide the information about the role, and the
|
|
corresponding .tar.gz will be downloaded from *github.com*. If the version
|
|
is omitted, the most recent version available will be installed.
|
|
|
|
* A file name, using *-r* - this will install multiple roles listed one per
|
|
line. The format of each line is the same as above: username.rolename[,version]
|
|
|
|
* A .tar.gz of a valid role you've downloaded directly from *github.com*. This
|
|
is mainly useful when the system running Ansible does not have access to
|
|
the Galaxy API, for instance when behind a firewall or proxy.
|
|
|
|
|
|
OPTIONS
|
|
~~~~~~~
|
|
|
|
*-f*, *--force*::
|
|
|
|
Force overwriting an existing 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', *--roles-path=*'ROLES_PATH'::
|
|
|
|
The path to the directory containing your roles. The default is the *roles_path*
|
|
configured in your *ansible.cfg* file (/etc/ansible/roles if not configured)
|
|
|
|
*-r* 'ROLE_FILE', *--role-file=*'ROLE_FILE'::
|
|
|
|
A file containing a list of roles to be imported, as specified above. This
|
|
option cannot be used if a rolename or .tar.gz have been specified.
|
|
|
|
REMOVE
|
|
------
|
|
|
|
The *remove* sub-command is used to remove one or more roles.
|
|
|
|
USAGE
|
|
~~~~~
|
|
|
|
$ ansible-galaxy remove role1 role2 ...
|
|
|
|
OPTIONS
|
|
~~~~~~~
|
|
|
|
*-p* 'ROLES_PATH', *--roles-path=*'ROLES_PATH'::
|
|
|
|
The path to the directory containing your roles. The default is the *roles_path*
|
|
configured in your *ansible.cfg* file (/etc/ansible/roles if not configured)
|
|
|
|
INIT
|
|
----
|
|
|
|
The *init* command is used to create a new role suitable for uploading
|
|
to https://galaxy.ansible.com (or for roles in general). Creates a skeleton
|
|
directory structure and default files.
|
|
|
|
USAGE
|
|
~~~~~
|
|
|
|
$ ansible-galaxy init [options] role_name
|
|
|
|
OPTIONS
|
|
~~~~~~~
|
|
|
|
*-f*, *--force*::
|
|
|
|
Force overwriting an existing role.
|
|
|
|
*-p* 'INIT_PATH', *--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
|
|
|
|
*--container-enabled*::
|
|
|
|
Initialize the new role with files appropriate for a Container Enabled role.
|
|
|
|
*--role-skeleton=*'ROLE_SKELETON'::
|
|
|
|
By default a new role is based on a template delivered with Ansible. Use
|
|
this option to provide an alternate template. Specify a path to a directory
|
|
that contains subdirectories and Jinja templates from which to base the new
|
|
role. Alternatively, the role_skeleton option can be configured in
|
|
*ansible.cfg*.
|
|
|
|
LIST
|
|
----
|
|
|
|
The *list* sub-command is used to show what roles are currently installed.
|
|
You can specify a role name, and if installed only that role will be shown.
|
|
|
|
USAGE
|
|
~~~~~
|
|
|
|
$ ansible-galaxy list [role_name]
|
|
|
|
OPTIONS
|
|
~~~~~~~
|
|
|
|
*-p* 'ROLES_PATH', *--roles-path=*'ROLES_PATH'::
|
|
|
|
The path to the directory containing your roles. The default is the *roles_path*
|
|
configured in your *ansible.cfg* file (/etc/ansible/roles if not configured)
|
|
|
|
|
|
SEARCH
|
|
------
|
|
|
|
The *search* sub-command returns a filtered list of roles found on the remote
|
|
server.
|
|
|
|
|
|
USAGE
|
|
~~~~~
|
|
|
|
$ ansible-galaxy search [options] [searchterm1 searchterm2]
|
|
|
|
|
|
OPTIONS
|
|
~~~~~~~
|
|
*--galaxy-tags*::
|
|
|
|
Provide a comma separated list of Galaxy Tags on which to filter.
|
|
|
|
*--platforms*::
|
|
|
|
Provide a comma separated list of Platforms on which to filter.
|
|
|
|
*--author*::
|
|
|
|
Specify the username of a Galaxy contributor on which to filter.
|
|
|
|
*-c*, *--ignore-certs*::
|
|
|
|
Ignore TLS certificate errors.
|
|
|
|
*-s*, *--server*::
|
|
|
|
Override the default server https://galaxy.ansible.com.
|
|
|
|
|
|
INFO
|
|
----
|
|
|
|
The *info* sub-command shows detailed information for a specific role.
|
|
Details returned about the role included information from the local copy
|
|
as well as information from galaxy.ansible.com.
|
|
|
|
USAGE
|
|
~~~~~
|
|
|
|
$ ansible-galaxy info [options] role_name[, version]
|
|
|
|
OPTIONS
|
|
~~~~~~~
|
|
|
|
*-p* 'ROLES_PATH', *--roles-path=*'ROLES_PATH'::
|
|
|
|
The path to the directory containing your roles. The default is the *roles_path*
|
|
configured in your *ansible.cfg* file (/etc/ansible/roles if not configured)
|
|
|
|
*-c*, *--ignore-certs*::
|
|
|
|
Ignore TLS certificate errors.
|
|
|
|
*-s*, *--server*::
|
|
|
|
Override the default server https://galaxy.ansible.com.
|
|
|
|
|
|
LOGIN
|
|
-----
|
|
|
|
The *login* sub-command is used to authenticate with galaxy.ansible.com.
|
|
Authentication is required to use the import, delete and setup commands.
|
|
It will authenticate the user, retrieve a token from Galaxy, and store it
|
|
in the user's home directory.
|
|
|
|
USAGE
|
|
~~~~~
|
|
|
|
$ ansible-galaxy login [options]
|
|
|
|
The *login* sub-command prompts for a *GitHub* username and password. It does
|
|
NOT send your password to Galaxy. It actually authenticates with GitHub and
|
|
creates a personal access token. It then sends the personal access token to
|
|
Galaxy, which in turn verifies that you are you and returns a Galaxy access
|
|
token. After authentication completes the *GitHub* personal access token is
|
|
destroyed.
|
|
|
|
If you do not wish to use your GitHub password, or if you have two-factor
|
|
authentication enabled with GitHub, use the *--github-token* option to pass a
|
|
personal access token that you create. Log into GitHub, go to Settings and
|
|
click on Personal Access Token to create a token.
|
|
|
|
OPTIONS
|
|
~~~~~~~
|
|
|
|
*-c*, *--ignore-certs*::
|
|
|
|
Ignore TLS certificate errors.
|
|
|
|
*-s*, *--server*::
|
|
|
|
Override the default server https://galaxy.ansible.com.
|
|
|
|
*--github-token*::
|
|
|
|
Authenticate using a *GitHub* personal access token rather than a password.
|
|
|
|
|
|
IMPORT
|
|
------
|
|
|
|
Import a role from *GitHub* to galaxy.ansible.com. Requires the user first
|
|
authenticate with galaxy.ansible.com using the *login* subcommand.
|
|
|
|
USAGE
|
|
~~~~~
|
|
|
|
$ ansible-galaxy import [options] github_user github_repo
|
|
|
|
OPTIONS
|
|
~~~~~~~
|
|
*-c*, *--ignore-certs*::
|
|
|
|
Ignore TLS certificate errors.
|
|
|
|
*-s*, *--server*::
|
|
|
|
Override the default server https://galaxy.ansible.com.
|
|
|
|
*--branch*::
|
|
|
|
Provide a specific branch to import. When a branch is not specified the
|
|
branch found in meta/main.yml is used. If no branch is specified in
|
|
meta/main.yml, the repo's default branch (usually master) is used.
|
|
|
|
*--role-name*::
|
|
|
|
Set the name of the role. Otherwise, the name is derived from the
|
|
name of the GitHub repository.
|
|
|
|
DELETE
|
|
------
|
|
|
|
The *delete* sub-command will delete a role from galaxy.ansible.com. Requires
|
|
the user first authenticate with galaxy.ansible.com using the *login* subcommand.
|
|
|
|
USAGE
|
|
~~~~~
|
|
|
|
$ ansible-galaxy delete [options] github_user github_repo
|
|
|
|
OPTIONS
|
|
~~~~~~~
|
|
|
|
*-c*, *--ignore-certs*::
|
|
|
|
Ignore TLS certificate errors.
|
|
|
|
*-s*, *--server*::
|
|
|
|
Override the default server https://galaxy.ansible.com.
|
|
|
|
|
|
SETUP
|
|
-----
|
|
|
|
The *setup* sub-command creates an integration point for *Travis CI*, enabling
|
|
galaxy.ansible.com to receive notifications from *Travis* on build completion.
|
|
Requires the user first authenticate with galaxy.ansible.com using the *login*
|
|
subcommand.
|
|
|
|
USAGE
|
|
~~~~~
|
|
|
|
$ ansible-galaxy setup [options] source github_user github_repo secret
|
|
|
|
* Use *travis* as the source value. In the future additional source values may
|
|
be added.
|
|
|
|
* Provide your *Travis* user token as the secret. The token is not stored by
|
|
galaxy.ansible.com. A hash is created using github_user, github_repo
|
|
and your token. The hash value is what actually gets stored.
|
|
|
|
OPTIONS
|
|
~~~~~~~
|
|
|
|
*-c*, *--ignore-certs*::
|
|
|
|
Ignore TLS certificate errors.
|
|
|
|
*-s*, *--server*::
|
|
|
|
Override the default server https://galaxy.ansible.com.
|
|
|
|
--list::
|
|
|
|
Show your configured integrations. Provides the ID of each integration
|
|
which can be used with the remove option.
|
|
|
|
--remove::
|
|
|
|
Remove a specific integration. Provide the ID of the integration to
|
|
be removed.
|
|
|
|
AUTHOR
|
|
------
|
|
|
|
Ansible was originally written by Michael DeHaan. See the AUTHORS file
|
|
for a complete list of contributors.
|
|
|
|
|
|
COPYRIGHT
|
|
---------
|
|
|
|
Copyright © 2014, Michael DeHaan
|
|
|
|
Ansible is released under the terms of the GPLv3 License.
|
|
|
|
|
|
SEE ALSO
|
|
--------
|
|
|
|
*ansible*(1), *ansible-pull*(1), *ansible-doc*(1), *ansible-playbook*(1), *ansible-vault*(1)
|
|
|
|
Extensive documentation is available in the documentation site:
|
|
<http://docs.ansible.com>. IRC and mailing list info can be found
|
|
in file CONTRIBUTING.md, available in: <https://github.com/ansible/ansible>
|