From 8675fbe70de0dbaa93f26f14714e850425ea3dff Mon Sep 17 00:00:00 2001 From: aggarwalakshun Date: Wed, 17 Dec 2025 20:45:08 +0530 Subject: [PATCH] use statefulSets and readinessProbes instead of initContainers --- .../tools/paperless-ngx/paperless-ngx-db.yml | 21 ++++++++++++------- .../tools/paperless-ngx/paperless-ngx-svc.yml | 2 +- .../tools/paperless-ngx/paperless-ngx.yml | 20 +++++++++++------- .../tools/paperless-ngx/paperless-pvc.yml | 15 ------------- 4 files changed, 27 insertions(+), 31 deletions(-) diff --git a/clusters/default/tools/paperless-ngx/paperless-ngx-db.yml b/clusters/default/tools/paperless-ngx/paperless-ngx-db.yml index 9984327..b84e290 100644 --- a/clusters/default/tools/paperless-ngx/paperless-ngx-db.yml +++ b/clusters/default/tools/paperless-ngx/paperless-ngx-db.yml @@ -1,15 +1,15 @@ --- apiVersion: apps/v1 -kind: Deployment +kind: StatefulSet metadata: name: paperless-ngx-db namespace: tools spec: - strategy: - type: Recreate selector: matchLabels: app: paperless-ngx-db + serviceName: paperless-ngx-db + replicas: 1 template: metadata: labels: @@ -21,10 +21,15 @@ spec: ports: - containerPort: 6379 volumeMounts: - - name: data + - name: paperless-ngx-db mountPath: /data subPath: redis - volumes: - - name: data - persistentVolumeClaim: - claimName: paperless-db-longhorn + volumeClaimTemplates: + - metadata: + name: paperless-ngx-db + spec: + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 500Mi + storageClassName: longhorn diff --git a/clusters/default/tools/paperless-ngx/paperless-ngx-svc.yml b/clusters/default/tools/paperless-ngx/paperless-ngx-svc.yml index b6f03e9..b6d0625 100644 --- a/clusters/default/tools/paperless-ngx/paperless-ngx-svc.yml +++ b/clusters/default/tools/paperless-ngx/paperless-ngx-svc.yml @@ -19,7 +19,7 @@ spec: apiVersion: v1 kind: Service metadata: - name: paperless-ngx-db-service + name: paperless-ngx-db namespace: tools spec: selector: diff --git a/clusters/default/tools/paperless-ngx/paperless-ngx.yml b/clusters/default/tools/paperless-ngx/paperless-ngx.yml index e51cde7..9fca8a1 100644 --- a/clusters/default/tools/paperless-ngx/paperless-ngx.yml +++ b/clusters/default/tools/paperless-ngx/paperless-ngx.yml @@ -15,18 +15,24 @@ spec: labels: app: paperless-ngx spec: - initContainers: - - 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.2 + readinessProbe: + exec: + command: + - bash + - -c + - | + (echo >/dev/tcp/paperless-ngx-db.tools.svc.cluster.local/6379) + initialDelaySeconds: 5 + periodSeconds: 5 + failureThreshold: 3 ports: - containerPort: 8000 env: - name: PAPERLESS_REDIS - value: "redis://paperless-ngx-db-service:6379" + value: "redis://paperless-ngx-db.tools.svc.cluster.local:6379" - name: PAPERLESS_URL valueFrom: secretKeyRef: @@ -47,9 +53,9 @@ spec: - name: PAPERLESS_TIKA_ENABLED value: "1" - name: PAPERLESS_TIKA_ENDPOINT - value: "http://tika-service:9998" + value: "http://tika-service.tools.svc.cluster.local:9998" - name: PAPERLESS_TIKA_GOTENBERG_ENDPOINT - value: "http://gotenberg-service:3000" + value: "http://gotenberg-service.tools.svc.cluster.local:3000" volumeMounts: - name: data mountPath: /usr/src/paperless/data diff --git a/clusters/default/tools/paperless-ngx/paperless-pvc.yml b/clusters/default/tools/paperless-ngx/paperless-pvc.yml index ad6255c..2c10821 100644 --- a/clusters/default/tools/paperless-ngx/paperless-pvc.yml +++ b/clusters/default/tools/paperless-ngx/paperless-pvc.yml @@ -12,18 +12,3 @@ spec: requests: storage: 2Gi storageClassName: longhorn - ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: paperless-db-longhorn - namespace: tools -spec: - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - resources: - requests: - storage: 1Gi - storageClassName: longhorn