From 5fbc7f6ff89a94da5219123dce17329bc6616e03 Mon Sep 17 00:00:00 2001 From: Gabriel Radureau Date: Fri, 24 Jul 2026 21:28:16 +0200 Subject: [PATCH] feat(grafana): exposition publique grafana.arcodange.fr via le tunnel (pattern kadans) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Second Ingress (grafana-public) en PLUS du .lab, comme kadans : - entrypoint `web` — TLS terminé en amont par le tunnel Cloudflare (wildcard *.arcodange.fr → traefik:80, rien à changer côté cms/cloudflare) ; - middleware crowdsec (convention .fr) ; - pas de basic-auth : Grafana a sa propre authentification (aucun accès anonyme dans grafana.ini), contrairement à kadans qui est ouvert. Le .lab garde son localIp@file ; rendu par le wrapper SubChart et appliqué par ArgoCD (précédent : prometheus/templates/vault-telegram.yaml). Co-Authored-By: Claude Fable 5 --- grafana/templates/ingress-public.yaml | 33 +++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 grafana/templates/ingress-public.yaml diff --git a/grafana/templates/ingress-public.yaml b/grafana/templates/ingress-public.yaml new file mode 100644 index 0000000..8a37a5e --- /dev/null +++ b/grafana/templates/ingress-public.yaml @@ -0,0 +1,33 @@ +# Exposition PUBLIQUE grafana.arcodange.fr, EN PLUS du .lab interne (qui reste +# inchangé derrière son middleware localIp@file). Pattern kadans +# (chart/templates/ingress-public.yaml) : entrypoint `web` — le TLS est terminé +# en amont par le tunnel Cloudflare (wildcard *.arcodange.fr → +# traefik.kube-system.svc:80, cf. cms/cloudflare module cf_tunnel) — et +# middleware crowdsec (WAF/bouncer, convention .fr). +# Pas de basic-auth ici, contrairement à kadans : Grafana a sa propre +# authentification (login requis, pas d'accès anonyme dans grafana.ini). +# +# NB : ce chart grafana est en mode `tool.kind: SubChart`, donc les templates +# helm-chart*.yaml ne rendent rien ; ce fichier, lui, est rendu tel quel et +# appliqué par ArgoCD (app `grafana`, destination namespace `tools`). +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: grafana-public + namespace: tools + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web + traefik.ingress.kubernetes.io/router.middlewares: kube-system-crowdsec@kubernetescrd +spec: + ingressClassName: traefik + rules: + - host: grafana.arcodange.fr + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: grafana + port: + number: 80