在不同的组中重复使用 Ansible 保险库文件
Re-use Ansible vault file in different groups
我想扩展我当前的 Ansible 项目以支持 Linux 服务器。为此,我想重新使用我创建的保管库文件,但我似乎无法在不复制保管库文件的情况下找到解决方案。
这是我当前的 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
---
all:
children:
windows:
hosts:
win-server.mycompany.com
main.yml
---
- hosts: windows
tasks:
- block:
- include_role: { name: wait_for_host }
- include_role: { name: install_software }
剧本是运行这样的:
ansible-playbook main.yml -i inventory.yml --vault-password-file ./ansible_pw.sh
我的想法是创建一个新的 group_vars/linux 目录,其中包含仅适用于 linux 服务器的所有特定设置。
在写这个问题时,我实际上找到了很好的解决方案。所有常规设置(包括保险库文件)都可以存储在默认的 all
组中(参见 https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#default-groups),所有 Windows/Linux 特定设置(如 ansible_connection
)都可以存储在单独的目录:
group_vars
├── all
│ ├── main.yml
│ └── vault.yml
├── linux
│ └── main.yml
└── windows
└── main.yml
我想扩展我当前的 Ansible 项目以支持 Linux 服务器。为此,我想重新使用我创建的保管库文件,但我似乎无法在不复制保管库文件的情况下找到解决方案。
这是我当前的 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
---
all:
children:
windows:
hosts:
win-server.mycompany.com
main.yml
---
- hosts: windows
tasks:
- block:
- include_role: { name: wait_for_host }
- include_role: { name: install_software }
剧本是运行这样的:
ansible-playbook main.yml -i inventory.yml --vault-password-file ./ansible_pw.sh
我的想法是创建一个新的 group_vars/linux 目录,其中包含仅适用于 linux 服务器的所有特定设置。
在写这个问题时,我实际上找到了很好的解决方案。所有常规设置(包括保险库文件)都可以存储在默认的 all
组中(参见 https://docs.ansible.com/ansible/latest/user_guide/intro_inventory.html#default-groups),所有 Windows/Linux 特定设置(如 ansible_connection
)都可以存储在单独的目录:
group_vars
├── all
│ ├── main.yml
│ └── vault.yml
├── linux
│ └── main.yml
└── windows
└── main.yml