6290322f1b
- VM stack 10 charts: victoria-metrics-cluster/auth, victoria-logs-cluster, victoria-metrics-agent/alert, opentelemetry-collector, kube-state-metrics, prometheus-node-exporter, alertmanager, perses (JWT/OIDC, Infisical-ready) - ArgoCD ApplicationSet (syncWave) + per-chart dip-values overlays - doc/victoria-metrics-architecture.md, define-chart-resources updates - includes pending working-tree changes (mlflow, kubeflow, apisix, CLAUDE.md) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
78 lines
2.5 KiB
YAML
78 lines
2.5 KiB
YAML
# =============================================================================
|
|
# Perses — PaaSup 커스텀 오버라이드 (Apache 2.0 시각화 플랫폼)
|
|
# 차트: perses/perses / 포트: 8080
|
|
#
|
|
# 인증: Keycloak OIDC 로그인 (config.security.authentication)
|
|
# 권한: Perses 자체 RBAC (Project별 owner/editor/viewer Role + RoleBinding)
|
|
# ⚠️ Perses v0.53.1은 OIDC groups claim 자동 동기화 미지원.
|
|
# 로그인 시 Keycloak sub(UUID)가 Perses User name이 되며, RoleBinding은
|
|
# 온보딩 스크립트/CronJob으로 수동 관리한다(CUSTOM-README 참조).
|
|
#
|
|
# 대시보드/데이터소스: 사이드카(sidecar)가 perses.dev/resource=true 라벨 ConfigMap을
|
|
# 자동 로드. files/perses-provisioning.yaml 참조.
|
|
# 데이터소스 인증은 Keycloak service-account(client_credentials) 토큰 사용.
|
|
# =============================================================================
|
|
|
|
replicas: 1
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 100m
|
|
memory: 128Mi
|
|
limits:
|
|
cpu: 500m
|
|
memory: 256Mi
|
|
|
|
config:
|
|
database:
|
|
file:
|
|
folder: /perses/data
|
|
|
|
security:
|
|
enable_auth: true
|
|
authentication:
|
|
providers:
|
|
enable_native: true
|
|
oidc:
|
|
- slug_id: keycloak
|
|
name: Keycloak
|
|
client_id: perses
|
|
client_secret: "perses-client-secret-changeme" # Secret 참조 권장
|
|
issuer: "https://keycloak.example.org/realms/paasup"
|
|
redirect_uri: "https://perses.example.org/api/auth/providers/oidc/keycloak/callback"
|
|
scopes:
|
|
- openid
|
|
- profile
|
|
- email
|
|
|
|
# 대시보드 영속성 (재시작 시 유지)
|
|
persistence:
|
|
enabled: true
|
|
size: 1Gi
|
|
|
|
# 사이드카 프로비저닝 — ConfigMap(perses.dev/resource=true) 자동 로드
|
|
sidecar:
|
|
enabled: true
|
|
allNamespaces: false
|
|
|
|
# Keycloak TLS 신뢰용 CA 마운트 (사내 CA 사용 시)
|
|
volumes:
|
|
- name: ca-cert
|
|
secret:
|
|
secretName: root-ca-cert
|
|
volumeMounts:
|
|
- name: ca-cert
|
|
mountPath: /ca
|
|
readOnly: true
|
|
|
|
envVars:
|
|
- name: SSL_CERT_FILE # Go crypto/x509가 사내 CA를 신뢰하도록 지정
|
|
value: /ca/ca.crt
|
|
# secret_key: 쿠키 서명 키 — 미설정 시 파드 재시작마다 랜덤 생성되어 OIDC state 쿠키 무효화.
|
|
# 운영에서는 Secret으로 고정할 것 (PERSES_<YAML_PATH> 패턴).
|
|
# - name: PERSES_SECURITY_ENCRYPTION_KEY
|
|
# valueFrom:
|
|
# secretKeyRef:
|
|
# name: perses-secret-key
|
|
# key: encryption_key
|