Files
applications/umami/helm-values.yaml
Mayne0213 fcb0413aff PERF(applications): optimize resources via VPA
- code-server: CPU 15m/15m, memory 225Mi/225Mi
- docusaurus: CPU 10m/16m, memory 50Mi/50Mi
- headlamp: CPU 15m/15m, memory 100Mi/100Mi
- homer: CPU 10m/12m, memory 50Mi/50Mi
- mas: CPU 15m/15m, memory 144Mi/203Mi
- umami: CPU 15m/15m, memory 271Mi/323Mi
2026-01-12 01:08:46 +09:00

106 lines
2.0 KiB
YAML

fullnameOverride: umami
image:
tag: postgresql-latest
# Disable PostgreSQL subchart (using external PostgreSQL)
postgresql:
enabled: false
# External database configuration
externalDatabase:
type: postgresql
hostname: postgresql-rw.postgresql.svc.cluster.local
port: 5432
auth:
database: umami
username: bluemayne
# Password is managed via External Secrets Operator (Vault)
# Use existing secret for sensitive data
database:
existingSecret: umami-password
# Environment variables from secret
envFrom:
- secretRef:
name: umami-password
ingress:
enabled: true
className: traefik
annotations:
cert-manager.io/cluster-issuer: letsencrypt-prod
hosts:
- host: umami0213.kro.kr
paths:
- path: /
pathType: Prefix
- host: www.umami0213.kro.kr
paths:
- path: /
pathType: Prefix
tls:
- secretName: umami-tls
hosts:
- umami0213.kro.kr
- www.umami0213.kro.kr
service:
type: ClusterIP
port: 3000
# Resource settings (VPA lowerBound/target)
resources:
requests:
cpu: 15m
memory: 271Mi
limits:
cpu: 15m
memory: 323Mi
replicaCount: 1
# Autoscaling
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 4
targetCPUUtilizationPercentage: 80
# Health checks
startupProbe:
enabled: true
httpGet:
path: /api/heartbeat
port: 3000
periodSeconds: 10
failureThreshold: 30
livenessProbe:
enabled: true
httpGet:
path: /api/heartbeat
port: 3000
initialDelaySeconds: 0
periodSeconds: 10
readinessProbe:
enabled: true
httpGet:
path: /api/heartbeat
port: 3000
initialDelaySeconds: 0
periodSeconds: 5
# Affinity - Soft Anti-Affinity to spread pods across nodes
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 100
podAffinityTerm:
labelSelector:
matchLabels:
app.kubernetes.io/name: umami
topologyKey: kubernetes.io/hostname