From 0e6a52c1be325ed746297524731a309255baa112 Mon Sep 17 00:00:00 2001 From: aggarwalakshun Date: Wed, 17 Dec 2025 20:45:01 +0530 Subject: [PATCH] use statefulSets and readinessProbes instead of initContainers --- .../default/tools/nextcloud/nextcloud-db.yml | 19 ++++++++++++------ .../default/tools/nextcloud/nextcloud-pvc.yml | 15 -------------- .../default/tools/nextcloud/nextcloud-svc.yml | 3 ++- .../default/tools/nextcloud/nextcloud.yml | 20 +++++++++---------- 4 files changed, 24 insertions(+), 33 deletions(-) diff --git a/clusters/default/tools/nextcloud/nextcloud-db.yml b/clusters/default/tools/nextcloud/nextcloud-db.yml index 40c48df..163d7bf 100644 --- a/clusters/default/tools/nextcloud/nextcloud-db.yml +++ b/clusters/default/tools/nextcloud/nextcloud-db.yml @@ -1,6 +1,6 @@ --- apiVersion: apps/v1 -kind: Deployment +kind: StatefulSet metadata: name: nextcloud-db namespace: tools @@ -8,6 +8,8 @@ spec: selector: matchLabels: app: nextcloud-db + serviceName: nextcloud-db + replicas: 1 template: metadata: labels: @@ -36,9 +38,14 @@ spec: - name: MARIADB_AUTO_UPGRADE value: "1" volumeMounts: - - name: nextcloud-db-storage + - name: nextcloud-db mountPath: /var/lib/mysql - volumes: - - name: nextcloud-db-storage - persistentVolumeClaim: - claimName: nextcloud-db-longhorn + volumeClaimTemplates: + - metadata: + name: nextcloud-db + spec: + accessModes: ["ReadWriteOnce"] + resources: + requests: + storage: 2Gi + storageClassName: longhorn diff --git a/clusters/default/tools/nextcloud/nextcloud-pvc.yml b/clusters/default/tools/nextcloud/nextcloud-pvc.yml index 32694af..f53e2a1 100644 --- a/clusters/default/tools/nextcloud/nextcloud-pvc.yml +++ b/clusters/default/tools/nextcloud/nextcloud-pvc.yml @@ -1,18 +1,3 @@ ---- -apiVersion: v1 -kind: PersistentVolumeClaim -metadata: - name: nextcloud-db-longhorn - namespace: tools -spec: - accessModes: - - ReadWriteOnce - volumeMode: Filesystem - resources: - requests: - storage: 2Gi - storageClassName: longhorn - --- apiVersion: v1 kind: PersistentVolumeClaim diff --git a/clusters/default/tools/nextcloud/nextcloud-svc.yml b/clusters/default/tools/nextcloud/nextcloud-svc.yml index 6f1eea4..1decd68 100644 --- a/clusters/default/tools/nextcloud/nextcloud-svc.yml +++ b/clusters/default/tools/nextcloud/nextcloud-svc.yml @@ -38,7 +38,7 @@ spec: apiVersion: v1 kind: Service metadata: - name: nextcloud-db-service + name: nextcloud-db namespace: tools spec: selector: @@ -47,3 +47,4 @@ spec: - protocol: TCP port: 3306 targetPort: 3306 + clusterIP: None diff --git a/clusters/default/tools/nextcloud/nextcloud.yml b/clusters/default/tools/nextcloud/nextcloud.yml index 230a5d7..72bf19d 100644 --- a/clusters/default/tools/nextcloud/nextcloud.yml +++ b/clusters/default/tools/nextcloud/nextcloud.yml @@ -15,20 +15,18 @@ spec: labels: app: nextcloud spec: - initContainers: - - name: wait-for-db - image: busybox - command: - - sh - - -c - - | - until nc -z -v -w30 nextcloud-db-service 3306; do - echo "Waiting for database to be ready..." - sleep 2 - done containers: - name: nextcloud image: lscr.io/linuxserver/nextcloud:32.0.3 + readinessProbe: + exec: + command: + - sh + - -c + - nc -z nextcloud-db.tools.svc.cluster.local 3306 + initialDelaySeconds: 5 + periodSeconds: 5 + failureThreshold: 3 ports: - containerPort: 443 env: