velero: {{- if and (hasKey .Requirements "velero") (hasKey .Requirements.velero "namespace") }} {{- if .Requirements.velero.namespace }} enabled: true {{- else }} enabled: false {{- end }} {{- else }} enabled: false {{- end }} rbac: create: true credentials: useSecret: true existingSecret: velero-secret snapshotsEnabled: false {{- if eq .Requirements.cluster.provider "gke" }} initContainers: - name: velero-plugin-for-gcp image: velero/velero-plugin-for-gcp:v1.0.0 imagePullPolicy: IfNotPresent volumeMounts: - mountPath: /target name: plugins configuration: provider: gcp backupStorageLocation: name: gcp bucket: {{ .Requirements.storage.backup.url | removeScheme | quote }} {{- else if or (eq .Requirements.cluster.provider "aws") (eq .Requirements.cluster.provider "eks") }} initContainers: - name: velero-plugin-for-aws image: velero/velero-plugin-for-aws:v1.0.0 imagePullPolicy: IfNotPresent volumeMounts: - mountPath: /target name: plugins configuration: provider: aws backupStorageLocation: name: aws bucket: {{ .Requirements.storage.backup.url | removeScheme | quote }} config: region: {{ .Requirements.cluster.region | quote }} {{- else if eq .Requirements.cluster.provider "azure" }} initContainers: - name: velero-plugin-for-azure image: velero/velero-plugin-for-microsoft-azure:v1.0.0 imagePullPolicy: IfNotPresent volumeMounts: - mountPath: /target name: plugins configuration: provider: azure backupStorageLocation: name: azure bucket: {{ .Requirements.storage.backup.url | removeScheme | quote }} config: storageAccount: {{ .Requirements.velero.serviceAccount | quote }} {{- else if eq .Requirements.cluster.provider "iks" }} initContainers: - name: velero-plugin-for-aws image: velero/velero-plugin-for-aws:v1.0.0 imagePullPolicy: IfNotPresent volumeMounts: - mountPath: /target name: plugins configuration: provider: aws backupStorageLocation: name: aws bucket: bucket-name config: region: {{ .Requirements.cluster.region | quote }} s3ForcePathStyle: "true" s3Url: {{ .Requirements.storage.backup.url | quote }} {{- end }}