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)
19 lines
610 B
TypeScript
19 lines
610 B
TypeScript
import * as Sentry from '@sentry/nuxt'
|
|
|
|
// Init Sentry cote client (SPA). Le DSN provient du build prod (NUXT_PUBLIC_SENTRY_DSN).
|
|
// Si le DSN est vide (dev), Sentry.init est un no-op : rien n'est envoye.
|
|
const config = useRuntimeConfig()
|
|
const dsn = config.public.sentry?.dsn
|
|
|
|
if (dsn) {
|
|
Sentry.init({
|
|
dsn,
|
|
environment: config.public.sentry?.environment,
|
|
// Pas d'APM/tracing (hors perimetre) : on ne remonte que les erreurs.
|
|
tracesSampleRate: 0,
|
|
// Pas de session replay (volume).
|
|
replaysSessionSampleRate: 0,
|
|
replaysOnErrorSampleRate: 0,
|
|
})
|
|
}
|