Files
tools/grafana/templates/ingress-public.yaml
T
arcodangeandClaude Fable 5 5fbc7f6ff8
Helm Charts / Detect changed charts (push) Successful in 17s
Helm Charts / Library charts tool (push) Has been skipped
Helm Charts / Library charts tool (pull_request) Has been skipped
Helm Charts / Application charts pgcat (push) Has been skipped
Helm Charts / Detect changed charts (pull_request) Successful in 23s
Helm Charts / Application charts pgcat (pull_request) Has been skipped
feat(grafana): exposition publique grafana.arcodange.fr via le tunnel (pattern kadans)
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 <[email protected]>
2026-07-24 21:28:16 +02:00

34 lines
1.3 KiB
YAML

# 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