Files
helm-charts/charts/rclone-bucket/templates/common.yaml
Alex Lebens 5cb8e9d43e
All checks were successful
release-charts-rclone-bucket / release (push) Successful in 28s
lint-and-test / lint-helm (push) Successful in 54s
renovate / renovate (push) Successful in 1m20s
lint-and-test / chart-testing (push) Successful in 2m45s
feat: add rclone for bucket mirror
2026-04-25 20:42:45 -05:00

132 lines
5.1 KiB
YAML

{{- 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
- --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 "secret.envAccessKey" . }}
- name: RCLONE_CONFIG_SRC_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: {{ include "rclone.sourceSecretName" . }}
key: {{ include "secret.envSecretKey" . }}
- name: RCLONE_CONFIG_SRC_REGION
valueFrom:
secretKeyRef:
name: {{ include "rclone.sourceSecretName" . }}
key: {{ include "secret.envRegion" . }}
- name: RCLONE_CONFIG_SRC_ENDPOINT
valueFrom:
secretKeyRef:
name: {{ include "rclone.sourceSecretName" . }}
key: {{ include "secret.envSrcEndpoint" . }}
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE
value: {{ .Values.rclone.source.forcePathStyle }}
- 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 "secret.envAccessKey" . }}
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envSecretKey" . }}
- name: RCLONE_CONFIG_DEST_REGION
valueFrom:
secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envRegion" . }}
- name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom:
secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envDestEndpoint" . }}
- name: RCLONE_CONFIG_SRC_DEST_FORCE_PATH_STYLE
value: {{ .Values.rclone.destination.forcePathStyle }}
{{- 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 }}
- --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 "secret.envAccessKey" . }}
- name: RCLONE_CONFIG_DEST_SECRET_ACCESS_KEY
valueFrom:
secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envSecretKey" . }}
- name: RCLONE_CONFIG_DEST_REGION
valueFrom:
secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envRegion" . }}
- name: RCLONE_CONFIG_DEST_ENDPOINT
valueFrom:
secretKeyRef:
name: {{ include "rclone.destinationSecretName" . }}
key: {{ include "secret.envDestEndpoint" . }}
- name: RCLONE_CONFIG_SRC_S3_FORCE_PATH_STYLE
value: {{ .Values.rclone.destination.forcePathStyle }}
{{- end }}
{{- end -}}
{{- $_ := mergeOverwrite .Values (include "rclone.hardcodedValues" . | fromYaml) -}}
{{/* Render the templates */}}
{{ include "bjw-s.common.loader.generate" . }}