Spec-Zone.ru › Ansible

community.sops.sops vars – загрузка файлов переменных, зашифрованных с помощью SOPS

Примечание

Этот плагин vars входит в коллекцию community.sops (версия 2.3.0).

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

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

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

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

  • Краткое описание
  • Требования
  • Параметры
  • См. также

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

  • Загружает зашифрованные файлы YAML в соответствующие группы/узлы в каталогах group_vars/ и host_vars/.
  • Файлы шифруются до чтения, поэтому этот плагин эффективно дополняет плагин ansible.builtin.host_group_vars.
  • По умолчанию обрабатываются только файлы с расширениями .sops.yaml, .sops.yml, .sops.json; это ограничение можно изменить с помощью параметра valid_extensions.
  • Скрытые файлы игнорируются.

Требования

Следующие требования должны быть выполнены на локальном управляющем узле, на котором выполняется этот плагин vars.

  • Исполняемый двоичный файл 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 или новее.

Конфигурация:

  • Переменная окружения: ANSIBLE_SOPS_AGE_KEY

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, указав в ней идентификатор ключа, который нужно использовать для расшифровки.

Конфигурация:

  • Запись INI:

    [community.sops]
    age_key_cmd = VALUE
    
  • Переменная окружения: ANSIBLE_SOPS_AGE_KEY_CMD

age_keyfile

path

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

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

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

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

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

Конфигурация:

  • Запись INI:

    [community.sops]
    age_keyfile = VALUE
    
  • Переменная окружения: ANSIBLE_SOPS_AGE_KEYFILE

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 или новее.

Конфигурация:

  • Запись INI:

    [community.sops]
    age_ssh_private_key_cmd = VALUE
    
  • Переменная окружения: ANSIBLE_SOPS_AGE_SSH_PRIVATE_KEY_CMD

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 или новее.

Конфигурация:

  • Запись INI:

    [community.sops]
    age_ssh_private_keyfile = VALUE
    
  • Переменная окружения: ANSIBLE_SOPS_AGE_SSH_PRIVATE_KEYFILE

aws_access_key_id

string

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

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

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

Конфигурация:

  • Запись INI:

    [community.sops]
    aws_access_key_id = VALUE
    

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

  • Переменная окружения: ANSIBLE_SOPS_AWS_ACCESS_KEY_ID

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

aws_profile

string

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

Профиль AWS, используемый для запросов к AWS.

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

Конфигурация:

  • Запись INI:

    [community.sops]
    aws_profile = VALUE
    

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

  • Переменная окружения: ANSIBLE_SOPS_AWS_PROFILE

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

aws_secret_access_key

string

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

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

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

Конфигурация:

  • Переменная окружения: ANSIBLE_SOPS_AWS_SECRET_ACCESS_KEY

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

aws_session_token

string

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

Токен сеанса AWS, используемый для запросов к AWS.

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

Конфигурация:

  • Запись INI:

    [community.sops]
    aws_session_token = VALUE
    

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

  • Переменная окружения: ANSIBLE_SOPS_AWS_SESSION_TOKEN

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

cache

boolean

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

Определяет, нужно ли кэшировать расшифрованные файлы.

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

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

Обратите внимание: значение stage=inventory действует так же, как cache=true: переменные будут загружены только один раз (во время загрузки инвентаря), а плагин vars не будет вызываться для каждой задачи.

Варианты:

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

Конфигурация:

  • Запись INI:

    [community.sops]
    vars_cache = true
    
  • Переменная окружения: ANSIBLE_VARS_SOPS_PLUGIN_CACHE

config_path

path

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

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

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

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

Конфигурация:

  • Запись INI:

    [community.sops]
    config_path = VALUE
    

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

  • Переменная окружения: ANSIBLE_SOPS_CONFIG_PATH

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

disable_vars_plugin_temporarily

boolean

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

Временно отключает этот плагин.

Полезно, если ansible-inventory нужно запустить без расшифровки секретов (например, в AWX).

Варианты:

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

Конфигурация:

  • Переменная окружения: SOPS_ANSIBLE_AWX_DISABLE_VARS_PLUGIN_TEMPORARILY

