我正在尝试找出用于组织我的保险库变量的最佳实践文件夹结构。
目前它看起来像这样:
group_vars/
group1.yml
group2.yml
host_vars/
host1.yml
host2.yml
roles/
.../
vault/
enc-file1.yml
enc-file2.yml
但是,这样我总是必须在我的角色中使用include_vars
source 特定的加密文件。
是否有任何命名约定和文件夹结构我可以应用Ansible将自动源正确的存储变量,就像它与host_vars
和group_vars
一样?
我有这样的想法:
group_vars/
group1/
main.yml
vault.yml
group2/
main.yml
vault.yml
我能做些什么,所以我不必明确包含保险库变量吗?
答案 0 :(得分:1)
我能做些什么,所以我不必明确包含保险库变量吗?
在最近的Ansible版本(从2.3开始)中,您不需要为受保险库保护的变量包含单独的文件。相反,您可以加密常规变量文件中的各个变量 - 请参阅Single Encrypted Variable。
是否有任何命名约定和文件夹结构[],Ansible将自动获取正确的存储变量[]?
不,没有惯例或自动机制。
答案 1 :(得分:1)
@cytopia,你的想法是什么。
您可以将加密/清除发明变量拆分为单独的文件。 Ansible将理清什么是加密的,什么不是。
我使用以下布局并且到目前为止没有任何问题(1.9.x - 2.2.1.0):
group_vars/
all/
clear
secret
group1/
clear
secret
group2/
clear
secret