apiVersion: batch/v1 kind: Job metadata: name: "{{ id }}" labels: role: "background-job" job_type: {{ job_type }} btrix.org: {{ oid }} spec: ttlSecondsAfterFinished: 0 backoffLimit: 3 template: spec: restartPolicy: Never priorityClassName: bg-job podFailurePolicy: rules: - action: FailJob onExitCodes: containerName: rclone operator: NotIn values: [0] containers: - name: rclone image: rclone/rclone:latest env: {% if job_type == BgJobType.CREATE_REPLICA %} - name: RCLONE_CONFIG_PRIMARY_TYPE value: "s3" - name: RCLONE_CONFIG_PRIMARY_ACCESS_KEY_ID valueFrom: secretKeyRef: name: "{{ primary_secret_name }}" key: STORE_ACCESS_KEY - name: RCLONE_CONFIG_PRIMARY_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: "{{ primary_secret_name }}" key: STORE_SECRET_KEY - name: RCLONE_CONFIG_PRIMARY_REGION valueFrom: secretKeyRef: name: "{{ primary_secret_name }}" key: STORE_REGION - name: RCLONE_CONFIG_PRIMARY_PROVIDER valueFrom: secretKeyRef: name: "{{ primary_secret_name }}" key: STORE_S3_PROVIDER - name: RCLONE_CONFIG_PRIMARY_ENDPOINT value: "{{ primary_endpoint }}" {% endif %} - name: RCLONE_CONFIG_REPLICA_TYPE value: "s3" - name: RCLONE_CONFIG_REPLICA_ACCESS_KEY_ID valueFrom: secretKeyRef: name: "{{ replica_secret_name }}" key: STORE_ACCESS_KEY - name: RCLONE_CONFIG_REPLICA_SECRET_ACCESS_KEY valueFrom: secretKeyRef: name: "{{ replica_secret_name }}" key: STORE_SECRET_KEY - name: RCLONE_CONFIG_REPLICA_REGION valueFrom: secretKeyRef: name: "{{ replica_secret_name }}" key: STORE_REGION - name: RCLONE_CONFIG_REPLICA_PROVIDER valueFrom: secretKeyRef: name: "{{ replica_secret_name }}" key: STORE_S3_PROVIDER - name: RCLONE_CONFIG_REPLICA_ENDPOINT value: "{{ replica_endpoint }}" {% if job_type == BgJobType.CREATE_REPLICA %} command: ["rclone", "-vv", "copyto", "--checksum", "primary:{{ primary_file_path }}", "replica:{{ replica_file_path }}"] {% elif job_type == BgJobType.DELETE_REPLICA %} command: ["rclone", "-vv", "delete", "replica:{{ replica_file_path }}"] {% endif %} resources: limits: memory: "200Mi" requests: memory: "200Mi" cpu: "50m"