在不同组中重复使用Ansible vault文件

在不同组中重复使用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项目,以支持Linux服务器。为此,我希望重新使用已创建的vault文件,但如果不复制vault文件,我似乎无法找到解决方案

以下是我当前的Ansible结构

├── 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,还可以创建其他组,因为一个主机可以位于多个组中。我想你可以接受你的答案;)