apiVersion: apps/v1
kind: Deployment
metadata:
  name: rclone-gcloud

spec:
  selector:
    matchLabels:
      app: rclone-gcloud
  template:
    metadata:
      labels:
        app: rclone-gcloud
    spec:
      containers:
      - name: rclone
        image: rclone/rclone:latest
        command: ["/bin/sh", "-c"]
        args: # mounted as a secret
          # >- strips newlines
            # sleep infinity
          - >-
            rclone
            --config /config/rclone.conf
            serve restic
            --addr :8000
            -v
            ETHZ-gdrive:backup

        volumeMounts:
          # from secret
          - name: rclone-config
            mountPath: /config
            readOnly: true
      volumes:
      - name: rclone-config
        secret:
          secretName: rclone-config-files

---
apiVersion: v1
kind: Service
metadata:
  name: rclone-gcloud

spec:
  selector:
    app: rclone-gcloud
  ports:
    - protocol: TCP
      port: 8000
      targetPort: 8000