在不同组中重复使用Ansible vault文件
我想扩展我当前的Ansible项目,以支持Linux服务器。为此,我希望重新使用已创建的vault文件,但如果不复制vault文件,我似乎无法找到解决方案 以下是我当前的Ansible结构在不同组中重复使用Ansible vault文件,ansible,ansible-vault,Ansible,Ansible Vault,我想扩展我当前的Ansible项目,以支持Linux服务器。为此,我希望重新使用已创建的vault文件,但如果不复制vault文件,我似乎无法找到解决方案 以下是我当前的Ansible结构 ├── ansible.cfg ├── ansible_pw.sh ├── group_vars │ └── windows │ ├── vault.yml │ └── main.yml ├── inventory.yml ├── main.yml └── roles ├─
├── ansible.cfg
├── ansible_pw.sh
├── group_vars
│ └── windows
│ ├── vault.yml
│ └── main.yml
├── inventory.yml
├── main.yml
└── roles
├── wait_for_host
│ └── tasks
│ └── main.yml
└── install_software
└── tasks
└── main.yml
inventory.yml
---
全部:
儿童:
窗户:
主持人:
win-server.mycompany.com
main.yml
---
-主机:windows
任务:
-区块:
-包含角色:{name:wait_for_host}
-包括_角色:{name:安装_软件}
Playbook的运行方式如下:
ansible-playbook main.yml -i inventory.yml --vault-password-file ./ansible_pw.sh
我的想法是创建一个新的组vars/linux目录,其中包含仅适用于linux服务器的所有特定设置。在写这个问题时,我实际上找到了一个简洁的解决方案。所有常规设置(包括vault文件)都可以存储在默认的
All
组(请参见)中,所有Windows/Linux特定设置(如ansible\u connection
)都可以存储在单独的目录中:
group_vars
├── all
│ ├── main.yml
│ └── vault.yml
├── linux
│ └── main.yml
└── windows
└── main.yml
这正是做这件事的方法。如果其他主机应有自己的vault,还可以创建其他组,因为一个主机可以位于多个组中。我想你可以接受你的答案;)