vmware-tanzu/helm-charts

Velero Helm Chart 7.0.0 service account imagePullSecrets invalid malformed

adonispd opened this issue · 1 comments

What steps did you take and what happened:
Using the Helm Chart 7.0.0 of velero we could not set the imagePullSecrets on service account due to a error

similar to

# serviceaccounts "velero" was not valid:
# * patch: Invalid value: "map[metadata:map[imagePullSecrets:[map[name:acr-pull-secret]]]]": strict decoding error: unknown field "metadata.imagePullSecrets"

What did you expect to happen:

the https://github.com/vmware-tanzu/helm-charts/blob/velero-7.0.0/charts/velero/templates/serviceaccount-server.yaml#L20-L23
instead

metadata:
...
  imagePullSecrets:
  {{- range .Values.serviceAccount.server.imagePullSecrets }}
    - name: {{ . }}
  {{- end }}
...

should be

metadata:
...
imagePullSecrets:
{{- range .Values.serviceAccount.server.imagePullSecrets }}
  - name: {{ . }}
{{- end }}
...

Anything else you would like to add:
Kubernetes guidelines about serviceaccount
https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/#add-image-pull-secret-to-service-account

Seems be a small issue but its impacts on data mover as it uses the same image of velero, but there is no configuration for imagePullSecrets to it. https://github.com/vmware-tanzu/velero/blob/v1.14.0/pkg/exposer/image.go#L45-L46

Environment:

  • helm version:
version.BuildInfo{Version:"v3.12.1", GitCommit:"f32a527a060157990e2aa86bf45010dfb3cc8b8d", GitTreeState:"clean", GoVersion:"go1.20.4"}
  • helm chart version and app version (use helm list -n <YOUR NAMESPACE>):
NAME          	NAMESPACE    	REVISION	UPDATED                                	STATUS  	CHART       	APP VERSION
cluster-velero	velero             	21      	2024-06-27 15:45:29.848202511 +0000 UTC	deployed	velero-7.0.0	1.14.0
  • Kubernetes version:
Client Version: version.Info{Major:"1", Minor:"27", GitVersion:"v1.27.2", GitCommit:"7f6f68fdabc4df88cfea2dcf9a19b2b830f1e647", GitTreeState:"clean", BuildDate:"2023-05-17T14:20:07Z", GoVersion:"go1.20.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"28+", GitVersion:"v1.28.9-eks-036c24b", GitCommit:"f75443c988661ca0a6dfa0dc01ea82dd42d31278", GitTreeState:"clean", BuildDate:"2024-04-30T23:54:04Z", GoVersion:"go1.21.9", Compiler:"gc", Platform:"linux/amd64"}
  • Kubernetes installer & version: (not needed)
  • Cloud provider or hardware configuration: (not needed)
  • OS (e.g. from /etc/os-release): (not needed)

Suggestion to solve the issue: #596