42b02a8148
Auto Tag Develop / tag (push) Successful in 9s
## 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) Reviewed-on: #37 Co-authored-by: matthieu <matthieu@yuno.malio.fr> Co-committed-by: matthieu <matthieu@yuno.malio.fr>
30 lines
1.3 KiB
PHP
30 lines
1.3 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
use ApiPlatform\Symfony\Bundle\ApiPlatformBundle;
|
|
use Doctrine\Bundle\DoctrineBundle\DoctrineBundle;
|
|
use Doctrine\Bundle\FixturesBundle\DoctrineFixturesBundle;
|
|
use Doctrine\Bundle\MigrationsBundle\DoctrineMigrationsBundle;
|
|
use Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle;
|
|
use Nelmio\CorsBundle\NelmioCorsBundle;
|
|
use Symfony\Bundle\FrameworkBundle\FrameworkBundle;
|
|
use Sentry\SentryBundle\SentryBundle;
|
|
use Symfony\Bundle\MonologBundle\MonologBundle;
|
|
use Symfony\Bundle\SecurityBundle\SecurityBundle;
|
|
use Symfony\Bundle\TwigBundle\TwigBundle;
|
|
|
|
return [
|
|
FrameworkBundle::class => ['all' => true],
|
|
TwigBundle::class => ['all' => true],
|
|
SecurityBundle::class => ['all' => true],
|
|
DoctrineBundle::class => ['all' => true],
|
|
DoctrineMigrationsBundle::class => ['all' => true],
|
|
NelmioCorsBundle::class => ['all' => true],
|
|
ApiPlatformBundle::class => ['all' => true],
|
|
LexikJWTAuthenticationBundle::class => ['all' => true],
|
|
MonologBundle::class => ['all' => true],
|
|
DoctrineFixturesBundle::class => ['dev' => true, 'test' => true],
|
|
SentryBundle::class => ['prod' => true],
|
|
];
|