diff --git a/services/nextcloud/db-reset-job.yaml b/services/nextcloud/db-reset-job.yaml new file mode 100644 index 0000000..923c14a --- /dev/null +++ b/services/nextcloud/db-reset-job.yaml @@ -0,0 +1,38 @@ +# services/nextcloud/db-reset-job.yaml +apiVersion: batch/v1 +kind: Job +metadata: + name: nextcloud-db-reset + namespace: nextcloud +spec: + backoffLimit: 0 + ttlSecondsAfterFinished: 600 + template: + spec: + restartPolicy: Never + containers: + - name: psql + image: postgres:16 + env: + - name: PGHOST + value: postgres-service.postgres.svc.cluster.local + - name: PGUSER + valueFrom: + secretKeyRef: + name: nextcloud-db + key: db-username + - name: PGPASSWORD + valueFrom: + secretKeyRef: + name: nextcloud-db + key: db-password + - name: NC_DB + valueFrom: + secretKeyRef: + name: nextcloud-db + key: database + command: ["/bin/sh", "-c"] + args: + - | + set -euo pipefail + psql -d "${NC_DB}" -v ON_ERROR_STOP=1 -c "DROP SCHEMA public CASCADE; CREATE SCHEMA public;" diff --git a/services/nextcloud/kustomization.yaml b/services/nextcloud/kustomization.yaml index 66b00d4..65a07bc 100644 --- a/services/nextcloud/kustomization.yaml +++ b/services/nextcloud/kustomization.yaml @@ -6,11 +6,12 @@ resources: - namespace.yaml - configmap.yaml - pvc.yaml + - db-reset-job.yaml - deployment.yaml - - service.yaml - - ingress.yaml - cronjob.yaml - maintenance-cronjob.yaml + - service.yaml + - ingress.yaml configMapGenerator: - name: nextcloud-maintenance-script files: