Ansible Vault - .json 未加密

Ansible Vault - .json not unencrypted

我有一个 .json 文件,我已经用 ansible vault 成功加密了它:

{
  "database": {
    "username": "root",
    "password": "mypassword",
    "host": "127.0.0.1:3306",
    "name": "database"
  }
}

加密方式:ansible-vault encrypt config.json

运行 ansible 剧本:ansible-playbook -i hosts playbook.yml --ask-vault-pass

输入相同的密码,playbook 运行,但服务器上的文件未加密。

有什么想法吗?

不幸的是,您不能简单地加密文件然后将它们传输过来。关于这个有一些 github issues,但最终的解决方案是您必须将文件的加密内容存储在变量中或使用 lookup 插件获取文件内容并将它们远程放置。

加密变量应该是不言自明的。这是使用查找插件的快速示例:

- copy: 
    content: "{{ lookup('file', 'files/deepest/darkest/secrets') }}" 
    dest: /remote/unencrypted/destination