community.docker.docker_stack – docker stack module
Note
This plugin is part of the community.docker collection (version 1.10.0).
You might already have this collection installed if you are using the ansible
package. It is not included in ansible-core
. To check whether it is installed, run ansible-galaxy collection list
.
To install it, use: ansible-galaxy collection install community.docker
.
To use it in a playbook, specify: community.docker.docker_stack
.
Synopsis
- Manage docker stacks using the ‘docker stack’ command on the target node (see examples).
Requirements
The below requirements are needed on the host that executes this module.
- jsondiff
- pyyaml
Parameters
Parameter | Choices/Defaults | Comments |
---|---|---|
absent_retries integer | Default: 0 | If >0 and state is absent the module will retry up to absent_retries times to delete the stack until all the resources have been effectively deleted. If the last try still reports the stack as not completely removed the module will fail. |
absent_retries_interval integer | Default: 1 | Interval in seconds between consecutive absent_retries. |
compose list / elements=raw | Default: [] | List of compose definitions. Any element may be a string referring to the path of the compose file on the target host or the YAML contents of a compose file nested as dictionary. |
name string / required | Stack name | |
prune boolean |
| If true will add the --prune option to the docker stack deploy command. This will have docker remove the services not present in the current stack definition. |
resolve_image string |
| If set will add the --resolve-image option to the docker stack deploy command. This will have docker query the registry to resolve image digest and supported platforms. If not set, docker use "always" by default. |
state string |
| Service state. |
with_registry_auth boolean |
| If true will add the --with-registry-auth option to the docker stack deploy command. This will have docker send registry authentication details to Swarm agents. |
Notes
Note
- Return values out and err have been deprecated and will be removed in community.docker 2.0.0. Use stdout and stderr instead.
Examples
- name: Deploy stack from a compose file community.docker.docker_stack: state: present name: mystack compose: - /opt/docker-compose.yml - name: Deploy stack from base compose file and override the web service community.docker.docker_stack: state: present name: mystack compose: - /opt/docker-compose.yml - version: '3' services: web: image: nginx:latest environment: ENVVAR: envvar - name: Remove stack community.docker.docker_stack: name: mystack state: absent
Return Values
Common return values are documented here, the following are the fields unique to this module:
Key | Returned | Description |
---|---|---|
stack_spec_diff dictionary | on change | dictionary containing the differences between the 'Spec' field of the stack services before and after applying the new stack definition. Sample: "stack_spec_diff": {'test_stack_test_service': {u'TaskTemplate': {u'ContainerSpec': {delete: [u'Env']}}}} |
Authors
- Dario Zanzico (@dariko)
© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/docker/docker_stack_module.html