6ee332757c
Auto Tag Develop / tag (push) Successful in 14s
Error tracking centralise : remontee des erreurs back (Symfony) et front (Nuxt) vers l'instance GlitchTip auto-hebergee. DSN vides par defaut => SDK inerte. Backend : - sentry/sentry-symfony ^5.10, bundle enregistre prod-only - config/packages/sentry.yaml : handler Monolog niveau ERROR+, ignore 4xx/AccessDenied, pas d'APM, release = %app.version% - .env : bloc SENTRY_DSN documente (vide => inerte) Frontend : - @sentry/nuxt ^10.61, module charge uniquement si NUXT_PUBLIC_SENTRY_DSN defini - runtimeConfig.public.sentry + source maps (hidden) + options d'upload - sentry.client.config.ts : init cote client gardee par if (dsn) Deploiement : - Dockerfile : ARG Sentry au build front (prefixe inline du RUN, token non persiste) + CA racine interne MALIO (update-ca-certificates) pour le handshake HTTPS GlitchTip back - build-docker.yml : --build-arg depuis les secrets Gitea - .env.prod.example : SENTRY_DSN (back, runtime)
36 lines
1.7 KiB
YAML
36 lines
1.7 KiB
YAML
# Error tracking → GlitchTip (compatible SDK Sentry).
|
|
# Actif uniquement en prod (bundle enregistré prod-only dans bundles.php).
|
|
# Si SENTRY_DSN est vide/non défini, le SDK est inerte (rien n'est envoyé).
|
|
when@prod:
|
|
parameters:
|
|
# Valeur par défaut : DSN vide => Sentry désactivé tant qu'il n'est pas fourni.
|
|
env(SENTRY_DSN): ''
|
|
|
|
sentry:
|
|
dsn: '%env(SENTRY_DSN)%'
|
|
# Capture des erreurs fatales PHP via le handler. On DÉSACTIVE le listener
|
|
# kernel pour éviter les doublons avec le handler Monolog (ci-dessous) : les
|
|
# exceptions du kernel sont déjà logguées par Symfony => remontées via Monolog.
|
|
register_error_listener: false
|
|
register_error_handler: true
|
|
options:
|
|
environment: '%env(APP_ENV)%'
|
|
release: '%app.version%'
|
|
# Pas d'APM/tracing (DuckDB hors périmètre du ticket #146).
|
|
traces_sample_rate: 0.0
|
|
# Ne pas remonter les 4xx HTTP comme des erreurs (bruit).
|
|
ignore_exceptions:
|
|
- Symfony\Component\HttpKernel\Exception\NotFoundHttpException
|
|
- Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException
|
|
- Symfony\Component\Security\Core\Exception\AccessDeniedException
|
|
|
|
# Handler Monolog -> Sentry : remonte les logs niveau ERROR+ comme Issues GlitchTip
|
|
# (en plus des erreurs fatales). Les $logger->error(...) métier deviennent des Issues.
|
|
# Le filtre ignore_exceptions ci-dessus s'applique aussi à ces événements.
|
|
services:
|
|
Sentry\Monolog\Handler:
|
|
arguments:
|
|
$hub: '@Sentry\State\HubInterface'
|
|
$level: !php/const Monolog\Level::Error
|
|
$bubble: true
|