Files
home-network-k3s-impl/platform/monitoring/kube-prometheus-stack.yaml
T

45 lines
1.5 KiB
YAML

---
# kube-prometheus-stack — Prometheus + Alertmanager + Grafana (docs/10). Phase 0 STUB.
# Retention/sizes are overlay knobs (R-ENV-02). Alertmanager emails via SMTP.
apiVersion: helm.toolkit.fluxcd.io/v2
kind: HelmRelease
metadata:
name: kube-prometheus-stack
namespace: monitoring
spec:
interval: 30m
chart:
spec:
chart: kube-prometheus-stack
version: ">=65.0.0 <66.0.0" # TODO(WS-OBS): pin at bring-up; Renovate maintains
sourceRef:
kind: HelmRepository
name: prometheus-community
namespace: monitoring
install:
remediation:
retries: 3
upgrade:
remediation:
retries: 3
values:
prometheus:
prometheusSpec:
retention: ${MONITORING_PROMETHEUS_RETENTION} # overlay knob (dev short / prod long)
storageSpec:
volumeClaimTemplate:
spec:
storageClassName: longhorn # replicated tier (ADR-0003)
resources:
requests:
storage: ${MONITORING_PROMETHEUS_PVC_SIZE}
grafana:
# Grafana behind Keycloak SSO (native OIDC) — ADR-0014. C2 UI composition (docs/12).
# TODO(WS-SEC/WS-C2): OIDC client + admin password from SOPS secret (name only).
enabled: true
alertmanager:
alertmanagerSpec: {}
# TODO(WS-OBS, Phase 4): Alertmanager → Gmail SMTP receiver; SMTP creds SOPS-encrypted (name
# only). Reconciliation errors + drift are alerting conditions (R-OBS-04). Prove: injected
# fault emails an alert (Phase-4 exit gate).