feat: integrate observability
All checks were successful
Monorepo Pipeline / 🧪 Quality Assurance (push) Successful in 3m50s
Monorepo Pipeline / 🚀 Release (push) Successful in 3m38s
Monorepo Pipeline / 🐳 Build & Push Images (push) Successful in 7m6s

This commit is contained in:
2026-02-07 10:23:51 +01:00
parent 6501eac38a
commit 61e78ea672
34 changed files with 1632 additions and 14 deletions

View File

@@ -125,6 +125,7 @@ program
react: "^19.0.0",
"react-dom": "^19.0.0",
"@mintel/next-utils": "workspace:*",
"@mintel/next-observability": "workspace:*",
"@directus/sdk": "^21.0.0",
},
devDependencies: {
@@ -263,11 +264,15 @@ export default createMintelI18nRequestConfig(
// Create instrumentation.ts
await fs.writeFile(
path.join(fullPath, "src/instrumentation.ts"),
`import * as Sentry from '@sentry/nextjs';
`import { Sentry } from '@mintel/next-observability';
export async function register() {
if (process.env.NEXT_RUNTIME === 'nodejs') {
// Server-side initialization
await import('./sentry.server.config');
}
if (process.env.NEXT_RUNTIME === 'edge') {
await import('./sentry.edge.config');
}
}
@@ -397,8 +402,12 @@ DIRECTUS_DB_PASSWORD=mintel-db-pass
SENTRY_DSN=
# Analytics (Umami)
NEXT_PUBLIC_UMAMI_WEBSITE_ID=
NEXT_PUBLIC_UMAMI_SCRIPT_URL=https://analytics.infra.mintel.me/script.js
UMAMI_WEBSITE_ID=
UMAMI_API_ENDPOINT=https://analytics.infra.mintel.me
# Notifications (Gotify)
GOTIFY_URL=
GOTIFY_TOKEN=
`;
await fs.writeFile(path.join(fullPath, ".env.example"), envExample);