智能模板驱动的文档自动化:从填空题到端到端可信交付
2026/6/10 8:55:04
在 Hiera 中,百分号(%)用于插值。但有时我们需要在数据中指定一个字面意义的百分号,例如 Apache 配置中使用的%{HTTP_HOST}。为了在 Hiera 数据中写入这样的值,我们需要使用literal()函数。
示例:要将%{HTTP_HOST}作为 Hiera 数据写入,应写成%{literal('%')}{HTTP_HOST}。
更复杂的示例,在 Hiera 数据文件中:
force_www_rewrite: comment: "Force WWW" rewrite_cond: "%{literal('%')}{HTTP_HOST} !^www\\. [NC]" rewrite_rule: "^(.*)$ https://www.%{literal('%')}{HTTP_HOST}%{literal('%')}{REQUEST_URI} [R=301,L]"到目前为止,我们只使用了一个 Hiera 数据源(common.yaml)。实际上,你可以有任意数量的数据源,每个通常对应一个 YAML 文件,它们在hiera.yaml文件的hierarchy部分列出,优先级高的数据源排在前面