docker_secret - Управление секретами docker.
Новое в версии 2.4.
Обзор
- Создание и удаление секретов Docker в среде Swarm. Аналогично
docker secret createиdocker secret rm. - Добавляет в метаданные новых секретов поле ‘ansible_key’, представляющее собой зашифрованное хеш-представление данных, которое затем используется
- в будущих запусках для проверки изменений секрета.
- Если ‘ansible_key’ отсутствует, секрет не будет обновлён, если не установлен параметр
force. - Обновления секретов выполняются путём удаления и повторного создания секрета.
Требования
Ниже приведены требования, необходимые на хосте, на котором выполняется этот модуль.
- docker-py >= 2.1.0
- API Docker >= 1.25
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_version | Значение по умолчанию: Значение по умолчанию, предоставляемое docker-py | Версия API Docker, работающего на хосте Docker. По умолчанию используется последняя поддерживаемая версия API docker-py. Псевдонимы: docker_api_version |
| cacert_path | Значение по умолчанию: None | Использование сертификата CA при проверке сервера, указав путь к файлу сертификата CA. Псевдонимы: tls_ca_cert |
| cert_path | Значение по умолчанию: None | Путь к файлу TLS-сертификата клиента. Псевдонимы: tls_client_cert |
| data | Строка. Значение секрета. Требуется, когда состояние равно present. | |
| docker_host | Значение по умолчанию: unix://var/run/docker.sock | URL или путь к сокету Unix для подключения к API Docker. Для подключения к удалённому хосту укажите строку TCP-соединения. Например, 'tcp://192.0.2.23:2376'. Если TLS используется для шифрования соединения, модуль автоматически заменит 'tcp' в URL соединения на 'https'. Псевдонимы: docker_url |
| force | Значение по умолчанию: no | Булево. Используется со значением состояния present для всегда удаления и повторного создания существующего секрета.Если true, существующий секрет будет заменён, даже если он не изменился. |
| key_path | Значение по умолчанию: None | Путь к файлу TLS-ключа клиента. Псевдонимы: tls_client_key |
| labels | Словарь метаданных ключ:значение, где как ключ, так и значение ожидаются как строки. Если предоставлены новые метаданные или изменены существующие метаданные, секрет будет обновлён путём его удаления и повторного создания. | |
| name требуется | Имя секрета. | |
| ssl_version | Значение по умолчанию: 1.0 | Укажите допустимый номер версии SSL. Значение по умолчанию определяется docker-py, в настоящее время 1.0. |
| state |
| Установите значение present, если секрет должен существовать, и absent, если он не должен. |
| timeout | Значение по умолчанию: 60 | Максимальное время в секундах ожидания ответа от API. |
| tls | Значение по умолчанию: no | Защитите соединение с API с помощью TLS без проверки подлинности хоста Docker. |
| tls_hostname | Значение по умолчанию: localhost | При проверке подлинности хоста Docker укажите ожидаемое имя сервера. |
| tls_verify | Значение по умолчанию: no | Защитите соединение с API с помощью TLS и проверьте подлинность хоста Docker. |
Примечания
Примечание
- Подключение к демону Docker путём предоставления параметров для каждой задачи или путём определения переменных среды. Вы можете определить DOCKER_HOST, DOCKER_TLS_HOSTNAME, DOCKER_API_VERSION, DOCKER_CERT_PATH, DOCKER_SSL_VERSION, DOCKER_TLS, DOCKER_TLS_VERIFY и DOCKER_TIMEOUT. Если вы используете docker machine, запустите скрипт, поставляемый с продуктом, который настраивает среду. Он установит эти переменные за вас. См. https://docker-py.readthedocs.org/en/stable/machine/ для получения более подробной информации.
Примеры
- name: Create secret foo
docker_secret:
name: foo
data: Hello World!
state: present
- name: Change the secret data
docker_secret:
name: foo
data: Goodnight everyone!
labels:
bar: baz
one: '1'
state: present
- name: Add a new label
docker_secret:
name: foo
data: Goodnight everyone!
labels:
bar: baz
one: '1'
# Adding a new label will cause a remove/create of the secret
two: '2'
state: present
- name: No change
docker_secret:
name: foo
data: Goodnight everyone!
labels:
bar: baz
one: '1'
# Even though 'two' is missing, there is no change to the existing secret
state: present
- name: Update an existing label
docker_secret:
name: foo
data: Goodnight everyone!
labels:
bar: monkey # Changing a label will cause a remove/create of the secret
one: '1'
state: present
- name: Force the removal/creation of the secret
docker_secret:
name: foo
data: Goodnight everyone!
force: yes
state: present
- name: Remove secret foo
docker_secret:
name: foo
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, следующие поля уникальны для этого модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| secret_id строка | успех | Идентификатор, присвоенный Docker объекту секрета. Пример: hzehrmyjigmcp2gb6nlhmjqcv |
Статус
Этот модуль помечен как предварительный просмотр, что означает, что его интерфейс не гарантируется обратной совместимостью.
Автор
- Chris Houseknecht (@chouseknecht)
Подсказка
Если вы обнаружите какие-либо проблемы в этой документации, вы можете отредактировать этот документ для улучшения.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/docker_secret_module.html