Files
pikasTech-HWLAB/deploy/k8s/keycloak/postgres.yaml
T
Codex ca5ff418dd feat(k8s): keycloak namespace manifests + apply on G14
- new deploy/k8s/keycloak/ kustomization with namespace, keycloak-postgres StatefulSet, keycloak Deployment
- keycloak Deployment uses quay.io/keycloak/keycloak:25.0 with --hostname-strict=false, postgres backend
- PVC data-keycloak-postgres-0 (5Gi local-path) bound to the StatefulSet
- secrets keycloak-postgres / keycloak-admin provisioned in keycloak namespace
- OIDC discovery endpoint confirmed reachable via port-forward; master realm issuer http://.../realms/master
- next round will provision the hwlab realm + OIDC client
2026-06-04 15:01:30 +08:00

83 lines
2.3 KiB
YAML

apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: data-keycloak-postgres-0
namespace: keycloak
spec:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 5Gi
- apiVersion: v1
kind: Service
metadata:
name: keycloak-postgres
namespace: keycloak
labels:
app.kubernetes.io/name: keycloak-postgres
hwlab.pikastech.local/service-id: keycloak-postgres
spec:
type: ClusterIP
selector:
app.kubernetes.io/name: keycloak-postgres
ports:
- name: postgres
port: 5432
targetPort: postgres
- apiVersion: apps/v1
kind: StatefulSet
metadata:
name: keycloak-postgres
namespace: keycloak
labels:
app.kubernetes.io/name: keycloak-postgres
hwlab.pikastech.local/service-id: keycloak-postgres
spec:
serviceName: keycloak-postgres
replicas: 1
selector:
matchLabels:
app.kubernetes.io/name: keycloak-postgres
template:
metadata:
labels:
app.kubernetes.io/name: keycloak-postgres
hwlab.pikastech.local/service-id: keycloak-postgres
spec:
containers:
- name: postgres
image: postgres:16-alpine
ports:
- name: postgres
containerPort: 5432
env:
- name: POSTGRES_DB
value: keycloak
- name: POSTGRES_USER
value: keycloak
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
name: keycloak-postgres
key: password
volumeMounts:
- name: data
mountPath: /var/lib/postgresql/data
readinessProbe:
exec:
command: ["pg_isready", "-U", "keycloak"]
initialDelaySeconds: 5
periodSeconds: 5
volumeClaimTemplates:
- metadata:
name: data
namespace: keycloak
spec:
accessModes: [ReadWriteOnce]
resources:
requests:
storage: 5Gi