She*_*ter 10 ansible ansible-playbook ansible-vault
我有两个角色,其中一个有一个group_vars拱形文件,另一个没有.我想运行不需要任何存储信息的角色,但是ansible提示我输入保险库密码:
$ tree
??? deploy-home-secure.yml
??? deploy-home.yml
??? group_vars
? ??? home
? ? ??? unvaulted
? ??? home-secure
? ??? unvaulted
? ??? vaulted
??? hosts
??? roles
??? home
? ??? tasks
? ??? main.yaml
??? home-secure
??? tasks
??? main.yaml
$ ansible-playbook --version
ansible-playbook 1.8.2
configured module search path = None
$ ansible-playbook -i hosts deploy-home.yml
ERROR: A vault password must be specified to decrypt vaulttest/group_vars/home-secure/vaulted
$ ansible-playbook --vault-password-file=/dev/null -i hosts deploy-home.yml
ERROR: Decryption failed
Run Code Online (Sandbox Code Playgroud)
Fra*_*uis 11
我有类似的东西来解决这类问题(我的角色不同,但主机不同,但我认为同样的原则适用):
这是简化的文件结构:
group_vars
development_vars
staging_vars
vaulted_vars
production_vars
Run Code Online (Sandbox Code Playgroud)
这允许您在没有Ansible请求解密production_vars的情况下部署开发或暂存.
然后,制作剧本如下:
hosts: production
roles:
- role...
vars_files:
- vaulted_vars/production_vars
Run Code Online (Sandbox Code Playgroud)
指定存储var的路径的vars_files行是键.
Ansible将尝试为您在广告资源中遇到的任何群组加载group_vars文件.如果您将库存文件(主机)拆分为一个用于家庭组,另一个用于家庭安全,那么它将不会尝试解密它不应该的变量.
$ ansible-playbook -i hosts-home deploy-home.yml
$ ansible-playbook --ask-vault-password -i hosts-home-secure deploy-home-secure.yml
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7344 次 |
| 最近记录: |