Skip to content

Configuration Wrangler Globale

Type de ressource : Configuration Wrangler (Monorepo / Services Cloudflare)
Fichier source : wrangler.toml (racine) et services/[worker-name]/wrangler.toml
Statut : Actif

Configuration centralisĂ©e des ressources Cloudflare partagĂ©es (R2, KV, Queues) pour le monorepo. Ce fichier Ă  la racine n’est pas un Worker Ă  dĂ©ployer directement, mais sert de rĂ©fĂ©rence pour les identifiants de ressources partagĂ©es.

  • Centraliser les identifiants des ressources Cloudflare partagĂ©es
  • Fournir une rĂ©fĂ©rence unique pour les R2 buckets, Queues et KV namespaces
  • Documenter l’architecture de dĂ©ploiement du monorepo
  • Services couverts : form-handler, submission-processor
  • Environnements : Development, Production
  • Type de configuration : Wrangler.toml (rĂ©fĂ©rence), Bindings (R2, KV, Queue)
├── apps/
│ ├── web/ # Projet Front-End Astro (Couche 02)
│ │ └── wrangler.toml
│ └── studio/ # Sanity Studio SPA (Couche 01)
│ └── wrangler.toml
├── services/
│ ├── form-handler/ # Microservice formulaires
│ │ ├── src/
│ │ │ └── index.ts
│ │ ├── wrangler.toml
│ │ └── package.json
│ └── submission-processor/ # Microservice traitement soumissions
│ ├── src/
│ │ └── index.ts
│ ├── wrangler.toml
│ └── package.json
├── package.json # Scripts monorepo (Taskfile.yaml)
├── wrangler.toml # Configuration racine (rĂ©fĂ©rence)
└── README.md
Composant RĂŽle Type
wrangler.toml (racine) Configuration globale (référence) Config
services/*/wrangler.toml Configuration par service Config
Cloudflare Resources R2, KV, Queues Infrastructure
Taskfile.yaml Scripts de déploiement Automation
services/form-handler/wrangler.toml
name = "amn-form-handler"
main = "src/index.ts"
compatibility_date = "2025-07-18"
compatibility_flags = ["nodejs_compat"]
[vars]
ENVIRONMENT = "dev"
[[queues.producers]]
queue = "submissions-queue-dev"
binding = "SUBMISSIONS_QUEUE"
[env.dev]
name = "amn-form-handler-dev"
vars = { ENVIRONMENT = "dev" }
[[env.dev.queues.producers]]
queue = "submissions-queue-dev"
binding = "SUBMISSIONS_QUEUE"
[env.production]
name = "amn-form-handler-prod"
vars = { ENVIRONMENT = "production" }
[[env.production.queues.producers]]
queue = "submissions-queue-prod"
binding = "SUBMISSIONS_QUEUE"

3.2. Worker submission-processor (Traitement des Soumissions)

Section titled “3.2. Worker submission-processor (Traitement des Soumissions)”
services/submission-processor/wrangler.toml
name = "amn-submission-processor"
main = "src/index.ts"
compatibility_date = "2025-07-18"
compatibility_flags = ["nodejs_compat"]
[vars]
ENVIRONMENT = "dev"
[env.dev]
name = "amn-submission-processor-dev"
vars = { ENVIRONMENT = "dev" }
[[env.dev.queues.consumers]]
queue = "submissions-queue-dev"
max_batch_size = 10
max_batch_timeout = 30
[env.production]
name = "amn-submission-processor-prod"
vars = { ENVIRONMENT = "production" }
[[env.production.queues.consumers]]
queue = "submissions-queue-prod"
max_batch_size = 10
max_batch_timeout = 30

Les services suivants du template ne sont pas implémentés dans le projet actuel :

  • middleware (Middleware Global)
  • cms-webhook-receiver (RĂ©cepteur Webhooks)
  • media-upload (Upload PrĂ©signĂ©)
  • media-cleanup (Nettoyage Cron)
  • sanity-backup (Backup Cron)
Service Secret Description Rotation
form-handler Aucun secret configuré - -
submission-processor SANITY_PROJECT_ID ID du projet Sanity 90 jours
submission-processor SANITY_DATASET Nom du dataset 90 jours
submission-processor SANITY_API_WRITE_TOKEN Token d’écriture Sanity 90 jours
Terminal window
# Injection des secrets pour le service submission-processor
wrangler secret put SANITY_PROJECT_ID --env production --config services/submission-processor/wrangler.toml
wrangler secret put SANITY_DATASET --env production --config services/submission-processor/wrangler.toml
wrangler secret put SANITY_API_WRITE_TOKEN --env production --config services/submission-processor/wrangler.toml
  • ✅ Les secrets ne sont jamais commitĂ©s dans Git
  • ✅ Les secrets sont injectĂ©s via wrangler secret put (chiffrĂ©s par Cloudflare)
  • ✅ Rotation recommandĂ©e tous les 90 jours
  • ✅ Les secrets sont spĂ©cifiques Ă  chaque environnement (production/development)
  • ✅ Les secrets ne sont jamais loggĂ©s dans les Workers
Terminal window
# Liste des secrets d'un service
wrangler secret list --config services/submission-processor/wrangler.toml --env production
# Suppression d'un secret
wrangler secret delete SECRET_NAME --config services/submission-processor/wrangler.toml --env production
# Taskfile.yaml (utilisé à la place de package.json)
tasks:
dev:services:
# Démarre tous les services
build:
# Build l'application web
typecheck:services:
# Typecheck les services

Non implémenté - utilisez wrangler secret put directement.

Environnement Usage Déclenchement
dev Développement local task dev:services
production Production publique Merge sur main (via GitHub Actions)
Variable Dev Production
ENVIRONMENT dev production
Queue submissions-queue-dev submissions-queue-prod
  • ✅ La branche main dĂ©clenche le dĂ©ploiement en production via GitHub Actions
  • ✅ Les secrets sont spĂ©cifiques Ă  chaque environnement
  • ✅ Les bindings (Queue) sont partagĂ©s ou isolĂ©s selon l’environnement
Service KV R2 Queue Service
form-handler - - SUBMISSIONS_QUEUE -
submission-processor - - SUBMISSIONS_QUEUE -
Terminal window
# Création des Queues
wrangler queues create submissions-queue-dev
wrangler queues create submissions-queue-prod

Non implĂ©mentĂ© - aucun bucket R2 n’est configurĂ© dans les services actuels.

Non documenté - le déploiement est automatique via GitHub Actions (selon rÚgles globales).

Terminal window
# Liste des déploiements
wrangler deployments list --config services/form-handler/wrangler.toml
# Rollback vers une version précédente
wrangler deployments rollback --deployment-id=[id] --config services/form-handler/wrangler.toml
Terminal window
# Test local d'un service
task dev:form-handler
# Test d'un endpoint
curl -X POST http://localhost:8789/test-direct \
-H "Content-Type: application/json" \
-d '{"name":"Test","email":"test@example.com","message":"Test message"}'
Terminal window
# Logs d'un service spécifique
wrangler tail form-handler
# Logs avec filtre
wrangler tail submission-processor --format pretty

Non implĂ©mentĂ© - aucune mĂ©trique ou alerte n’est configurĂ©e.

Non implĂ©mentĂ© - Logpush n’est pas configurĂ©.

SymptĂŽme Cause probable Solution
“Binding not found” Binding mal configurĂ© VĂ©rifier le wrangler.toml et redĂ©ployer
“Secret not found” Secret non injectĂ© ExĂ©cuter wrangler secret put
“Service unavailable” Worker non dĂ©ployĂ© VĂ©rifier le dĂ©ploiement avec wrangler deployments list
Erreur de compatibilité compatibility_date trop ancien Mettre à jour vers 2025-07-18
Terminal window
# Vérification de la configuration
wrangler deploy --dry-run --config services/form-handler/wrangler.toml
# Inspection des bindings
wrangler queues list
  • ✅ SĂ©parer la configuration par service (un wrangler.toml par Worker)
  • ✅ Utiliser des environnements distincts (dev/production)
  • ✅ Documenter les bindings et secrets dans ce fichier
  • ✅ Versionner les wrangler.toml dans Git (sauf les secrets)
  • ✅ Ne jamais commiter les secrets dans Git
  • ✅ Utiliser wrangler secret put pour injecter les secrets
  • ✅ Rotation rĂ©guliĂšre des secrets (tous les 90 jours)
  • ✅ Valider les permissions des tokens API (principe du moindre privilĂšge)
  • ✅ Utiliser compatibility_date rĂ©cent pour bĂ©nĂ©ficier des optimisations
  • ✅ Minimiser le nombre de bindings par Worker
  • ✅ Documenter les changements de configuration dans ce fichier
  • ✅ Surveiller les mĂ©triques aprĂšs chaque dĂ©ploiement
  • Ajout du service middleware (Middleware Global)
  • Ajout du service cms-webhook-receiver (Webhooks Sanity)
  • Ajout du service media-upload (Upload prĂ©signĂ©)
  • Ajout du service media-cleanup (Nettoyage Cron)
  • Ajout du service sanity-backup (Backup Cron)
  • Configuration de Logpush vers un SIEM
  • ❌ Les secrets ne peuvent pas ĂȘtre versionnĂ©s dans Git
  • ❌ Pas de monitoring configurĂ©
  • ❌ Pas de Logpush configurĂ©
  • ❌ Pas de bucket R2 configurĂ©
  • Documentation Cloudflare : Wrangler Configuration
  • Documentation Cloudflare : Queues
  • Fichiers concernĂ©s :
    • wrangler.toml (racine)
    • services/form-handler/wrangler.toml
    • services/submission-processor/wrangler.toml
    • apps/web/wrangler.toml
    • apps/studio/wrangler.toml
Date Version Description Auteur
2026-09-15 1.0 Création initiale Devin
Edit page

Last updated: