docker_secret - Управление секретами docker.
Новое в версии 2.4.
Обзор
- Создание и удаление секретов Docker в среде Swarm. Аналогично
docker secret createиdocker secret rm. - Добавляет в метаданные новых секретов ‘ansible_key’, зашифрованное хеш-представление данных, которое затем используется
- при последующих запусках для проверки изменения секрета.
- Если ‘ansible_key’ отсутствует, то секрет не будет обновлён, если не задан параметр
force. - Обновление секретов выполняется путём удаления и повторного создания секрета.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется данный модуль.
- docker-py >= 2.1.0
- Обратите внимание, что модуль Python docker-py был заменён на docker (подробнее см. здесь). Версия 2.1.0 или более новая доступна только с модулем
docker. - Docker API >= 1.25
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_version | По умолчанию: "auto" | Версия Docker API, работающая на Docker хосте. По умолчанию, последняя версия API, поддерживаемая docker-py. Если значение не задано в задании, используется значение переменной окружения DOCKER_API_VERSION. Если переменная окружения не задана, используется значение по умолчанию.Псевдонимы: docker_api_version |
| cacert_path | Используйте сертификат CA для проверки сервера, указав путь к файлу сертификата CA. Если значение не задано в задании и задана переменная окружения DOCKER_CERT_PATH, используется файл ca.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.Псевдонимы: tls_ca_cert | |
| cert_path | Путь к файлу TLS-сертификата клиента. Если значение не задано в задании и задана переменная окружения DOCKER_CERT_PATH, используется файл cert.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.Псевдонимы: tls_client_cert | |
| data | Строка. Значение секрета. Требуется, когда state равен present. | |
| debug bool |
| Режим отладки |
| docker_host | По умолчанию: "unix://var/run/docker.sock" | URL или путь к Unix-сокету, используемый для подключения к Docker API. Для подключения к удалённому хосту, укажите строку TCP подключения. Например, 'tcp://192.0.2.23:2376'. Если для шифрования подключения используется TLS, модуль автоматически заменит 'tcp' в URL подключения на 'https'. Если значение не задано в задании, используется значение переменной окружения DOCKER_HOST вместо него. Если переменная окружения не задана, используется значение по умолчанию.Псевдонимы: docker_url |
| force bool |
| Используйте со state present для всегда удаления и повторного создания существующего секрета.Если true, существующий секрет будет заменён, даже если он не изменился. |
| key_path | Путь к файлу TLS-ключа клиента. Если значение не задано в задании и задана переменная окружения DOCKER_CERT_PATH, используется файл key.pem из каталога, указанного в переменной окружения DOCKER_CERT_PATH.Псевдонимы: tls_client_key | |
| labels | Словарь метаданных ключ:значение, где и ключ, и значение ожидаются как строки. Если предоставляются новые метаданные или изменяются существующие метаданные, секрет будет обновлён путём удаления и повторного создания. | |
| name обязательно | Имя секрета. | |
| ssl_version | Укажите версию SSL. Значение по умолчанию определяется модулем ssl.py. Если значение не задано в задании, используется значение переменной окружения DOCKER_SSL_VERSION вместо него. | |
| state |
| Установите в present, если секрет должен существовать, и в absent, если он не должен. |
| timeout | По умолчанию: 60 | Максимальное время ожидания ответа от API в секундах. Если значение не задано в задании, используется значение переменной окружения DOCKER_TIMEOUT вместо него. Если переменная окружения не задана, используется значение по умолчанию. |
| tls bool |
| Обеспечьте безопасность подключения к API, используя TLS без проверки подлинности Docker хост-сервера. Если значение не задано в задании, используется значение переменной окружения DOCKER_TLS вместо него. Если переменная окружения не задана, используется значение по умолчанию. |
| tls_hostname | По умолчанию: "localhost" | При проверке подлинности Docker хост-сервера, укажите ожидаемое имя сервера. Если значение не задано в задании, используется значение переменной окружения DOCKER_TLS_HOSTNAME вместо него. Если переменная окружения не задана, используется значение по умолчанию. |
| tls_verify bool |
| Обеспечьте безопасность подключения к API, используя TLS и проверку подлинности Docker хост-сервера. Если значение не задано в задании, используется значение переменной окружения DOCKER_TLS_VERIFY вместо него. Если переменная окружения не задана, используется значение по умолчанию. |
Примечания
Примечание
- Подключайтесь к 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 |
Статус
Этот модуль помечен как превью, что означает, что его интерфейс не гарантируется как обратная совместимость.
Техническое обслуживание
Этот модуль помечен как сообщество, что означает, что он поддерживается сообществом Ansible. Подробнее см. Техническое обслуживание и поддержка модулей.
Список других модулей, которые также поддерживаются сообществом Ansible, см. здесь.
Автор
- 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.6/modules/docker_secret_module.html