56 lines
1.7 KiB
YAML
56 lines
1.7 KiB
YAML
# 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
|