Files
argocd-apps/apps/base/grafana/dashboards/ceph-cluster.yaml
T
unkinben 95c5d71222 grafana: deploy Grafana instance, datasource and dashboards (#238)
## Why
Deploys Grafana in-cluster (observability project) via the grafana-operator, mirroring the puppet Grafana but modernised — **CNPG** for state, **Authentik OIDC** for auth — and ports the live datasource + dashboards in as CRs.

Depends on: grafana-operator (#235, merged), grafana schemas (#236, merged), Authentik OIDC (terraform-authentik #2), Vault seeds (done), and `^grafana/` image proxy (terraform-artifactapi #5).

## Changes (`apps/base/grafana`)
- **CNPG** postgres Cluster + rw Pooler (db `grafana`); **VaultAuth** + **VaultStaticSecrets** pulling `postgres`/`oauth` credentials from `kv/kubernetes/namespace/grafana/default/*`.
- **Grafana CR**: postgres backend via the pooler; Authentik `generic_oauth` (client id/secret from the Vault-synced secret, openid/email/profile scopes, group→role mapping); `root_url` grafana.k8s.syd1.au.unkin.net.
- **1 GrafanaDatasource** — k8s VictoriaMetrics via the operator `vmselect-main` service; reuses the previous default datasource uid so the imported dashboards resolve unedited.
- **13 GrafanaDashboards** (gzipJson) exported from the current grafana.
- **Gateway API** (traefik-internal) + HTTPRoute for grafana.k8s.syd1.au.unkin.net.
- Registered in the observability ApplicationSet + project.

## Review notes
- OAuth `role_attribute_path` maps Authentik group `grafana-admins` → Admin, else Viewer — **confirm the group name**.
- `database.ssl_mode: require` against the CNPG pooler — adjust if the pooler isn't serving TLS.
- The `VictoriaLogs - cluster` dashboard has no in-cluster logs datasource yet (no VictoriaLogs in k8s) — included for completeness, will be empty until one exists.
- `make kubeconform` clean (24 resources, validated against the strict grafana schemas).

Reviewed-on: #238
Co-authored-by: Ben Vincent <ben@unkin.net>
Co-committed-by: Ben Vincent <ben@unkin.net>
2026-07-06 23:54:51 +10:00

14 lines
5.2 KiB
YAML

---
apiVersion: grafana.integreatly.org/v1beta1
kind: GrafanaDashboard
metadata:
name: ceph-cluster
namespace: grafana
spec:
instanceSelector:
matchLabels:
dashboards: "grafana"
resyncPeriod: 5m
allowCrossNamespaceImport: false
gzipJson: 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