Validate login GitOps repo / validate (push) Successful in 11s
- keycloak-instance: bootstrapAdminSpec -> bootstrapAdmin (correct CRD field) - cnpg-cluster: remove barman-cloud plugin block (BarmanObjectStore CRD absent) - operator/kustomization: patch WATCH_NAMESPACES=login so operator reconciles login ns
45 lines
1.6 KiB
YAML
45 lines
1.6 KiB
YAML
apiVersion: postgresql.cnpg.io/v1
|
|
kind: Cluster
|
|
metadata:
|
|
name: login-postgres
|
|
namespace: login
|
|
spec:
|
|
# ── HA: 1 primary + 1 standby replica ────────────────────────────────────
|
|
instances: 2
|
|
|
|
# ── Storage: local-postgres class (fast local NVMe, no Longhorn overhead) ─
|
|
storage:
|
|
storageClass: local-postgres
|
|
size: 8Gi
|
|
|
|
# ── Spread replicas across nodes ──────────────────────────────────────────
|
|
affinity:
|
|
enablePodAntiAffinity: true
|
|
topologyKey: kubernetes.io/hostname
|
|
|
|
# ── Bootstrap: create the keycloak database and owner role ───────────────
|
|
bootstrap:
|
|
initdb:
|
|
database: keycloak
|
|
owner: keycloak
|
|
|
|
# WAL archival (barman-cloud → MinIO) intentionally omitted until BarmanObjectStore
|
|
# CRD is confirmed present in this cluster. Add back via plugins block once verified.
|
|
|
|
# ── PostgreSQL tuning for Keycloak workload ───────────────────────────────
|
|
postgresql:
|
|
parameters:
|
|
max_connections: "200"
|
|
shared_buffers: "256MB"
|
|
work_mem: "8MB"
|
|
maintenance_work_mem: "64MB"
|
|
|
|
# ── Resources ─────────────────────────────────────────────────────────────
|
|
resources:
|
|
requests:
|
|
memory: 256Mi
|
|
cpu: 100m
|
|
limits:
|
|
memory: 512Mi
|
|
cpu: 500m
|