我有一个部署项目,需要与其他团队共享。我已经使用Vault加密了我的秘密信息。 我希望能够使用密码加密生产文件,并使用另一个密码加密暂存文件,以避免其他团队访问生产秘密。
这种做法是否可行?
我已经尝试过这样的操作,我的秘密信息如下:
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']}}
...
我这样启动playbook。
# 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
但是这不起作用,因为有两个不同的密码(错误!解密失败)。
你知道该怎么做吗?
谢谢。
敬礼,
Eric