У меня есть проект развертывания, который я разделяю с другими командами. Я зашифровал свои секреты с помощью хранилища. Я хотел бы зашифровать производственный файл паролем и промежуточным файлом с другим паролем, чтобы другие команды не имели доступа к производственным секретам.Возможно ли иметь несколько паролей с хранилищем
Возможно ли это?
Я сделал что-то подобное. Мои секреты:
cat /group_vars/all/vault_production.yml (encrypt with password A)
production_password: 'test1'
cat/group_vars/all/vault_staging.yml (encrypt with password B)
staging_password: 'test2'
Мои среды:
cat hosts-production
[all:vars]
env_type=production
cat hosts-staging
[all:vars]
env_type=staging
Мой сценарий:
- copy:
content: |
env PASS={{hostvars[inventory_hostname][env_type + '_password']}}
...
И я запускаю пьес, как это.
# for production
ansible-playbook -i hosts-staging test.yml --vault-password-file .password_a
# for staging
ansible-playbook -i hosts-staging test.yml --vault-password-file .password_b
Но это не работает, потому что есть два разных пароля (с ошибкой ERROR!). Знаете ли вы, как это сделать?
Спасибо.
BR,
Eric
Мое первоначальное чувство состоит в том, чтобы переместить файлы хранилища в место, где они не включены автоматически, и явно включать только тот, который вам нужен за один раз, но я не проверял его, чтобы убедиться, что он работает. –