use statefulSets and readinessProbes instead of initContainers
All checks were successful
Validate Kubernetes Manifests / kubeconform (push) Successful in 58s
renovate / renovate (push) Successful in 2m47s

This commit is contained in:
2025-12-17 20:45:08 +05:30
parent 0e6a52c1be
commit 8675fbe70d
4 changed files with 27 additions and 31 deletions

View File

@@ -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

View File

@@ -19,7 +19,7 @@ spec:
apiVersion: v1
kind: Service
metadata:
name: paperless-ngx-db-service
name: paperless-ngx-db
namespace: tools
spec:
selector:

View File

@@ -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

View File

@@ -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