# ============================================================================= # 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_ 패턴). # - name: PERSES_SECURITY_ENCRYPTION_KEY # valueFrom: # secretKeyRef: # name: perses-secret-key # key: encryption_key