apiVersion: apps/v1 kind: Deployment metadata: name: {{ include "velero.fullname" . }} namespace: velero labels: {{- include "velero.labels" . | nindent 4 }} spec: replicas: 1 selector: matchLabels: {{- include "velero.selectorLabels" . | nindent 6 }} template: metadata: labels: {{- include "velero.selectorLabels" . | nindent 8 }} spec: serviceAccountName: {{ include "velero.serviceAccountName" . }} securityContext: {{- toYaml .Values.securityContext | nindent 8 }} containers: - name: velero image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}" imagePullPolicy: {{ .Values.image.pullPolicy }} command: - /velero args: - server {{- range .Values.plugins }} - --plugins - {{ . }} {{- end }} - --default-volumes-to-restic={{ .Values.restic.enabled }} - --uploader-type=restic env: - name: VELERO_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace - name: VELERO_SCRATCH_DIR value: /scratch - name: VELERO_STORAGE_PROVIDER value: {{ .Values.backupStorage.provider }} - name: VELERO_BACKUP_BUCKET value: {{ .Values.backupStorage.bucket }} - name: VELERO_BACKUP_REGION value: {{ .Values.backupStorage.region }} - name: AWS_SHARED_CREDENTIALS_FILE value: /credentials/cloud - name: STORJ_ACCESS_KEY_ID valueFrom: secretKeyRef: name: {{ include "velero.fullname" . }}-cloud-credentials key: storj_access_key_id - name: STORJ_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: {{ include "velero.fullname" . }}-cloud-credentials key: storj_secret_access_key - name: STORJ_ACCESS_GRANT valueFrom: secretKeyRef: name: {{ include "velero.fullname" . }}-cloud-credentials key: storj_access_grant optional: true volumeMounts: - name: plugins mountPath: /plugins - name: scratch mountPath: /scratch - name: cloud-credentials mountPath: /credentials ports: - name: http containerPort: 8085 protocol: TCP livenessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: /healthz port: http initialDelaySeconds: 5 periodSeconds: 10 resources: {{- toYaml .Values.resources | nindent 12 }} volumes: - name: plugins emptyDir: {} - name: scratch emptyDir: {} - name: cloud-credentials secret: secretName: {{ include "velero.fullname" . }}-cloud-credentials {{- with .Values.imagePullSecrets }} imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }}