# Sync pod that runs on blackstaff apiVersion: apps/v1 kind: Deployment metadata: name: sync namespace: apps spec: replicas: 1 selector: matchLabels: name: paperless-sync template: metadata: labels: name: paperless-sync spec: affinity: nodeAffinity: requiredDuringSchedulingIgnoredDuringExecution: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - blackstaff containers: - name: sync image: alpine:latest command: - /bin/sh - -c - | apk add --no-cache inotify-tools WATCH_DIR=/sftp DEST_DIR=/consume/scanner while true; do inotifywait --monitor --quiet -e close_write $WATCH_DIR | while read -r directory action file; do new=$(echo $file | sed 's/^\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{4\}\)_\([0-9]\{2\}\)\([0-9]\{2\}\)\([0-9]\{2\}\)_/\1-\2-\3_\4:\5:\6_/') cp -v ${directory}${file} ${DEST_DIR}/${new} rm -v ${directory}${file} done done volumeMounts: - name: sftp-volume mountPath: /sftp - name: consume-volume mountPath: /consume subPath: consume volumes: - name: sftp-volume persistentVolumeClaim: claimName: paperless-sftp - name: consume-volume persistentVolumeClaim: claimName: paperless-consume