我正在使用 terraform 部署官方气流舵图 https://artifacthub.io/packages/helm/apache-airflow/airflow,我正在尝试使用
file
函数读取 pod 模板文件并在内部使用它values.yaml
resource "helm_release" "airflow" {
name = "airflow"
namespace = "airflow"
repository = "https://airflow.apache.org"
chart = "airflow"
version = "1.11.0"
values = [
templatefile("values.yaml", {
...
template_file = file("${path.module}/airflow_templates/common_template.yaml")
})
]
}
我的主要关注点是来自
https://github.com/apache/airflow/blob/main/chart/values.yaml#L349的
extraConfigMaps
extraConfigMaps:
airflow-pod-templates-cm:
data: |-
test: 'hello'
common_template.yaml: "${template_file}"
但是这给了我
Error: ---> error converting YAML to JSON: yaml: line 109: could not find expected ':'
我怀疑这是错误的缩进,因为
common_template.yaml
的内容打印正确。我无法设置正确的缩进,我尝试了各种版本的模板,如 {{ printf "${template_path}" | indent 8 }}
或 {{ "${template_path}" | indent 8 }}
,但无法让它正常工作。我如何正确缩进?
common_template.yaml
的内容是这个文件https://github.com/apache/airflow/blob/main/chart/files/pod-template-file.kubernetes-helm-yaml
我想你已经-之后|对于“数据”,你可以尝试以下吗
extraConfigMaps:
airflow-pod-templates-cm:
data: |
test: 'hello'
common_template.yaml: "${template_file}"