我们正在使用Ansible Vault在我们的 Ansible Playbook git 存储库中存储密码、证书私钥等。我们现有的所有私有数据都是文本形式,因此我们可以将其存储在变量中。然后将它们用于模板或与content
复制模块的参数一起使用。
现在,我们有一个 Java KeyStore 文件,遗憾的是它是二进制格式。因此,它不能存储在变量中——或者至少我不知道该怎么做。在 git 中正确加密我们的文件但在运行时可用的最简单方法是ansible-playbook
什么?
我已经尝试过但没有成功:
{{base64_data | b64decode}}
。EF BF BD
导致结果文件的大量十六进制转储。这三个字节以 UTF-8 对 Unicode 替换字符进行编码,因此将二进制数据解释为文本存在问题。content="{{base64_data | b64decode}}"
。Ansible 抱怨“一个变量在模块 args 中插入了一个新参数。” 当使用单引号而不是双引号时,Ansible 会抱怨“解析参数字符串时出错”,并将所有二进制数据的副本转储到终端...小智 5
您可以使用带有 base64 变量的 shell 命令来执行此操作。
- vars:
- myvar: "<my_base64_var>"
- name: Create binary file
shell: "echo '{{myvar}}' | base64 -d > /var/tmp/binary.dat"
Run Code Online (Sandbox Code Playgroud)
埃里克
归档时间: |
|
查看次数: |
7095 次 |
最近记录: |