docker_stack – docker stack module¶
New in version 2.8.
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
|
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. |
Examples¶
- name: Deploy stack from a compose file
docker_stack:
state: present
name: mystack
compose:
- /opt/docker-compose.yml
- name: Deploy stack from base compose file and override the web service
docker_stack:
state: present
name: mystack
compose:
- /opt/docker-compose.yml
- version: '3'
services:
web:
image: nginx:latest
environment:
ENVVAR: envvar
- name: Remove stack
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']}}}}
|
Status¶
This module is not guaranteed to have a backwards compatible interface. [preview]
This module is maintained by the Ansible Community. [community]