diff --git a/cluster/apps/gitea/gitea-db.yml b/cluster/apps/gitea/gitea-db.yml new file mode 100644 index 0000000..b5fcedc --- /dev/null +++ b/cluster/apps/gitea/gitea-db.yml @@ -0,0 +1,44 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: gitea-db + namespace: default +spec: + selector: + matchLabels: + app: gitea-db + template: + metadata: + labels: + app: gitea-db + spec: + initContainers: + - name: init-cleanup + image: busybox + command: ["rm", "-rf", "/var/lib/postgresql/data/lost+found"] + volumeMounts: + - name: db + mountPath: /var/lib/postgresql/data + containers: + - name: gitea-db + image: postgres:15.10 + ports: + - containerPort: 5432 + env: + - name: POSTGRES_USER + value: "gitea" + - name: POSTGRES_PASSWORD + valueFrom: + secretKeyRef: + name: gitea-db-secret + key: password + - name: POSTGRES_DB + value: "gitea" + volumeMounts: + - name: db + mountPath: /var/lib/postgresql/data + volumes: + - name: db + persistentVolumeClaim: + claimName: longhorn-gitea-db diff --git a/cluster/apps/gitea/gitea-svc.yml b/cluster/apps/gitea/gitea-svc.yml index 58cfdb5..0607c1b 100644 --- a/cluster/apps/gitea/gitea-svc.yml +++ b/cluster/apps/gitea/gitea-svc.yml @@ -40,3 +40,17 @@ spec: - protocol: TCP port: 3000 targetPort: 3000 + +--- +apiVersion: v1 +kind: Service +metadata: + name: gitea-db-service + namespace: default +spec: + selector: + app: gitea-db + ports: + - protocol: TCP + port: 5432 + targetPort: 5432 diff --git a/cluster/apps/gitea/gitea.yml b/cluster/apps/gitea/gitea.yml index efbea93..8f094e6 100644 --- a/cluster/apps/gitea/gitea.yml +++ b/cluster/apps/gitea/gitea.yml @@ -15,28 +15,16 @@ spec: app: gitea-app spec: initContainers: - - name: init-cleanup + - name: wait-for-db image: busybox - command: ["rm", "-rf", "/var/lib/postgresql/data/lost+found"] - volumeMounts: - - name: db - mountPath: /var/lib/postgresql/data - - name: gitea-db - image: postgres:15.10 - restartPolicy: Always - env: - - name: POSTGRES_USER - value: "gitea" - - name: POSTGRES_PASSWORD - valueFrom: - secretKeyRef: - name: gitea-db-secret - key: password - - name: POSTGRES_DB - value: "gitea" - volumeMounts: - - name: db - mountPath: /var/lib/postgresql/data + command: + - sh + - -c + - | + until nc -z -v -w30 gitea-db-service 5432; do + echo "Waiting for psql database to be ready" + sleep 2 + done containers: - name: gitea image: gitea/gitea:1.23.8 @@ -51,7 +39,7 @@ spec: - name: GITEA__database__DB_TYPE value: "postgres" - name: GITEA__database__HOST - value: "localhost:5432" + value: "gitea-db-service:5432" - name: GITEA__database__NAME value: "gitea" - name: GITEA__database__USER @@ -81,6 +69,3 @@ spec: - name: gitea-data persistentVolumeClaim: claimName: longhorn-gitea - - name: db - persistentVolumeClaim: - claimName: longhorn-gitea-db