{{- include "bjw-s.common.loader.init" . }} {{- define "rclone.hardcodedValues" -}} global: nameOverride: {{ include "rclone.name" . }} fullNameOverride: {{ include "rclone.name" . }} controllers: main: type: cronjob {{- with .Values.cronJob }} cronjob: {{- toYaml . | nindent 6 }} {{ end }} containers: sync: image: repository: {{ .Values.image.repository }} tag: {{ .Values.image.tag }} pullPolicy: {{ .Values.image.pullPolicy }} args: - sync - src:{{ .Values.rclone.source.bucketName }} - dest:{{ .Values.rclone.destination.bucketName }} - --s3-no-check-bucket {{- if .Values.prune.enabled }} - --max-age - {{ .Values.prune.ageToPrune | quote }} {{- end }} {{- if .Values.prune.include }} - --include - {{ .Values.prune.include | quote }} {{- end }} {{- if .Values.prune.exclude }} - --exclude - {{ .Values.prune.exclude | quote }} {{- end }} - --verbose env: - name: RCLONE_S3_PROVIDER value: {{ .Values.rclone.providerType }} - name: RCLONE_CONFIG_SRC_TYPE value: s3 - name: RCLONE_CONFIG_SRC_PROVIDER value: {{ .Values.rclone.source.providerType }} - name: RCLONE_CONFIG_SRC_ENV_AUTH value: "false" - name: RCLONE_CONFIG_SRC_ACCESS_KEY_ID valueFrom: secretKeyRef: name: {{ include "rclone.sourceSecretName" . }} key: {{ include "secretRclone.envAccessKey" . }} - name: RCLONE_CONFIG_SRC_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: {{ include "rclone.sourceSecretName" . }} key: {{ include "secretRclone.envSecretKey" . }} - name: RCLONE_CONFIG_SRC_REGION valueFrom: secretKeyRef: name: {{ include "rclone.sourceSecretName" . }} key: {{ include "secretRclone.envRegion" . }} - name: RCLONE_CONFIG_SRC_ENDPOINT valueFrom: secretKeyRef: name: {{ include "rclone.sourceSecretName" . }} key: {{ include "secretRclone.envSrcEndpoint" . }} - name: RCLONE_CONFIG_SRC_FORCE_PATH_STYLE value: {{ .Values.rclone.source.forcePathStyle | quote }} - name: RCLONE_CONFIG_DEST_TYPE value: s3 - name: RCLONE_CONFIG_DEST_PROVIDER value: {{ .Values.rclone.destination.providerType }} - name: RCLONE_CONFIG_DEST_ENV_AUTH value: "false" - name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID valueFrom: secretKeyRef: name: {{ include "rclone.destinationSecretName" . }} key: {{ include "secretRclone.envAccessKey" . }} - name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: {{ include "rclone.destinationSecretName" . }} key: {{ include "secretRclone.envSecretKey" . }} - name: RCLONE_CONFIG_DEST_REGION valueFrom: secretKeyRef: name: {{ include "rclone.destinationSecretName" . }} key: {{ include "secretRclone.envRegion" . }} - name: RCLONE_CONFIG_DEST_ENDPOINT valueFrom: secretKeyRef: name: {{ include "rclone.destinationSecretName" . }} key: {{ include "secretRclone.envDestEndpoint" . }} - name: RCLONE_CONFIG_DEST_FORCE_PATH_STYLE value: {{ .Values.rclone.destination.forcePathStyle | quote }} {{- if .Values.prune.enabled }} prune: image: repository: {{ .Values.image.repository }} tag: {{ .Values.image.tag }} pullPolicy: {{ .Values.image.pullPolicy }} args: - delete - dest:{{ .Values.rclone.destination.bucketName }} - --min-age - {{ .Values.prune.ageToPrune | quote }} - --verbose env: - name: RCLONE_CONFIG_DEST_TYPE value: s3 - name: RCLONE_CONFIG_DEST_PROVIDER value: {{ .Values.rclone.destination.providerType }} - name: RCLONE_CONFIG_DEST_ENV_AUTH value: "false" - name: RCLONE_CONFIG_DEST_ACCESS_KEY_ID valueFrom: secretKeyRef: name: {{ include "rclone.destinationSecretName" . }} key: {{ include "secretRclone.envAccessKey" . }} - name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: {{ include "rclone.destinationSecretName" . }} key: {{ include "secretRclone.envSecretKey" . }} - name: RCLONE_CONFIG_DEST_REGION valueFrom: secretKeyRef: name: {{ include "rclone.destinationSecretName" . }} key: {{ include "secretRclone.envRegion" . }} - name: RCLONE_CONFIG_DEST_ENDPOINT valueFrom: secretKeyRef: name: {{ include "rclone.destinationSecretName" . }} key: {{ include "secretRclone.envDestEndpoint" . }} - name: RCLONE_CONFIG_DEST_FORCE_PATH_STYLE value: {{ .Values.rclone.destination.forcePathStyle | quote }} {{- end }} {{- end -}} {{- $_ := mergeOverwrite .Values (include "rclone.hardcodedValues" . | fromYaml) -}} {{/* Render the templates */}} {{ include "bjw-s.common.loader.generate" . }}