Files
platform-core/services/platform-postgres-keycloak/README.md
T

2.1 KiB

플랫폼 PostgreSQL — Keycloak Phase 2 확장

상태: 2026-07-23 실제 적용, DatabaseRole·Database 모두 applied=true
additive NetworkPolicy도 적용됐으며 기존 PostgreSQL Cluster와 Gitea DB 리소스는 교체하지 않았다.

이 디렉터리는 이미 생성된 platform-postgres CloudNativePG Cluster에 추가하는 Kustomize 빌드 루트다. 의도적으로 Cluster 리소스를 포함하지 않으며 Phase 1 NetworkPolicy를 Patch하거나 교체하지 않는다.

렌더링 결과에는 다음 항목만 있다.

  • DatabaseRole/platform-postgres-keycloak
  • Database/platform-postgres-keycloak
  • 기존 PostgreSQL operand Pod를 선택하고 keycloak namespace에서 TCP 5432로 접근하는 것을 허용하는 NetworkPolicy/platform-postgres-keycloak-ingress

NetworkPolicy ingress 규칙은 누적되므로 이 확장은 Phase 1의 CloudNativePG, 동일 Cluster 및 Gitea 허용 규칙을 보존한다. 기존 공통 Cluster에는 Keycloak이 자기 Database에 SCRAM으로 접근하도록 허용하는 정확한 규칙과, 바로 다음에 같은 Role의 다른 모든 Database 접근을 거부하는 HBA 규칙이 이미 있다. 이 확장은 Cluster를 Patch하지 않는다.

이 루트를 적용하기 전에 platform-data/keycloak-db-credentials를 생성한다. 유형은 kubernetes.io/basic-auth, label은 cnpg.io/reload: "true", username은 keycloak이어야 하며 비밀번호는 Git 외부에서 제공한다. 이에 대응하는 애플리케이션 측 사본은 keycloak namespace에 둔다.

기본 RootOnly 로드 제한으로 다음과 같이 렌더링한다.

kubectl kustomize services/platform-postgres-keycloak

Phase 1 Cluster가 Ready 상태이고 Keycloak Secret 계약이 존재할 때만 이 확장을 적용한다. 렌더링 결과에 Cluster 리소스가 없어야 한다.

공식 참고 문서