我需要我的舵图结构看起来像这样。
apache-template
├── Chart.yaml
├── templates
│ ├── _helpers.tpl
│ ├── _stateful-set.yaml
│ ├── configmap-bootstrap.yaml
│ ├── configmap-auth-generate.yaml
│ ├── ingress.yaml
│ ├── secret-conf.yaml
│ ├── service.yaml
│ ├── serviceaccount.yaml
│ └── statefulset.yaml
└── values.yaml
我根据从主
_stateful-set.yaml
传递的参数渲染并包含这个statefulset.yaml
文件。
我的辅助图表中有一个片段
_stateful-set.yaml
annotations:
checksum/config: {{ include (print $.Template.BasePath "/secret.yaml") . }}
{{- $btcSecret := include (print $.Template.BasePath "/secret.yaml") . | sha256sum -}}
我无法让这个
include
在_stateful-set.yaml
中工作。有什么帮助吗?
最后一个问题是,模板本身在此存储库中有效吗?
所以我自己解决了这个问题。
首先,我们可以在模板中包含尽可能多的 _*tpl 或 yaml 文件,helm 会很好地选择它。
我能够通过在 _helpers.yaml 中执行以下操作来修复 BasePath,并将其包含在主 sts 模板中。
{{- define "btc.checksumTemplate" -}}
{{- $btcSecret := include (print $.Template.BasePath "/secret.yaml") . | fromYaml -}}
{{ print $btcSecret | sha256sum }}
{{- end -}}