Kitchen .kitchen.yml 多行环境变量

Kitchen .kitchen.yml multiple-line environment variable

对于 Kitchen,我正在尝试使用 .kitchen.yml 定义具有多行环境变量的属性,例如:

attributes:
  foo:
    ssh:
      key_private: <%= ENV['CHEF_SSH_KEY_PRIVATE'] %>

多行 CHEF_SSH_KEY_PRIVATE 变量看起来像:

-----BEGIN RSA PRIVATE KEY-----
...
...
-----END RSA PRIVATE KEY-----

此方法对单行变量工作得很好,但是当使用多行变量时无法解析文件。我怀疑 "compiled" 文件没有正确的缩进,但我不能直接在变量上设置缩进,因为它可能用于需要不同缩进级别的其他 YAML 文件。

如何在 YAML 中正确使用多行环境变量而不出现解析问题?

您可以将环境变量设置为包含带有转义换行符的双引号单行字符串,例如

"-----BEGIN RSA PRIVATE KEY-----\n...\n...\n-----END RSA PRIVATE KEY-----"

这可以安全地包含在 YAML 文档中任何需要内容节点的位置。