community.docker/plugins/modules
András Maróy b481fa4801
Add support for rotating docker secrets (#293)
* Add parameters for rolling updates to `docker_secret`

* Extract `remove_secrets` to its own function in `docker_secret`

* Store existing secrets in a list instead of a single secret

With this change `docker_secret` now supports the case where we store
multiple versions of a secret with the `_v123` postfix.

`absent` state implicitly handles removing these this way.

* When using `rolling_versions` don't automatically remove current secret

To make rolling updates actually work instead of failing on trying to
remove a secret that is attached to a service, use the
`versions_to_keep` parameter to remove old versions of the secret after
creating the new one. This way the secret with the new data is created
with a different name and can be attached to the service by its ID
without having to delete the previous one first which would fail if it
is already attached to a service.

* Add version numbers to newly created secrets

Attach the incremental version number to the secret name as a `_v123`
postfix where `123` is replaced with an incremental counter starting
from 1.
A label with the numeric version is also attached to the secret to ease
calculating the new version number upon change with the name
`ansible_version`.

* Return `secret_name` for docker secrets as well

* Add integration test for rolling secrets

* Update `docker_secret` documentation as per review comments

* Correctly return `docker_secret` version number as int

* Use template string for naming `docker_secrets` instead of concatenation

* Return the correct secret name on deletion failure

* Simplify `docker_secret` creation

* Add missing comma for `docker_secret` schema

* Only remove old docker secrets if `rolling_versions` is set

* Add check in `docker_secret` version parsing to handle NaNs

* Add newly created `docker_secret` to internal secret list to avoid additional deletions

* Add changelog fragment for `docker_secret` `rolling_versions` feature

* Update changelogs/fragments/270-rolling-secrets.yml

Co-authored-by: Felix Fontein <felix@fontein.de>

Co-authored-by: Felix Fontein <felix@fontein.de>
2022-02-12 08:29:49 +01:00
..
current_container_facts.py Fix AZP tests, add current_container_facts module (#48) 2020-12-13 08:06:16 +00:00
docker_compose.py Prepare for distutils.version being removed in Python 3.12 (#258) 2021-12-24 11:28:35 +01:00
docker_config.py docker_config and docker_secret: add data_src option (#203) 2021-09-12 09:42:03 +02:00
docker_container_exec.py docker_container_exec: allow to specify environment (#254) 2021-12-22 16:56:22 +00:00
docker_container_info.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters. (#164) 2021-06-26 13:39:51 +02:00
docker_container.py More small docs fixes. (#281) 2022-01-10 07:42:40 +01:00
docker_host_info.py Fix docs issues. (#232) 2021-11-09 19:59:28 +01:00
docker_image_info.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters. (#164) 2021-06-26 13:39:51 +02:00
docker_image_load.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters. (#164) 2021-06-26 13:39:51 +02:00
docker_image.py Improve documentation (#278) 2022-01-09 14:52:44 +01:00
docker_login.py Improve documentation (#278) 2022-01-09 14:52:44 +01:00
docker_network_info.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters. (#164) 2021-06-26 13:39:51 +02:00
docker_network.py Improve documentation (#278) 2022-01-09 14:52:44 +01:00
docker_node_info.py More small docs fixes. (#281) 2022-01-10 07:42:40 +01:00
docker_node.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters. (#164) 2021-06-26 13:39:51 +02:00
docker_plugin.py docker_plugin - adding alias option and general cleanup (#161) 2021-06-25 21:45:53 +02:00
docker_prune.py Prepare for distutils.version being removed in Python 3.12 (#258) 2021-12-24 11:28:35 +01:00
docker_secret.py Add support for rotating docker secrets (#293) 2022-02-12 08:29:49 +01:00
docker_stack_info.py Fix check_mode for some _info modules. (#183) 2021-07-28 21:49:15 +02:00
docker_stack_task_info.py Fix check_mode for some _info modules. (#183) 2021-07-28 21:49:15 +02:00
docker_stack.py Improve documentation (#278) 2022-01-09 14:52:44 +01:00
docker_swarm_info.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters. (#164) 2021-06-26 13:39:51 +02:00
docker_swarm_service_info.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters. (#164) 2021-06-26 13:39:51 +02:00
docker_swarm_service.py Improve documentation (#278) 2022-01-09 14:52:44 +01:00
docker_swarm.py Replace ansible.module_utils._text by ansible.module_utils.common.text.converters. (#164) 2021-06-26 13:39:51 +02:00
docker_volume_info.py Improve documentation (#278) 2022-01-09 14:52:44 +01:00
docker_volume.py Improve documentation (#278) 2022-01-09 14:52:44 +01:00