k3s/namespaces/apps/paperless/extra/deploy-sync.yaml

57 lines
1.7 KiB
YAML
Raw Normal View History

2025-01-31 10:33:46 -05:00
# 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