Ansible保险库 - 最佳实践文件夹结构

时间:2017-03-28 07:11:09

标签: ansible ansible-vault

我正在尝试找出用于组织我的保险库变量的最佳实践文件夹结构。

目前它看起来像这样:

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_varsgroup_vars一样?

我有这样的想法:

group_vars/
    group1/
        main.yml
        vault.yml
    group2/
        main.yml
        vault.yml

我能做些什么,所以我不必明确包含保险库变量吗?

2 个答案:

答案 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