Umami
Umami는 Lumie 서비스의 웹 트래픽을 분석하는 자체 호스팅 웹 분석 플랫폼입니다. 쿠키 없이 동작하며 GDPR 친화적인 설계로 사용자 개인정보를 보호합니다.
배포 구성
- 네임스페이스:
umami - 차트:
umamiv7.1.0 (https://charts.christianhuth.de) - 이미지:
zot.lumie-infra.com/umami-software/umami:postgresql-latest - 복제본: 1개
- 서비스 포트: 3000
- 접근: Teleport 앱 프록시 경유 (직접 Ingress 없음)
아키텍처
ArgoCD Multi-Source 배포
Umami도 ArgoCD Multi-Source 패턴을 사용합니다:
spec:
sources:
# 소스 1: Umami Helm 차트
- repoURL: https://charts.christianhuth.de
chart: umami
targetRevision: 7.1.0
helm:
valueFiles:
- $values/applications/umami/helm-values.yaml
# 소스 2: lumie-infra 저장소 (공통 values 참조)
- repoURL: https://github.com/Lumie-Edu/lumie-infra.git
targetRevision: main
ref: values
path: charts/common
helm:
valueFiles:
- $values/applications/umami/common-values.yaml
# Secret 데이터 무시 설정 (VSO가 관리)
ignoreDifferences:
- group: ''
kind: Secret
name: umami-app-secret
jsonPointers:
- /data
ignoreDifferences 설정은 ArgoCD가 VSO(Vault Secrets Operator)가 관리하는 Secret의 데이터 변경을 드리프트로 감지하지 않도록 합니다.
Helm 설정
이미지 및 기본 설정
fullnameOverride: umami
image:
registry: zot.lumie-infra.com
repository: umami-software/umami
tag: "postgresql-latest"
데이터베이스 설정
내장 PostgreSQL 서브차트를 비활성화하고 공유 infra-db 클러스터를 사용합니다:
# 내장 PostgreSQL 비활성화
postgresql:
enabled: false
# 외부 데이터베이스 설정
externalDatabase:
type: postgresql
hostname: infra-db-rw.infra-db.svc.cluster.local
port: 5432
auth:
database: umami
username: umami
# VSO가 생성한 시크릿에서 DATABASE_URL 참조
database:
existingSecret: umami-db-app
databaseUrlKey: uri
환경 변수 (Hash Salt)
envFrom:
- secretRef:
name: umami-hash-salt # HASH_SALT 키 포함