104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			104 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
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-jobs
 | 
						|
      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"
 |