I am trying to pass values from the object:
values.yaml
objects:
- name: kv-secret-name-1
type: secret
- name: kv-secret-name-2
type: secret
and create the 'SecretProviderClass` resource. Expected format is:
apiVersion: secrets-store.csi.x-k8s.io/v1
kind: SecretProviderClass
metadata:
name: azure-kvname-wi # needs to be unique per namespace
spec:
provider: azure
parameters:
objects: |
array:
- |
objectName: kv-secret-name-1 # Set to the name of your secret
objectType: secret # object types: secret, key, or cert
- |
objectName: kv-secret-name-2 # Set to the name of your secret
objectType: secret # object types: secret, key, or cert
I was trying to loop inside objects param but got error converting YAML to JSON, like this:
...
objects: |
array:
{{- range $o := .Values.objects }}
- |
objectName: {{ $o.name }}
objectType: {{ $o.type }}
{{- end }}
...
Any suggestion?
rangeloop matches almost exactly what I'd write here. Have you tried runninghelm template --debugto see what YAML actually gets written out? Sometimes that error can come from extra{{- ... -}}whitespace-control hyphens, maybe in the line before or after what you've shown here.