feat : error tracking backend vers GlitchTip (via Tailscale) #37

Merged
malio merged 7 commits from feat/glitchtip-backend-error-tracking into develop 2026-06-28 11:46:36 +00:00
Owner

Objectif

Remonter les erreurs backend Symfony vers GlitchTip (SDK Sentry), prod uniquement, inerte sans SENTRY_DSN. Transport réseau via Tailscale sur le host de prod (infra, hors repo). Frontend hors périmètre.

Contenu

  • sentry/sentry-symfony:^5.10 (+ symfony.lock recipe)
  • config/bundles.phpSentryBundle ['prod' => true]
  • config/packages/sentry.yaml (nouveau) : DSN runtime, release %app.version%, 4xx ignorés, pas de tracing, handler Monolog ERROR+
  • config/packages/monolog.yaml : handler sentry en when@prod
  • .env : bloc SENTRY_DSN documenté (vide → inerte)
  • doc/error-tracking.md (runbook Tailscale) + section CLAUDE.md
  • Spec + plan sous docs/superpowers/

Vérifications

  • Prod cache:clear OK, service Sentry\Monolog\Handler chargé
  • 267/267 tests verts, dev/test inchangés (bundle non chargé hors prod)
  • Aucun changement frontend/ / .gitea/ / deploy/docker/
  • Revue multi-agents : READY TO MERGE (aucun Critical/Important)

Activation prod (hors code, cf. doc/error-tracking.md)

  1. Tailscale sur l'hôte GlitchTip et sur le VPS OVH (prod)
  2. Créer le projet sirh-api dans GlitchTip → récupérer le DSN
  3. SENTRY_DSN=http://<clé>@<IP-tailnet>:<port>/<id> dans l'env_file serveur + redéploiement

🤖 Generated with Claude Code

## Objectif Remonter les erreurs **backend** Symfony vers **GlitchTip** (SDK Sentry), **prod uniquement**, **inerte sans `SENTRY_DSN`**. Transport réseau via **Tailscale** sur le host de prod (infra, hors repo). Frontend hors périmètre. ## Contenu - `sentry/sentry-symfony:^5.10` (+ `symfony.lock` recipe) - `config/bundles.php` → `SentryBundle ['prod' => true]` - `config/packages/sentry.yaml` (nouveau) : DSN runtime, release `%app.version%`, 4xx ignorés, pas de tracing, handler Monolog ERROR+ - `config/packages/monolog.yaml` : handler `sentry` en `when@prod` - `.env` : bloc `SENTRY_DSN` documenté (vide → inerte) - `doc/error-tracking.md` (runbook Tailscale) + section `CLAUDE.md` - Spec + plan sous `docs/superpowers/` ## Vérifications - Prod `cache:clear` OK, service `Sentry\Monolog\Handler` chargé - **267/267 tests verts**, dev/test inchangés (bundle non chargé hors prod) - Aucun changement `frontend/` / `.gitea/` / `deploy/docker/` - Revue multi-agents : **READY TO MERGE** (aucun Critical/Important) ## Activation prod (hors code, cf. `doc/error-tracking.md`) 1. Tailscale sur l'hôte GlitchTip **et** sur le VPS OVH (prod) 2. Créer le projet `sirh-api` dans GlitchTip → récupérer le DSN 3. `SENTRY_DSN=http://<clé>@<IP-tailnet>:<port>/<id>` dans l'env_file serveur + redéploiement 🤖 Generated with [Claude Code](https://claude.com/claude-code)
matthieu added 5 commits 2026-06-28 11:31:58 +00:00
Design d'intégration du SDK Sentry/GlitchTip côté backend Symfony (prod only,
inerte sans DSN), avec runbook Tailscale complet (install, routage
container→tailnet, création projet, injection DSN). Backend-only ; front et CA
HTTPS interne hors périmètre.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Ajout du SDK sentry/sentry-symfony enregistré prod-only, config sentry.yaml
(DSN runtime, release app.version, 4xx ignorés, pas de tracing) et handler
Monolog ERROR+. Sans SENTRY_DSN le SDK est no-op. Transport réseau via
Tailscale (infra, hors repo).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Complète le commit d'ajout de la dépendance : symfony.lock n'avait pas été
staged avec composer.json/composer.lock.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
matthieu added 1 commit 2026-06-28 11:33:33 +00:00
matthieu added 1 commit 2026-06-28 11:45:07 +00:00
GlitchTip est servi en HTTPS sur logs.malio-dev.fr (cert auto-signé interne).
Le SDK backend (sur le VPS OVH) le joint via Tailscale en gardant le DSN
hostname inchangé : la CA publique est installée dans le trust store de
l'image prod, et le hostname est résolu vers l'IP tailnet via extra_hosts
côté serveur (documenté). Aucun changement côté GlitchTip.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
malio merged commit 42b02a8148 into develop 2026-06-28 11:46:36 +00:00
malio deleted branch feat/glitchtip-backend-error-tracking 2026-06-28 11:46:36 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: MALIO-DEV/SIRH#37