Note
This plugin is part of the community.docker collection (version 1.2.2).
To install it use: ansible-galaxy collection install community.docker
.
To use it in a playbook, specify: community.docker.docker_swarm
.
The below requirements are needed on the local controller node that executes this inventory.
Parameter | Choices/Defaults | Configuration | Comments |
---|---|---|---|
api_version string | The version of the Docker API running on the Docker Host. Defaults to the latest version of the API supported by docker-py. aliases: docker_api_version | ||
ca_cert path | Use a CA certificate when performing server verification by providing the path to a CA certificate file. aliases: tls_ca_cert, cacert_path | ||
client_cert path | Path to the client's TLS certificate file. aliases: tls_client_cert, cert_path | ||
client_key path | Path to the client's TLS key file. aliases: tls_client_key, key_path | ||
compose dictionary | Default: {} | Create vars from jinja2 expressions. | |
docker_host string / required | Socket of a Docker swarm manager node ( tcp , unix ).Use unix://var/run/docker.sock to connect via local socket.aliases: docker_url | ||
groups dictionary | Default: {} | Add hosts to group based on Jinja2 conditionals. | |
include_host_uri boolean |
| Toggle to return the additional attribute ansible_host_uri which contains the URI of the swarm leader in format of tcp://172.16.0.1:2376 . This value may be used without additional modification as value of option docker_host in Docker Swarm modules when connecting via API. The port always defaults to 2376 . | |
include_host_uri_port integer | Override the detected port number included in ansible_host_uri
| ||
keyed_groups list / elements=string | Default: [] | Add hosts to group based on the values of a variable. | |
leading_separator boolean added in 2.11 of ansible.builtin |
| Use in conjunction with keyed_groups. By default, a keyed group that does not have a prefix or a separator provided will have a name that starts with an underscore. This is because the default prefix is "" and the default separator is "_". Set this option to False to omit the leading underscore (or other separator) if no prefix is given. If the group name is derived from a mapping the separator is still used to concatenate the items. To not use a separator in the group name at all, set the separator for the keyed group to an empty string instead. | |
plugin string / required |
| The name of this plugin, it should always be set to community.docker.docker_swarm for this plugin to recognize it as it's own. | |
ssl_version string | Provide a valid SSL version number. Default value determined by ssl.py module. | ||
strict boolean |
| If yes make invalid entries a fatal error, otherwise skip and continue.Since it is possible to use facts in the expressions they might not always be available and we ignore those errors by default. | |
timeout integer | Default: 60 | The maximum amount of time in seconds to wait on a response from the API. If the value is not specified in the task, the value of environment variable DOCKER_TIMEOUT will be used instead. If the environment variable is not set, the default value will be used.aliases: time_out | |
tls boolean |
| Connect using TLS without verifying the authenticity of the Docker host server. | |
tls_hostname string | When verifying the authenticity of the Docker host server, provide the expected name of the server. | ||
use_extra_vars boolean added in 2.11 of ansible.builtin |
| ini entries: [inventory_plugins] env:ANSIBLE_INVENTORY_USE_EXTRA_VARS | Merge extra vars into the available variables for composition (highest precedence). |
validate_certs boolean |
| Toggle if connecting using TLS with or without verifying the authenticity of the Docker host server. aliases: tls_verify | |
verbose_output boolean |
| Toggle to (not) include all available nodes metadata (e.g. Platform , Architecture , OS , EngineVersion ) |
# Minimal example using local docker plugin: community.docker.docker_swarm docker_host: unix://var/run/docker.sock # Minimal example using remote docker plugin: community.docker.docker_swarm docker_host: tcp://my-docker-host:2375 # Example using remote docker with unverified TLS plugin: community.docker.docker_swarm docker_host: tcp://my-docker-host:2376 tls: yes # Example using remote docker with verified TLS and client certificate verification plugin: community.docker.docker_swarm docker_host: tcp://my-docker-host:2376 validate_certs: yes ca_cert: /somewhere/ca.pem client_key: /somewhere/key.pem client_cert: /somewhere/cert.pem # Example using constructed features to create groups and set ansible_host plugin: community.docker.docker_swarm docker_host: tcp://my-docker-host:2375 strict: False keyed_groups: # add e.g. x86_64 hosts to an arch_x86_64 group - prefix: arch key: 'Description.Platform.Architecture' # add e.g. linux hosts to an os_linux group - prefix: os key: 'Description.Platform.OS' # create a group per node label # e.g. a node labeled w/ "production" ends up in group "label_production" # hint: labels containing special characters will be converted to safe names - key: 'Spec.Labels' prefix: label
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/docker/docker_swarm_inventory.html