helm 如何在包含配置文件的整个不透明 Secret 的辅助函数中使用校验和/配置

问题描述 投票:0回答:1

我需要我的舵图结构看起来像这样。

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
中工作。有什么帮助吗?

最后一个问题是,模板本身在此存储库中有效吗?

kubernetes kubernetes-helm
1个回答
0
投票

所以我自己解决了这个问题。

首先,我们可以在模板中包含尽可能多的 _*tpl 或 yaml 文件,helm 会很好地选择它。

我能够通过在 _helpers.yaml 中执行以下操作来修复 BasePath,并将其包含在主 sts 模板中。

{{- define "btc.checksumTemplate" -}}
{{- $btcSecret := include (print $.Template.BasePath "/secret.yaml") . | fromYaml -}}
{{ print $btcSecret | sha256sum }}
{{- end -}}
© www.soinside.com 2019 - 2024. All rights reserved.