feat(infra) : branche le SDK Sentry (back + front) vers GlitchTip
Error tracking centralisé (ticket INFRA #146) : remontée des erreurs back (Symfony) et front (Nuxt) vers l'instance GlitchTip auto-hébergée. Backend : - sentry/sentry-symfony ^5.10, bundle enregistré prod-only - config/packages/sentry.yaml : handler Monolog niveau ERROR+, ignore les 4xx/AccessDenied, pas d'APM, release = %app.version% - services.yaml importe version.yaml pour exposer app.version au container - .env : bloc SENTRY_DSN documenté (vide => SDK inerte) Frontend : - @sentry/nuxt ^10.61, module chargé uniquement si NUXT_PUBLIC_SENTRY_DSN défini - runtimeConfig.public.sentry + source maps (hidden) + options d'upload - sentry.client.config.ts : init côté client gardée par if (dsn) DSN vides par défaut : aucune erreur n'est envoyée tant que les projets GlitchTip inventory-api / inventory-front et leurs DSN ne sont pas configurés en prod. Aucun secret commité. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+23
-2
@@ -41,7 +41,20 @@ export default defineNuxtConfig({
|
||||
lucide: () => import('@iconify-json/lucide/icons.json').then(i => i.default)
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
// Error tracking → GlitchTip. Module chargé uniquement si un DSN est fourni
|
||||
// (build prod) ; en dev sans DSN, aucun overhead Sentry. Les options d'upload des
|
||||
// source maps sont passées en ligne (fournies au build via secrets CI).
|
||||
...(process.env.NUXT_PUBLIC_SENTRY_DSN
|
||||
? [['@sentry/nuxt/module', {
|
||||
sourceMapsUploadOptions: {
|
||||
url: process.env.SENTRY_URL,
|
||||
org: process.env.SENTRY_ORG,
|
||||
project: process.env.SENTRY_PROJECT,
|
||||
authToken: process.env.SENTRY_AUTH_TOKEN
|
||||
}
|
||||
}] as [string, Record<string, unknown>]]
|
||||
: [])
|
||||
],
|
||||
runtimeConfig: {
|
||||
apiBaseUrl: process.env.NUXT_API_BASE_URL
|
||||
@@ -57,9 +70,17 @@ export default defineNuxtConfig({
|
||||
enableDebug: process.env.NUXT_PUBLIC_ENABLE_DEBUG || 'false',
|
||||
enableAnalytics: process.env.NUXT_PUBLIC_ENABLE_ANALYTICS || 'false',
|
||||
csrfToken: process.env.NUXT_PUBLIC_CSRF_TOKEN || '',
|
||||
logLevel: process.env.NUXT_PUBLIC_LOG_LEVEL || 'warn'
|
||||
logLevel: process.env.NUXT_PUBLIC_LOG_LEVEL || 'warn',
|
||||
sentry: {
|
||||
// DSN du projet GlitchTip "inventory-front" (vide => SDK inerte).
|
||||
dsn: process.env.NUXT_PUBLIC_SENTRY_DSN || '',
|
||||
environment: process.env.NODE_ENV || 'development'
|
||||
}
|
||||
}
|
||||
},
|
||||
// Source maps "hidden" : générées et uploadées vers GlitchTip pour des stacktraces
|
||||
// lisibles, sans exposer les .map au navigateur.
|
||||
sourcemap: { client: 'hidden' },
|
||||
vite: {
|
||||
plugins: [tailwindcss()],
|
||||
server: {
|
||||
|
||||
Reference in New Issue
Block a user