- Rename extraVolume to avoid duplicate name - Add emptyDir for /var/loki cache - Migrate to shared storage with MinIO - Configure HA with 2 replicas - Revert to single replica for Single Binary mode
116 lines
2.5 KiB
YAML
116 lines
2.5 KiB
YAML
# Grafana Helm Values
|
|
# Chart: https://github.com/grafana/helm-charts/tree/main/charts/grafana
|
|
|
|
fullnameOverride: grafana
|
|
|
|
replicas: 2
|
|
|
|
affinity:
|
|
podAntiAffinity:
|
|
preferredDuringSchedulingIgnoredDuringExecution:
|
|
- weight: 100
|
|
podAffinityTerm:
|
|
labelSelector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: grafana
|
|
topologyKey: kubernetes.io/hostname
|
|
|
|
admin:
|
|
user: bluemayne
|
|
# Password is managed via SealedSecret: grafana-admin-password
|
|
existingSecret: grafana-admin-password
|
|
userKey: admin-user
|
|
passwordKey: admin-password
|
|
|
|
persistence:
|
|
enabled: false
|
|
|
|
# PostgreSQL database - use existing bluemayne superuser
|
|
env:
|
|
GF_DATABASE_TYPE: postgres
|
|
GF_DATABASE_HOST: postgresql-rw.postgresql.svc.cluster.local:5432
|
|
GF_DATABASE_NAME: grafana
|
|
GF_DATABASE_USER: bluemayne
|
|
GF_DATABASE_SSL_MODE: disable
|
|
|
|
envValueFrom:
|
|
GF_DATABASE_PASSWORD:
|
|
secretKeyRef:
|
|
name: grafana-db-password
|
|
key: password
|
|
|
|
initChownData:
|
|
enabled: false
|
|
|
|
podSecurityContext:
|
|
fsGroup: 472
|
|
fsGroupChangePolicy: "Always"
|
|
|
|
resources:
|
|
requests:
|
|
cpu: 11m
|
|
memory: 425Mi
|
|
limits:
|
|
memory: 425Mi
|
|
|
|
service:
|
|
type: ClusterIP
|
|
port: 80
|
|
|
|
datasources:
|
|
datasources.yaml:
|
|
apiVersion: 1
|
|
datasources:
|
|
- name: Prometheus
|
|
type: prometheus
|
|
access: proxy
|
|
url: http://prometheus-kube-prometheus-prometheus.prometheus.svc.cluster.local:9090
|
|
isDefault: true
|
|
editable: true
|
|
- name: Loki
|
|
type: loki
|
|
access: proxy
|
|
url: http://loki.loki.svc.cluster.local:3100
|
|
editable: true
|
|
- name: Alertmanager
|
|
type: alertmanager
|
|
access: proxy
|
|
url: http://alertmanager.alertmanager.svc.cluster.local:9093
|
|
editable: true
|
|
jsonData:
|
|
implementation: prometheus
|
|
|
|
# Dashboards are manually imported via Grafana UI
|
|
# JSON files stored in dashboards/ directory for reference
|
|
|
|
grafana.ini:
|
|
server:
|
|
root_url: "https://grafana0213.kro.kr"
|
|
auth.anonymous:
|
|
enabled: true
|
|
org_role: Admin
|
|
security:
|
|
allow_embedding: true
|
|
auth.basic:
|
|
enabled: false
|
|
auth:
|
|
disable_login_form: true
|
|
disable_signout_menu: true
|
|
news:
|
|
news_feed_enabled: false
|
|
|
|
ingress:
|
|
enabled: true
|
|
ingressClassName: traefik
|
|
annotations:
|
|
cert-manager.io/cluster-issuer: letsencrypt-prod
|
|
traefik.ingress.kubernetes.io/router.middlewares: authelia-authelia-auth@kubernetescrd
|
|
hosts:
|
|
- grafana0213.kro.kr
|
|
- www.grafana0213.kro.kr
|
|
tls:
|
|
- secretName: grafana-tls
|
|
hosts:
|
|
- grafana0213.kro.kr
|
|
- www.grafana0213.kro.kr
|