簡體   English   中英

Helm 遍歷對象數組

[英]Helm iterating over array of objects

我有以下對象數組

--------------------------
customizedFactorImplVolume:
  - name: PasswordAuthn
    customFactorProviderDir: PasswordDir

  - name: FaceIdAuthn
    customFactorProviderDir: FaceIdDir 
--------------

當它作為“helm install --name jenkins -f my-values.yaml”傳遞時,我可以使用我的 deployment.yaml 中的“range”對其進行迭代。 但是,當我在使用“--set”helm 選項傳遞值時無法讀取它時:

--set customfactor.customizedFactorImplVolume[0].customFactorProviderDir=PasswordAuthentication --set customfactor.customizedFactorImplVolume[0].name=password --set customfactor.customizedFactorImplVolume[1].customFactorProviderDir=FaceIdAuthn --set customfactor.customizedFactorImplVolume[1].name =faceid

不確定“--set”中有什么不好(“range helm api 的值為 null)。任何幫助將不勝感激。

這是對數組元素的引用的問題。

值.yaml

customizedFactorImplVolume:
  - name: PasswordAuthn
    customFactorProviderDir: PasswordDir

  - name: FaceIdAuthn
    customFactorProviderDir: FaceIdDir 

模板/cfg.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: test
data:
  {{- range $v := .Values.customizedFactorImplVolume }}
  - name: {{ $v.name }}
    customFactorProviderDir: {{ $v.customFactorProviderDir }}
  {{- end }}

命令

helm template test . --set customizedFactorImplVolume.0.name=n0 --set customizedFactorImplVolume.0.customFactorProviderDir=d0 --set customizedFactorImplVolume.1.name=n1 --set customizedFactorImplVolume.1.customFactorProviderDir=d1

輸出

apiVersion: v1
kind: ConfigMap
metadata:
  name: test
data:
  - name: n0
    customFactorProviderDir: d0
  - name: n1
    customFactorProviderDir: d1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM