Moved platform databases to platform-postgres

This commit is contained in:
Arvind Prabhakar 2026-06-24 20:28:38 +00:00
commit 5ee0a9e59d
8 changed files with 57 additions and 53 deletions

View file

@ -22,7 +22,7 @@ route:
servicePort: 3000 servicePort: 3000
database: database:
host: postgres.database.svc.cluster.local host: platform-postgres.platform-services.svc.cluster.local
port: 5432 port: 5432
name: forgejo name: forgejo
user: forgejo user: forgejo

View file

@ -19,6 +19,9 @@ openproject:
name: "IT Admin" name: "IT Admin"
mail: "it.admin@symcrest.com" mail: "it.admin@symcrest.com"
cron:
enabled: false
hocuspocus: hocuspocus:
enabled: false enabled: false
@ -38,7 +41,7 @@ persistence:
postgresql: postgresql:
bundled: false bundled: false
connection: connection:
host: postgres.database.svc.cluster.local host: platform-postgres.platform-services.svc.cluster.local
port: 5432 port: 5432
auth: auth:
existingSecret: openproject-postgres-secret existingSecret: openproject-postgres-secret

View file

@ -1,12 +1,12 @@
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: postgres name: {{ .Values.name }}
namespace: {{ .Values.namespace }} namespace: {{ .Values.namespace }}
spec: spec:
type: ClusterIP type: ClusterIP
selector: selector:
app: postgres app: {{ .Values.name }}
ports: ports:
- name: postgres - name: postgres
port: 5432 port: 5432

View file

@ -1,18 +1,18 @@
apiVersion: apps/v1 apiVersion: apps/v1
kind: StatefulSet kind: StatefulSet
metadata: metadata:
name: postgres name: {{ .Values.name }}
namespace: {{ .Values.namespace }} namespace: {{ .Values.namespace }}
spec: spec:
serviceName: postgres serviceName: {{ .Values.name }}
replicas: 1 replicas: 1
selector: selector:
matchLabels: matchLabels:
app: postgres app: {{ .Values.name }}
template: template:
metadata: metadata:
labels: labels:
app: postgres app: {{ .Values.name }}
spec: spec:
nodeSelector: nodeSelector:
{{ toYaml .Values.nodeSelector | indent 8 }} {{ toYaml .Values.nodeSelector | indent 8 }}
@ -22,22 +22,28 @@ spec:
ports: ports:
- containerPort: 5432 - containerPort: 5432
name: postgres name: postgres
envFrom: env:
- secretRef: - name: POSTGRES_DB
name: postgres-secret value: {{ .Values.auth.database | quote }}
- name: POSTGRES_USER
value: {{ .Values.auth.username | quote }}
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.auth.secret }}
key: password
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
volumeMounts: volumeMounts:
- name: postgres-data - name: postgres-data
mountPath: /var/lib/postgresql/data mountPath: /var/lib/postgresql/data
env:
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
volumeClaimTemplates: volumeClaimTemplates:
- metadata: - metadata:
name: postgres-data name: postgres-data
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: {{ .Values.storage.className | quote }} storageClassName: {{ .Values.storage.className }}
resources: resources:
requests: requests:
storage: {{ .Values.storage.size | quote }} storage: {{ .Values.storage.size }}

View file

@ -1,4 +1,5 @@
namespace: database name: platform-postgres
namespace: platform-services
image: image:
repository: postgres repository: postgres
@ -7,7 +8,7 @@ image:
auth: auth:
database: postgres database: postgres
username: postgres username: postgres
secret: postgres-secret secret: platform-postgres-secret
storage: storage:
className: longhorn className: longhorn

View file

@ -65,7 +65,7 @@ spec:
- name: FORGEJO__database__DB_TYPE - name: FORGEJO__database__DB_TYPE
value: "postgres" value: "postgres"
- name: FORGEJO__database__HOST - name: FORGEJO__database__HOST
value: "postgres.database.svc.cluster.local:5432" value: "platform-postgres.platform-services.svc.cluster.local:5432"
- name: FORGEJO__database__NAME - name: FORGEJO__database__NAME
value: "forgejo" value: "forgejo"
- name: FORGEJO__database__USER - name: FORGEJO__database__USER

View file

@ -72,9 +72,9 @@ metadata:
app.kubernetes.io/component: openproject app.kubernetes.io/component: openproject
data: # reset data to make sure only keys defined below remain data: # reset data to make sure only keys defined below remain
stringData: stringData:
DATABASE_HOST: "postgres.database.svc.cluster.local" DATABASE_HOST: "platform-postgres.platform-services.svc.cluster.local"
DATABASE_PORT: "5432" DATABASE_PORT: "5432"
DATABASE_URL: "postgresql://openproject@postgres.database.svc.cluster.local:5432/openproject" DATABASE_URL: "postgresql://openproject@platform-postgres.platform-services.svc.cluster.local:5432/openproject"
OPENPROJECT_SEED_ADMIN_USER_PASSWORD: "TempPass123" OPENPROJECT_SEED_ADMIN_USER_PASSWORD: "TempPass123"
OPENPROJECT_SEED_ADMIN_USER_PASSWORD_RESET: "true" OPENPROJECT_SEED_ADMIN_USER_PASSWORD_RESET: "true"
OPENPROJECT_SEED_ADMIN_USER_NAME: "IT Admin" OPENPROJECT_SEED_ADMIN_USER_NAME: "IT Admin"
@ -124,7 +124,7 @@ metadata:
"helm.sh/resource-policy": "keep" "helm.sh/resource-policy": "keep"
data: # reset data to make sure only keys defined below remain data: # reset data to make sure only keys defined below remain
stringData: stringData:
secret-key-base: dNM2C8uej7qGsjJHjKMRAxncbVREhzBOysrk7iVCVr6MHEibFCgDwbRSqB8Qe9WK secret-key-base: SDuOoKzOjz5WqKN1MUWy3hmnXAr7xWyP8aRRiSp2CdYbKXVL2cpNPgbk8pQSWkdu
... ...
--- ---
# Source: openproject/templates/persistentvolumeclaim.yaml # Source: openproject/templates/persistentvolumeclaim.yaml
@ -331,7 +331,7 @@ spec:
# annotate pods with env value checksums so changes trigger re-deployments # annotate pods with env value checksums so changes trigger re-deployments
checksum/env-core: d595adde5a7e1007834c68766ac51f7652c1246a63b976431b0ee5a6c9870a78 checksum/env-core: 9168cde503dc9ab26d56a3d92b2f12e3634fcc94d89a489f1fe35418b66c6357
checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d
checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
@ -546,7 +546,7 @@ spec:
# annotate pods with env value checksums so changes trigger re-deployments # annotate pods with env value checksums so changes trigger re-deployments
checksum/env-core: d595adde5a7e1007834c68766ac51f7652c1246a63b976431b0ee5a6c9870a78 checksum/env-core: 9168cde503dc9ab26d56a3d92b2f12e3634fcc94d89a489f1fe35418b66c6357
checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d
checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
@ -797,7 +797,7 @@ spec:
# annotate pods with env value checksums so changes trigger re-deployments # annotate pods with env value checksums so changes trigger re-deployments
checksum/env-core: d595adde5a7e1007834c68766ac51f7652c1246a63b976431b0ee5a6c9870a78 checksum/env-core: 9168cde503dc9ab26d56a3d92b2f12e3634fcc94d89a489f1fe35418b66c6357
checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d checksum/env-memcached: fd1a022eb3ba9e1437809d0177660fdab3ae79b4fcfbee2f8ec1264ee0aa944d
checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-oidc: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b
checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b checksum/env-s3: 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b

View file

@ -1,26 +1,14 @@
--- ---
# Source: postgres/templates/secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: postgres-secret
namespace: database
type: Opaque
stringData:
POSTGRES_DB: "symcrest"
POSTGRES_USER: "admin"
POSTGRES_PASSWORD: "TempPass123"
---
# Source: postgres/templates/service.yaml # Source: postgres/templates/service.yaml
apiVersion: v1 apiVersion: v1
kind: Service kind: Service
metadata: metadata:
name: postgres name: platform-postgres
namespace: database namespace: platform-services
spec: spec:
type: ClusterIP type: ClusterIP
selector: selector:
app: postgres app: platform-postgres
ports: ports:
- name: postgres - name: postgres
port: 5432 port: 5432
@ -30,18 +18,18 @@ spec:
apiVersion: apps/v1 apiVersion: apps/v1
kind: StatefulSet kind: StatefulSet
metadata: metadata:
name: postgres name: platform-postgres
namespace: database namespace: platform-services
spec: spec:
serviceName: postgres serviceName: platform-postgres
replicas: 1 replicas: 1
selector: selector:
matchLabels: matchLabels:
app: postgres app: platform-postgres
template: template:
metadata: metadata:
labels: labels:
app: postgres app: platform-postgres
spec: spec:
nodeSelector: nodeSelector:
workload: app workload: app
@ -51,22 +39,28 @@ spec:
ports: ports:
- containerPort: 5432 - containerPort: 5432
name: postgres name: postgres
envFrom: env:
- secretRef: - name: POSTGRES_DB
name: postgres-secret value: "postgres"
- name: POSTGRES_USER
value: "postgres"
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: platform-postgres-secret
key: password
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
volumeMounts: volumeMounts:
- name: postgres-data - name: postgres-data
mountPath: /var/lib/postgresql/data mountPath: /var/lib/postgresql/data
env:
- name: PGDATA
value: /var/lib/postgresql/data/pgdata
volumeClaimTemplates: volumeClaimTemplates:
- metadata: - metadata:
name: postgres-data name: postgres-data
spec: spec:
accessModes: accessModes:
- ReadWriteOnce - ReadWriteOnce
storageClassName: "longhorn" storageClassName: longhorn
resources: resources:
requests: requests:
storage: "20Gi" storage: 20Gi