cloudflare-deploy

--- Déployer des applications et des infrastructures sur Cloudflare en utilisant Workers, Pages et les services de plateforme associés. À utiliser lorsque l'utilisateur demande de déployer, héberger, publier ou configurer un projet sur Cloudflare.

npx skills add https://github.com/openai/skills --skill cloudflare-deploy

Déploiement Cloudflare

Compétence consolidée pour construire sur la plateforme Cloudflare. Utilisez les arbres de décision ci-dessous pour trouver le bon produit, puis chargez les références détaillées.

Conditions préalables

  • Quand le sandboxing bloque les appels réseau de déploiement, réexécutez avec sandbox_permissions=require_escalated.
  • Le déploiement peut prendre quelques minutes. Utilisez les valeurs de timeout appropriées.

Authentification (Obligatoire avant le déploiement)

Vérifiez l'authentification avant wrangler deploy, wrangler pages deploy, ou npm run deploy :

npx wrangler whoami    # Affiche le compte s'il est authentifié

Non authentifié ? → references/wrangler/auth.md

  • Interactif/local : wrangler login (OAuth unique)
  • CI/CD : Définissez la variable d'environnement CLOUDFLARE_API_TOKEN

Arbres de décision rapides

« Je dois exécuter du code »

Besoin d'exécuter du code ?
├─ Fonctions serverless à la périphérie → workers/
├─ Application web full-stack avec déploiements Git → pages/
├─ Coordination avec état/temps réel → durable-objects/
├─ Travaux multi-étapes longue durée → workflows/
├─ Exécuter des conteneurs → containers/
├─ Multi-locataire (clients déploient du code) → workers-for-platforms/
├─ Tâches planifiées (cron) → cron-triggers/
├─ Logique légère à la périphérie (modifier HTTP) → snippets/
├─ Traiter les événements d'exécution Worker (journaux/observabilité) → tail-workers/
└─ Optimiser la latence vers l'infrastructure backend → smart-placement/

« Je dois stocker des données »

Besoin de stockage ?
├─ Clé-valeur (config, sessions, cache) → kv/
├─ SQL relationnel → d1/ (SQLite) ou hyperdrive/ (Postgres/MySQL existant)
├─ Stockage d'objets/fichiers (compatible S3) → r2/
├─ File d'attente de messages (traitement asynchrone) → queues/
├─ Embeddings vectoriels (IA/recherche sémantique) → vectorize/
├─ État fortement cohérent par entité → durable-objects/ (DO storage)
├─ Gestion des secrets → secrets-store/
├─ ETL en streaming vers R2 → pipelines/
└─ Cache persistant (conservation à long terme) → cache-reserve/

« J'ai besoin d'IA/ML »

Besoin d'IA ?
├─ Exécuter l'inférence (LLMs, embeddings, images) → workers-ai/
├─ Base de données vectorielle pour RAG/recherche → vectorize/
├─ Construire des agents IA avec état → agents-sdk/
├─ Passerelle pour tout fournisseur d'IA (cache, routage) → ai-gateway/
└─ Widget de recherche alimenté par l'IA → ai-search/

« J'ai besoin de réseautique/connectivité »

Besoin de réseautique ?
├─ Exposer un service local à internet → tunnel/
├─ Proxy TCP/UDP (non-HTTP) → spectrum/
├─ Serveur TURN WebRTC → turn/
├─ Connectivité réseau privée → network-interconnect/
├─ Optimiser le routage → argo-smart-routing/
├─ Optimiser la latence vers le backend (pas l'utilisateur) → smart-placement/
└─ Vidéo/audio en temps réel → realtimekit/ ou realtime-sfu/

« J'ai besoin de sécurité »

Besoin de sécurité ?
├─ Pare-feu d'application web → waf/
├─ Protection DDoS → ddos/
├─ Détection/gestion des bots → bot-management/
├─ Protection API → api-shield/
├─ Alternative CAPTCHA → turnstile/
└─ Détection de fuite d'identifiants → waf/ (ensemble de règles géré)

« J'ai besoin de médias/contenu »

Besoin de médias ?
├─ Optimisation/transformation d'images → images/
├─ Streaming/codage vidéo → stream/
├─ Automatisation de navigateur/captures d'écran → browser-rendering/
└─ Gestion de scripts tiers → zaraz/

« J'ai besoin d'infrastructure en tant que code »

Besoin d'IaC ? → pulumi/ (Pulumi), terraform/ (Terraform), ou api/ (API REST)

Index des produits

Calcul et exécution

Produit Référence
Workers references/workers/
Pages references/pages/
Pages Functions references/pages-functions/
Durable Objects references/durable-objects/
Workflows references/workflows/
Containers references/containers/
Workers for Platforms references/workers-for-platforms/
Cron Triggers references/cron-triggers/
Tail Workers references/tail-workers/
Snippets references/snippets/
Smart Placement references/smart-placement/

Stockage et données

Produit Référence
KV references/kv/
D1 references/d1/
R2 references/r2/
Queues references/queues/
Hyperdrive references/hyperdrive/
DO Storage references/do-storage/
Secrets Store references/secrets-store/
Pipelines references/pipelines/
R2 Data Catalog references/r2-data-catalog/
R2 SQL references/r2-sql/

IA et apprentissage automatique

Produit Référence
Workers AI references/workers-ai/
Vectorize references/vectorize/
Agents SDK references/agents-sdk/
AI Gateway references/ai-gateway/
AI Search references/ai-search/

Réseautique et connectivité

Produit Référence
Tunnel references/tunnel/
Spectrum references/spectrum/
TURN references/turn/
Network Interconnect references/network-interconnect/
Argo Smart Routing references/argo-smart-routing/
Workers VPC references/workers-vpc/

Sécurité

Produit Référence
WAF references/waf/
DDoS Protection references/ddos/
Bot Management references/bot-management/
API Shield references/api-shield/
Turnstile references/turnstile/

Médias et contenu

Produit Référence
Images references/images/
Stream references/stream/
Browser Rendering references/browser-rendering/
Zaraz references/zaraz/

Communication en temps réel

Produit Référence
RealtimeKit references/realtimekit/
Realtime SFU references/realtime-sfu/

Outils pour développeurs

Produit Référence
Wrangler references/wrangler/
Miniflare references/miniflare/
C3 references/c3/
Observability references/observability/
Analytics Engine references/analytics-engine/
Web Analytics references/web-analytics/
Sandbox references/sandbox/
Workerd references/workerd/
Workers Playground references/workers-playground/

Infrastructure en tant que code

Produit Référence
Pulumi references/pulumi/
Terraform references/terraform/
API references/api/

Autres services

Produit Référence
Email Routing references/email-routing/
Email Workers references/email-workers/
Static Assets references/static-assets/
Bindings references/bindings/
Cache Reserve references/cache-reserve/

Dépannage

Accès réseau escaladé

Si le déploiement échoue en raison de problèmes réseau (délais d'expiration, erreurs DNS, réinitialisations de connexion), réexécutez le déploiement avec des permissions escaladées (utilisez sandbox_permissions=require_escalated). Le déploiement nécessite un accès réseau escaladé lorsque le sandboxing bloque les demandes sortantes.

Exemple de guidage pour l'utilisateur :

Le déploiement a besoin d'un accès réseau escaladé pour déployer sur Cloudflare. Je peux réexécuter la commande avec des permissions escaladées — voulez-vous que je procède ?