From ae49f05be343037c104b55c8a4a2eb53122f03b4 Mon Sep 17 00:00:00 2001 From: aggarwalakshun Date: Wed, 10 Dec 2025 03:39:49 +0530 Subject: [PATCH] split db and app into two deployments --- .../tools/paperless-ngx/paperless-ngx-db.yml | 30 +++++++++++++++++++ .../tools/paperless-ngx/paperless-ngx-svc.yml | 13 ++++++++ .../tools/paperless-ngx/paperless-ngx.yml | 14 +++------ .../tools/paperless-ngx/paperless-pvc.yml | 15 ++++++++++ 4 files changed, 62 insertions(+), 10 deletions(-) create mode 100644 clusters/default/tools/paperless-ngx/paperless-ngx-db.yml diff --git a/clusters/default/tools/paperless-ngx/paperless-ngx-db.yml b/clusters/default/tools/paperless-ngx/paperless-ngx-db.yml new file mode 100644 index 0000000..9984327 --- /dev/null +++ b/clusters/default/tools/paperless-ngx/paperless-ngx-db.yml @@ -0,0 +1,30 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: paperless-ngx-db + namespace: tools +spec: + strategy: + type: Recreate + selector: + matchLabels: + app: paperless-ngx-db + template: + metadata: + labels: + app: paperless-ngx-db + spec: + containers: + - name: paperless-ngx-db + image: docker.io/library/redis:8 + ports: + - containerPort: 6379 + volumeMounts: + - name: data + mountPath: /data + subPath: redis + volumes: + - name: data + persistentVolumeClaim: + claimName: paperless-db-longhorn diff --git a/clusters/default/tools/paperless-ngx/paperless-ngx-svc.yml b/clusters/default/tools/paperless-ngx/paperless-ngx-svc.yml index 931f156..b6f03e9 100644 --- a/clusters/default/tools/paperless-ngx/paperless-ngx-svc.yml +++ b/clusters/default/tools/paperless-ngx/paperless-ngx-svc.yml @@ -14,3 +14,16 @@ spec: ports: - port: 8001 targetPort: 8000 + +--- +apiVersion: v1 +kind: Service +metadata: + name: paperless-ngx-db-service + namespace: tools +spec: + selector: + app: paperless-ngx-db + ports: + - port: 6379 + targetPort: 6379 diff --git a/clusters/default/tools/paperless-ngx/paperless-ngx.yml b/clusters/default/tools/paperless-ngx/paperless-ngx.yml index 3543111..b6dbfb5 100644 --- a/clusters/default/tools/paperless-ngx/paperless-ngx.yml +++ b/clusters/default/tools/paperless-ngx/paperless-ngx.yml @@ -16,15 +16,9 @@ spec: app: paperless-ngx spec: initContainers: - - name: paperless-ngx-db - image: docker.io/library/redis:8 - restartPolicy: Always - ports: - - containerPort: 6379 - volumeMounts: - - name: data - mountPath: /data - subPath: redis + - name: wait-for-redis + image: busybox:latest + command: ['sh', '-c', 'until nc -z paperless-ngx-db-service 6379; do echo waiting for redis; sleep 2; done;'] containers: - name: paperless-ngx image: ghcr.io/paperless-ngx/paperless-ngx:2.20.1 @@ -32,7 +26,7 @@ spec: - containerPort: 8000 env: - name: PAPERLESS_REDIS - value: "redis://localhost:6379" + value: "redis://paperless-ngx-db-service:6379" - name: PAPERLESS_URL valueFrom: secretKeyRef: diff --git a/clusters/default/tools/paperless-ngx/paperless-pvc.yml b/clusters/default/tools/paperless-ngx/paperless-pvc.yml index 2a7034c..ad6255c 100644 --- a/clusters/default/tools/paperless-ngx/paperless-pvc.yml +++ b/clusters/default/tools/paperless-ngx/paperless-pvc.yml @@ -4,6 +4,21 @@ kind: PersistentVolumeClaim metadata: name: paperless-longhorn namespace: tools +spec: + accessModes: + - ReadWriteOnce + volumeMode: Filesystem + resources: + requests: + storage: 2Gi + storageClassName: longhorn + +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: paperless-db-longhorn + namespace: tools spec: accessModes: - ReadWriteOnce