Files
ansible-role-eom/files/discourse/postgres18.yaml
T
claudeandClaude Opus 5.5 e91586b968 Discourse: move from Bitnami chart to launcher-built image
The Bitnami chart and images stop at 3.5.0. Run Discourse 2026.10.0 from
an image built with the official launcher, on PostgreSQL 18, reusing the
existing uploads volume, Redis and secrets.

Update the Dex sign-in step for the new image paths, drop the removed
LDAP setting, and keep chat off now that it is bundled in core. The image
adds a real-IP rule so visitors are not all rate limited as the ingress.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 15:32:46 -05:00

74 lines
1.9 KiB
YAML

# PostgreSQL 18 with pgvector for Discourse. Runs alongside the old Bitnami
# PostgreSQL 17 StatefulSet, whose volume stays untouched for rollback.
apiVersion: v1
kind: Service
metadata:
name: discourse-postgres18
namespace: discourse
labels:
app.kubernetes.io/name: discourse-postgres18
spec:
clusterIP: None
selector:
app.kubernetes.io/name: discourse-postgres18
ports:
- name: postgresql
port: 5432
targetPort: postgresql
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: discourse-postgres18
namespace: discourse
labels:
app.kubernetes.io/name: discourse-postgres18
spec:
serviceName: discourse-postgres18
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: discourse-postgres18
template:
metadata:
labels:
app.kubernetes.io/name: discourse-postgres18
spec:
containers:
- name: postgresql
image: pgvector/pgvector:pg18
ports:
- name: postgresql
containerPort: 5432
env:
- name: POSTGRES_USER
value: postgres
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: discourse-postgresql
key: postgres-password
readinessProbe:
exec:
command: ["pg_isready", "-U", "postgres", "-h", "127.0.0.1"]
periodSeconds: 10
failureThreshold: 6
livenessProbe:
exec:
command: ["pg_isready", "-U", "postgres", "-h", "127.0.0.1"]
initialDelaySeconds: 60
periodSeconds: 10
failureThreshold: 6
volumeMounts:
- name: data
mountPath: /var/lib/postgresql
volumeClaimTemplates:
- metadata:
name: data
spec:
accessModes: ["ReadWriteOnce"]
storageClassName: nfs-client
resources:
requests:
storage: 2Ti