我有一个包含以下键/值对的值文件:
domains:
- name: "one.dev.beta.com"
- name: "two.dev.beta.com"
- name: "three.dev.beta.com"
- name: "four.dev.beta.com"
wwwRedirect: true
如果 wwwRedirect
为 true
,我需要一个 helm chart 来对行为进行条件化。我不熟悉在 GO 的 helm chart 中编写条件语句,想验证它是否可行。我想知道在将我的服务也部署到我的集群之前是否有办法测试这种行为:
{{ range .Values.domains }}
---
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: {{ .name }}
namespace: {{ $.Release.Namespace }}
spec:
secretName: {{ .name }}
duration: 2h
renewBefore: 2h
subject:
organizations:
- dev
isCA: false
privateKey:
algorithm: RSA
encoding: PKCS1
size: 2048
commonName: {{ .name }}
dnsNames:
{{ if not .name.wwwRedirect }}
- "{{ .name }}"
- "www.{{ .name }}"
{{ else }}
- "{{ .name }}"
{{ end }}
issuerRef:
name: letsencrypt-http01-traefik
kind: ClusterIssuer
{{ end }}
我要验证的具体部分在这里:
dnsNames:
{{ if not .name.wwwRedirect }}
- "{{ .name }}"
- "www.{{ .name }}"
{{ else }}
- "{{ .name }}"
{{ end }}
我在阅读本文时的假设是,如果 .name.wwwRedirect 不正确或不存在,那么它会将带 www 和不带 www 的 dns 名称应用到列表中。如果 name.Redirect 为真,那么它只会将其应用于名称。
最佳答案
关于kubernetes-helm - Helm If/else 如果存在则有条件值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72723457/