스토리지
Lumie 인프라의 스토리지 계층은 관계형 데이터베이스(CloudNativePG), 커넥션 풀링(CNPG 네이티브 Pooler), 인메모리 캐시(Redis), 오브젝트 스토리지(MinIO), 백업 및 재해 복구(Velero)로 구성됩니다.
구성 요소
데이터베이스 계층
- CloudNativePG: Kubernetes Native PostgreSQL 오퍼레이터
- infra-db: 인프라 서비스용 공유 PostgreSQL 클러스터
- PgBouncer (CNPG Pooler): CNPG 네이티브 커넥션 풀러 (icoretech Helm 차트 폐기)
- PgWeb: PostgreSQL 웹 관리 UI
캐시 계층
- Redis: 고성능 인메모리 캐시 및 세션 스토어
오브젝트 스토리지
- MinIO: S3 호환 분산 오브젝트 스토리지
백업 및 복구
- Velero: Kubernetes 클러스터 백업 및 재해 복구
infra-db (공유 PostgreSQL)
infra-db는 인프라 구성 요소들이 공유하는 PostgreSQL 클러스터입니다. 각 서비스는 독립된 데이터베이스를 사용하여 데이터를 분리합니다.
클러스터 구성
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
name: infra-db
spec:
instances: 3
imageName: zot.lumie-infra.com/storage/postgresql-wal2json:18.1
storage:
storageClass: local-path-retain
size: 2Gi
postgresql:
parameters:
wal_level: "logical"
max_replication_slots: "8"
입주 서비스
| 서비스 | 데이터베이스 | 사용자 | 용도 |
|---|---|---|---|
| Teleport | teleport | postgres | 사용자, 세션, 감사 로그 |
| Grafana | grafana | grafana | 대시보드, 설정, 사용자 |
| Umami | umami | umami | 웹 애널리틱스 |
| Keycloak | keycloak | keycloak | 사용자, 클라이언트, 토큰 |
| OpenClaw | openclaw | openclaw | 법률 문서 분석 |
| Coder | coder | coder | 개발 환경 워크스페이스 |
| Gitea | gitea | gitea | 소스 저장소 메타데이터 |
mission_controlDB와 역할은 2026-05-26 폐기되었습니다.
초기화 스크립트
-- 부트스트랩 시 실행되는 SQL (postInitSQL)
CREATE USER grafana WITH PASSWORD 'VAULT_PASSWORD';
CREATE DATABASE grafana OWNER grafana;
CREATE USER umami WITH PASSWORD 'VAULT_PASSWORD';
CREATE DATABASE umami OWNER umami;
CREATE USER keycloak WITH PASSWORD 'VAULT_PASSWORD';
CREATE DATABASE keycloak OWNER keycloak;
CREATE USER openclaw WITH PASSWORD 'VAULT_PASSWORD';
CREATE DATABASE openclaw OWNER openclaw;
CREATE USER coder WITH PASSWORD 'VAULT_PASSWORD';
CREATE DATABASE coder OWNER coder;
CREATE USER gitea WITH PASSWORD 'VAULT_PASSWORD';
CREATE DATABASE gitea OWNER gitea;
PgWeb
PgWeb은 PostgreSQL 데이터베이스를 웹 브라우저에서 탐색하고 쿼리할 수 있는 관리 UI입니다.