This repository presents rclone helm chart to deploy in kubernetes.
- Job based deployment as
joborcronjob. - Supports setting up mutliple remotes (backends) in
rclone. - Customizable rclone command to run.
- Facilitates setting
rclone.conffile through config map resource. - Securely integrates credentials via external secrets operator.
(optioanl when implicit IAM auth methods are missing). - Chart unit tests.
helm repo add rclone https://abarrak.github.io/rclone-helm
helm install rclone-jobs rclone/rclone --version 2.1.0You can customize both the job and rclone configuration in values.yaml file.
| Key | Type | Default | Description |
|---|---|---|---|
| affinity | object | {} |
|
| backoffLimit | int | 3 |
|
| concurrencyPolicy | string | "Forbid" |
|
| enableExternalSecrets | bool | false |
|
| enablePlainSecrets | bool | false |
|
| envVars[0].name | string | "RCLONE_CONFIG_FILE" |
|
| envVars[0].value | string | "/opt/rclone.conf" |
|
| envVars[1].name | string | "REMOTE_A_NAME" |
|
| envVars[1].value | string | "" |
|
| envVars[2].name | string | "REMOTE_B_NAME" |
|
| envVars[2].value | string | "" |
|
| envVars[3].name | string | "REMOTE_A_BUCKET" |
|
| envVars[3].value | string | "" |
|
| envVars[4].name | string | "REMOTE_B_BUCKET" |
|
| envVars[4].value | string | "" |
|
| failedJobsHistoryLimit | int | 5 |
|
| fullnameOverride | string | "" |
|
| image.pullPolicy | string | "IfNotPresent" |
|
| image.repository | string | "rclone/rclone" |
|
| image.tag | string | "1.68" |
|
| imagePullSecrets | list | [] |
|
| nameOverride | string | "" |
|
| nodeSelector | object | {} |
|
| podAnnotations | object | {} |
|
| podLabels | object | {} |
|
| podSecurityContext | object | {} |
|
| rclone.command | string | "rclone copy $REMOTE_A_NAME:\"$REMOTE_A_BUCKET/\" $REMOTE_B_NAME:\"$REMOTE_A_BUCKET/\" --config $RCLONE_CONFIG_FILE --log-level=DEBUG --retries=1 --fast-list --progress --ignore-checksum --metadata --metadata-include \"tier=STANDARD\"\n" |
|
| rclone.config | string | "" |
|
| remoteBackendsExternalSecrets | list | [] |
|
| remoteBackendsSecrets | list | [] |
|
| resources | object | {} |
|
| restartPolicy | string | "OnFailure" |
|
| schedule | string | "0 10 * * *" |
|
| securityContext | object | {} |
|
| serviceAccount.annotations | object | {} |
|
| serviceAccount.automount | bool | true |
|
| serviceAccount.create | bool | true |
|
| serviceAccount.name | string | "" |
|
| startingDeadlineSeconds | string | "" |
|
| successfulJobsHistoryLimit | int | 5 |
|
| suspend | bool | false |
|
| timeZone | string | "" |
|
| tolerations | list | [] |
|
| ttlSecondsAfterFinished | string | "518400" |
|
| volumeMounts[0].mountPath | string | "/opt/rclone.conf" |
|
| volumeMounts[0].name | string | "rclone-conf" |
|
| volumeMounts[0].readOnly | bool | false |
|
| volumeMounts[0].subPath | string | "rclone.conf" |
|
| volumes[0].configMap.name | string | "rclone" |
|
| volumes[0].name | string | "rclone-conf" |
MIT.