Files
sbbb/scripts/migrate-mbox-job.yaml

58 lines
1.7 KiB
YAML
Raw Normal View History

apiVersion: batch/v1
kind: Job
metadata:
name: migrate-mbox
namespace: stalwart
spec:
template:
spec:
restartPolicy: Never
initContainers:
- name: export
image: python:3.12-slim
command: ["/bin/sh", "-c", "pip -q install psycopg2-binary && python3 /scripts/export-mbox.py && ls -la /tmp/mbox/"]
env:
- name: DB_PASSWORD
valueFrom:
secretKeyRef:
name: messages-db-credentials
key: password
volumeMounts:
- name: script
mountPath: /scripts
- name: mbox
mountPath: /tmp/mbox
containers:
- name: import
image: stalwartlabs/stalwart:v0.15.5
command:
- /bin/sh
- -c
- |
URL="http://stalwart.stalwart.svc.cluster.local:8080"
CREDS="admin:${ADMIN_PASSWORD}"
for mbox in /tmp/mbox/*.mbox; do
ACCOUNT=$(basename "$mbox" .mbox)
echo "=== Importing $mbox into $ACCOUNT ==="
stalwart-cli -u "$URL" -c "$CREDS" import messages -f mbox "$ACCOUNT" "$mbox"
echo ""
done
echo "All imports complete."
env:
- name: ADMIN_PASSWORD
valueFrom:
secretKeyRef:
name: stalwart-app-secrets
key: admin-password
volumeMounts:
- name: mbox
mountPath: /tmp/mbox
volumes:
- name: script
configMap:
name: export-mbox-script
- name: mbox
emptyDir: {}