Spec-Zone.ru › Ansible

Модуль community.sops.load_vars – динамическая загрузка переменных, зашифрованных SOPS, из файлов в рамках задачи

Примечание

Этот модуль входит в коллекцию community.sops (версия 2.3.0).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.sops. Для использования этого модуля необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать модуль в плейбуке, укажите: community.sops.load_vars.

Добавлено в community.sops 0.1.0

  • Краткое описание
  • Требования
  • Параметры
  • Атрибуты
  • См. также
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Динамически загружает переменные YAML/JSON, зашифрованные SOPS, из файла во время выполнения задачи.
  • Чтобы присвоить включённые переменные хосту, отличному от inventory_hostname, используйте delegate_to и задайте delegate_facts=true.

Примечание

Этому модулю соответствует плагин действий.

Требования

На хосте, выполняющем этот модуль, должны быть соблюдены следующие требования.

  • Исполняемый файл sops (https://github.com/getsops/sops) должен находиться в PATH или быть указан в sops_binary.

Параметры

Параметр

Комментарии

age_key

string

добавлено в community.sops 1.4.0

Один или несколько закрытых ключей age, которые можно использовать для расшифровки зашифрованных файлов.

При вызове SOPS будет задана переменная окружения SOPS_AGE_KEY.

Требуется SOPS 3.7.1 или новее.

age_key_cmd

string

добавлено в community.sops 2.3.0

Команда, которую SOPS выполнит для получения закрытого ключа age, используемого для расшифровки зашифрованных файлов.

При вызове SOPS будет задана переменная окружения SOPS_AGE_KEY_CMD.

Требуется SOPS 3.10.0 или новее.

При выполнении этой команды в SOPS 3.12.0 или новее SOPS задаст переменную SOPS_AGE_RECIPIENT, содержащую идентификатор ключа, который будет использоваться для расшифровки.

age_keyfile

path

добавлено в community.sops 1.4.0

Файл, содержащий закрытые ключи age, которые SOPS может использовать для расшифровки зашифрованных файлов.

При вызове SOPS будет задана переменная окружения SOPS_AGE_KEY_FILE.

По умолчанию SOPS ищет sops/age/keys.txt в каталоге конфигурации пользователя.

Требуется SOPS 3.7.0 или новее.

age_ssh_private_key_cmd

string

добавлено в community.sops 2.3.0

Команда, которую SOPS выполнит для получения закрытого ключа SSH, используемого для расшифровки зашифрованных файлов.

При вызове SOPS будет задана переменная окружения SOPS_AGE_SSH_PRIVATE_KEY_CMD.

При выполнении этой команды SOPS задаст переменную SOPS_AGE_RECIPIENT, содержащую идентификатор ключа, который будет использоваться для расшифровки.

Требуется SOPS 3.12.0 или новее.

age_ssh_private_keyfile

path

добавлено в community.sops 1.4.0

Файл, содержащий закрытый ключ SSH, который SOPS может использовать для расшифровки зашифрованных файлов.

При вызове SOPS будет задана переменная окружения SOPS_AGE_SSH_PRIVATE_KEY_FILE.

По умолчанию SOPS ищет ~/.ssh/id_ed25519, а затем — ~/.ssh/id_rsa.

Требуется SOPS 3.10.0 или новее.

aws_access_key_id

string

добавлено в community.sops 1.0.0

Идентификатор ключа доступа AWS для запросов к AWS.

Для вызова SOPS задаёт переменную окружения AWS_ACCESS_KEY_ID.

aws_profile

string

добавлено в community.sops 1.0.0

Профиль AWS для запросов к AWS.

Соответствует параметру SOPS --aws-profile.

aws_secret_access_key

string

добавлено в community.sops 1.0.0

Секретный ключ доступа AWS для запросов к AWS.

Для вызова SOPS задаёт переменную окружения AWS_SECRET_ACCESS_KEY.

aws_session_token

string

добавлено в community.sops 1.0.0

Токен сеанса AWS для запросов к AWS.

Для вызова SOPS задаёт переменную окружения AWS_SESSION_TOKEN.

config_path

path

добавлено в community.sops 1.0.0

Путь к файлу конфигурации SOPS.

Если параметр не задан, SOPS будет рекурсивно искать файл конфигурации, начиная с файла, который шифруется или расшифровывается.

Соответствует параметру SOPS --config.

enable_local_keyservice

boolean

добавлено в community.sops 1.0.0

Указывает SOPS использовать локальную службу ключей.

Если задано значение false, это соответствует параметру SOPS --enable-local-keyservice=false.

Варианты:

  • false
  • true ← (по умолчанию)

expressions

string

Этот параметр определяет, как обрабатываются выражения Jinja2 в значениях загруженного файла.

Если задано значение ignore, выражения не вычисляются, а обрабатываются как обычные строки.

Если задано значение evaluate-on-load, выражения вычисляются при выполнении этого модуля, то есть во время загрузки файла.

Если задано значение lazy-evaluation, выражения вычисляются отложенно. Для этого требуется ansible-core 2.19 или новее; такое же поведение реализовано в ansible.builtin.include_vars. lazy-evaluation добавлен в community.sops 2.2.0.

Варианты:

  • "ignore" ← (по умолчанию)
  • "evaluate-on-load"
  • "lazy-evaluation"

file

path

Имя файла, из которого следует загрузить переменные.

Если путь относительный, файл будет искаться в подкаталоге vars/ роли или относительно плейбука.

gcp_kms_client_type

string

добавлено в community.sops 3.2.0

Определяет, какой клиент использовать для взаимодействия с Google Cloud Services.

При вызове SOPS будет задана переменная окружения SOPS_GCP_KMS_CLIENT_TYPE.

Требуется SOPS 3.12.0 или новее.

Варианты:

  • "grpc": использовать клиент gRPC
  • "rest": использовать клиент REST

gcp_oauth_access_token

string

добавлено в community.sops 3.2.0

Указывает токен OAuth для Google Cloud.

При вызове SOPS будет задана переменная окружения GOOGLE_OAUTH_ACCESS_TOKEN.

Требуется SOPS 3.10.0 или новее.

keyservice

list / элементы=string

добавлено в community.sops 1.0.0

Указывает службы ключей, которые следует использовать наряду с локальной службой.

Службу ключей необходимо указывать в формате protocol://address, например tcp://myserver.com:5000.

Соответствует параметру SOPS --keyservice.

name

string

Имя переменной, которой будут присвоены включённые переменные.

Если параметр не указан (null), переменные будут размещены на верхнем уровне.

return_method

string

добавлено в community.sops 2.3.0

Определяет способ возврата результатов.

Из-за ограничений ansible-core < 2.21 результаты возвращались в виде фактов Ansible. Начиная с ansible-core 2.21 появилась возможность задавать переменные напрямую, как это делает ansible.builtin.include_vars.

Варианты:

  • "auto" (по умолчанию): для ansible-core < 2.21 возвращать результаты в виде фактов, а для ansible-core >= 2.21 — в виде переменных.
  • "facts-only": всегда возвращать результаты в виде фактов.
  • "vars-only": всегда возвращать результаты в виде переменных.

    Не работает с ansible-core < 2.21.

sops_binary

path

добавлено в community.sops 1.0.0

Путь к исполняемому файлу SOPS.

По умолчанию используется sops.

Атрибуты

Атрибут

Поддержка

Описание

action

Поддержка: полная

Указывает, что этому модулю соответствует плагин действий, поэтому некоторые параметры можно обработать на контроллере.

async

Поддержка: отсутствует

Это действие полностью выполняется на контроллере.

Поддерживает использование ключевого слова async.

check_mode

Поддержка: полная

Может выполняться в режиме check_mode и возвращать прогноз статуса изменений, не изменяя целевой объект.

diff_mode

Поддержка: не применимо

Это действие не изменяет состояние.

В режиме сравнения возвращает сведения об изменениях (или о возможных изменениях в check_mode).

facts

Поддержка: частичная

Факты возвращаются только при значении return_method=facts-only или return_method=auto для ansible-core < 2.21.

Действие возвращает словарь ansible_facts, который обновляет существующие факты хоста.

idempotent

Поддержка: не применимо

У действия отсутствует состояние changed.

При повторном запуске с теми же аргументами вне режима проверки второй запуск сообщает об отсутствии изменений.

Предполагается, что система, которой управляет модуль или к которой он обращается, не изменилась существенным образом.

См. также

См. также

ansible.builtin.set_fact

Задаёт переменные и факты хоста.

ansible.builtin.include_vars

Динамически загружает переменные из файлов в рамках задачи.

Управление местом выполнения задач: делегирование и локальные действия

Дополнительные сведения о делегировании задач.

community.sops.sops — плагин поиска

Плагин поиска sops можно использовать для расшифровки файлов, зашифрованных SOPS.

community.sops.decrypt — плагин фильтра

Фильтр decrypt можно использовать для расшифровки данных в памяти, зашифрованных SOPS.

community.sops.sops — плагин переменных

Плагин переменных sops можно использовать для загрузки переменных хоста или группы, зашифрованных SOPS.

Примеры

---
- name: Include variables of stuff.sops.yaml into the 'stuff' variable
  community.sops.load_vars:
    file: stuff.sops.yaml
    name: stuff
    expressions: evaluate-on-load # interpret Jinja2 expressions in stuf.sops.yaml on load-time!

- name: Conditionally decide to load in variables into 'plans' when x is 0, otherwise do not
  community.sops.load_vars:
    file: contingency_plan.sops.yaml
    name: plans
    expressions: ignore # do not interpret possible Jinja2 expressions
  when: x == 0

- name: Load variables into the global namespace
  community.sops.load_vars:
    file: contingency_plan.sops.yaml

Возвращаемые значения

Общие возвращаемые значения описаны здесь; ниже перечислены поля, уникальные для этого модуля:

Ключ

Описание

ansible_included_var_files

list / элементы=string

Список успешно включённых файлов.

Возвращается: при успехе

Пример: ["/path/to/file.sops.yaml"]

Авторы

  • Felix Fontein (@felixfontein)

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь (SOPS)
  • Сообщить об ошибке
  • Предложить новую функцию
  • Общение

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/sops/load_vars_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API