如何为分子测试指定一个保险库密码文件?
how to specify a vault password file to molecule test?
当运行用分子测试时:
molecule tests
并且某些文件受 ansible vault 保护,必须指定 --vault-password-file 以提供解密其内容的密码。
尽管可以使用 converge
做到这一点
molecule converge -- --vault-password-file ~/.vault.txt
分子测试失败
$ molecule test -- --vault-password-file ~/.vault.txt
Usage: molecule test [OPTIONS]
Error: Got unexpected extra arguments (--vault-password-file ~/.vault.txt)
像这样使用 ANSIBLE_VAULT_PASSWORD_FILE 环境变量:
ANSIBLE_VAULT_PASSWORD_FILE=$HOME/.vault.txt molecule test
将绕过分子参数解析逻辑并让 ansible 知道保险库密码所在的位置。
您可以通过 molecule.yml
文件中的 provisioner.config_options.defaults.vault_password_file
将密码文件传递给 molecule,如下所示:
provisioner:
name: ansible
config_options:
defaults:
vault_password_file: "${MOLECULE_SCENARIO_DIRECTORY}/vault.pw"
其中 vault.pw
是一个仅包含您的密码的纯文本文件(确保它得到妥善保护!)
保管库密码文件是直接传递给 Ansible 的选项,定义为 here
当运行用分子测试时:
molecule tests
并且某些文件受 ansible vault 保护,必须指定 --vault-password-file 以提供解密其内容的密码。
尽管可以使用 converge
做到这一点 molecule converge -- --vault-password-file ~/.vault.txt
分子测试失败
$ molecule test -- --vault-password-file ~/.vault.txt
Usage: molecule test [OPTIONS]
Error: Got unexpected extra arguments (--vault-password-file ~/.vault.txt)
像这样使用 ANSIBLE_VAULT_PASSWORD_FILE 环境变量:
ANSIBLE_VAULT_PASSWORD_FILE=$HOME/.vault.txt molecule test
将绕过分子参数解析逻辑并让 ansible 知道保险库密码所在的位置。
您可以通过 molecule.yml
文件中的 provisioner.config_options.defaults.vault_password_file
将密码文件传递给 molecule,如下所示:
provisioner:
name: ansible
config_options:
defaults:
vault_password_file: "${MOLECULE_SCENARIO_DIRECTORY}/vault.pw"
其中 vault.pw
是一个仅包含您的密码的纯文本文件(确保它得到妥善保护!)
保管库密码文件是直接传递给 Ansible 的选项,定义为 here