enable_local_keyservice

boolean

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

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

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

Варианты:

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

Конфигурация:

  • Запись INI:

    [community.sops]
    enable_local_keyservice = true
    

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

  • Переменная окружения: ANSIBLE_SOPS_ENABLE_LOCAL_KEYSERVICE

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

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

Конфигурация:

  • Запись INI:

    [community.sops]
    gcp_kms_client_type = VALUE
    
  • Переменная окружения: ANSIBLE_SOPS_GCP_KMS_CLIENT_TYPE

gcp_oauth_access_token

string

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

Задаёт токен OAuth для Google Cloud.

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

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

Конфигурация:

  • Переменная окружения: ANSIBLE_SOPS_GCP_OAUTH_ACCESS_TOKEN

handle_unencrypted_files

string

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

Определяет, как обрабатывать файлы с расширениями из valid_extensions, которые не зашифрованы с помощью SOPS.

Значение по умолчанию error приводит к ошибке.

При значении skip такие файлы пропускаются. Требуется SOPS версии 3.9.0 или новее.

При значении warn такие файлы пропускаются, а также выводится предупреждение. Требуется SOPS версии 3.9.0 или новее.

Примечание. Это не поможет, если используемое SOPS хранилище не может разобрать файл, например если файл с указанным расширением не является допустимым файлом JSON/YAML/… Для расширений, отличных от используемых по умолчанию, SOPS использует двоичное хранилище, которое пытается разобрать файл как JSON.

Варианты:

  • "skip"
  • "warn"
  • "error" ← (по умолчанию)

Конфигурация:

  • Запись INI:

    [community.sops]
    handle_unencrypted_files = error
    
  • Переменная окружения: ANSIBLE_VARS_SOPS_PLUGIN_HANDLE_UNENCRYPTED_FILES

keyservice

list / elements=string

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

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

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

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

Конфигурация:

  • Запись INI:

    [community.sops]
    keyservice = VALUE
    

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

  • Переменная окружения: ANSIBLE_SOPS_KEYSERVICE

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

sops_binary

string

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

Путь к двоичному файлу SOPS.

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

Конфигурация:

  • Запись INI:

    [community.sops]
    binary = VALUE
    

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

  • Переменная окружения: ANSIBLE_SOPS_BINARY

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

stage

string

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

Определяет, когда можно выполнять этот плагин vars.

Если задать значение all, плагин vars будет запускаться после импорта инвентаря, а также по запросу задачи.

Если задать значение task, плагин vars будет запускаться только по запросу задачи.

Если задать значение inventory, плагин vars будет запускаться только после разбора инвентаря.

Если параметр не задан, момент запуска плагина vars определяется глобальной конфигурацией RUN_VARS_PLUGINS.

Варианты:

  • "all"
  • "task"
  • "inventory"

Конфигурация:

  • Запись INI:

    [community.sops]
    vars_stage = VALUE
    
  • Переменная окружения: ANSIBLE_VARS_SOPS_PLUGIN_STAGE

valid_extensions

list / elements=string

Проверять файлы переменных на наличие перечисленных здесь расширений.

Эти файлы должны быть зашифрованными с помощью SOPS файлами YAML или JSON.

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

По умолчанию: [".sops.yml", ".sops.yaml", ".sops.json"]

Конфигурация:

  • Запись INI:

    [community.sops]
    valid_extensions = .sops.yml, .sops.yaml, .sops.json
    

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

  • Переменная окружения: ANSIBLE_VARS_SOPS_PLUGIN_VALID_EXTENSIONS

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

Примечание

Перечисленные выше записи конфигурации для каждого типа записей (переменная Ansible, переменная окружения и т. д.) упорядочены от низкого приоритета к высокому. Например, переменная, стоящая ниже в списке, переопределит переменную, стоящую выше. Типы записей также упорядочены по возрастанию приоритета. Например, запись ansible.cfg (выше в списке) переопределяется переменной Ansible (ниже в списке).

См. также

См. также

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

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

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

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

community.sops.load_vars

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

Авторы

  • Edoardo Tenani (@endorama)

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

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Запросить помощь (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/sops_vars.html

Spec-Zone.ru

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