src/Controller/DnsReportController.php:
- Injection du pool cache dns_infra_cache via #[Autowire]
- Les resultats des checks sont caches avec la cle dns_infra_check_{token}
pendant 1 heure (3600s) pour eviter de rappeler toutes les APIs
(Cloudflare, AWS SES, Mailcow, RDAP, dig) a chaque rechargement
- La date du rapport est stockee dans le cache au format ISO 8601
config/packages/packages/cache.yaml:
- Nouveau pool dns_infra_cache sur Redis avec default_lifetime 3600s
src/Command/PurgeEmailTrackingCommand.php (nouveau):
- Commande app:email-tracking:purge qui supprime les EmailTracking
dont sentAt est anterieur au seuil (90 jours par defaut)
- Option --days pour changer la retention (ex: --days=30)
- Utilise une requete DQL DELETE pour performance
ansible/deploy.yml.disabled:
- Nouveau cron "crm-siteconseil email-tracking purge": tous les jours
a 5h du matin, supprime les EmailTracking de plus de 90 jours
docker/cron/entrypoint.sh:
- Liste complete des taches cron mise a jour avec:
- */5 min: expire-pending, infra:snapshot
- */15 min: services:check
- toutes les heures: monitor:messenger
- toutes les 2h: dns:check
- toutes les 6h: stripe:sync
- 3h: meilisearch consistency
- 4h: attestations clean
- 5h: email-tracking purge
- 6h: cloudflare clean
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
ansible/deploy.yml.disabled:
- Nouveau cron "crm-siteconseil dns check": execute app:dns:check
toutes les 2 heures (minute: 0, hour: */2), envoie le rapport
DNS par email a monitor@siteconseil.fr et notification Discord
si erreurs detectees, log dans /var/log/crm-siteconseil-dns-check.log
- Nouveau cron "crm-siteconseil cloudflare clean": execute
app:cloudflare:clean tous les jours a 6h du matin (minute: 0,
hour: 6), supprime les enregistrements TXT _acme-challenge
obsoletes dans toutes les zones Cloudflare, log dans
/var/log/crm-siteconseil-cloudflare-clean.log
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>