将variables传递给可靠的剧本

我需要在我的目标机器上从S3中构build一个构build。 因此,我需要将S3密钥和秘密以某种方式传递给正确的游戏手册。

我知道我可以在其中定义它们

  • 库存
  • 剧本本身

但我真的不想在那里存储凭据。

我可以在本地机器(或类似的东西)中使用环境variables吗?

$ENV(SOMEVAR){{ lookup('env', 'SOMEVAR') }} (1.1+)应该可以工作。 您也可以使用vars_prompt在playbook运行时请求它。

查看它允许您将variablesencryption到文件中,然后在运行时“解锁”该文件。

否则,你也可以在运行时用-e“”标志指定额外的variables:

 ansible-playbook -i inv/production myplaybook.yml -e "s3_key=<value here> s3_secret=<secret here>"