Intégrateur Cloudflare API, du changement edge à la preuve de propagation
Une réponse Cloudflare positive ne prouve ni que le bon compte et la bonne zone ont été visés, ni que le DNS est propagé, ni que le trafic sert la nouvelle version d’un Worker. Dawap construit l’intégration autour des coordonnées stables, des droits minimaux, de l’état relu et des effets réellement observés sur le trafic et l’origine.
Réponse courte
Un changement Cloudflare n’est terminé qu’après propagation et preuve trafic.
Dawap fixe account ID, zone ID, identifiants de ressources et permissions du token, puis contrôle pagination, enveloppe de réponse, propagation DNS, versions de Rulesets, clé de cache et déploiement Worker. Aucun projet client public n’est présenté comme une intégration Cloudflare déjà livrée : les références plus bas prouvent seulement des pratiques adjacentes de performance, d’infrastructure et de reprise.
- Séparer les ressources de compte et de zone avant d’accorder les permissions en lecture ou en écriture.
- Relire records, ruleset actif et déploiement Worker au lieu de conclure sur le seul statut HTTP.
- Tester propagation, trafic, charge origine et retour sûr avant d’étendre une mutation sensible.
La convergence avant la bascule
L’edge est prêt quand API, résolveurs et trafic racontent le même état.
Cette salle de contrôle suit un changement DNS depuis l’état actif jusqu’aux sondes externes, sans confondre transaction acceptée et propagation terminée.
- 01PortéeCompte + zone vérifiésok
Les IDs précèdent le nom affiché.
- 02État actifRecord v43 reluok
L’enveloppe success et result concordent.
- 03PropagationSondes convergentesok
DNS et réponse edge servent v43.
- 04ImpactOrigine protégéego
Le trafic et le cache restent nominaux.
Signaux edge
Trois succès API peuvent encore laisser le trafic dans un état dangereux.
Compte, configuration active et propagation doivent être prouvés séparément avant d’annoncer une bascule.
La bonne ressource, mauvaise zone
Un nom lisible masque account ID, zone ID ou environnement divergents.
Le batch DNS paraît terminé
La transaction est acceptée alors que les résolveurs voient encore des états différents.
Le Worker revient, pas les données
Le rollback du code ne restaure ni KV, ni R2, ni D1, ni Durable Objects.
Architecture Cloudflare API
Un changement edge fiable dépend de six contrats qui ne se remplacent pas
Coordonnées de ressource, permissions, enveloppe de réponse, couverture, propagation et versions conditionnent la validité du résultat. Le connecteur les rend explicites avant toute mutation.
Compte, zone et ressource identifiés
account ID, zone ID et resource ID restent les coordonnées techniques ; le domaine, le nom de règle ou le script servent à expliquer. Le registre interdit une sélection au premier libellé et conserve environnement, propriétaire et source faisant foi.
Token et permissions minimales
Les API tokens Bearer remplacent le Global API Key dans le parcours cible. Permissions de compte, de zone et d’utilisateur sont distinctes, puis limitées aux ressources réellement exploitées avec rotation, révocation et absence du secret dans les logs.
Enveloppe et erreur interprétées
Le statut HTTP ne suffit pas : success, errors, messages et result sont lus ensemble. Les erreurs sont typées, Retry-After est respecté lorsqu’il est fourni et une réponse ambiguë déclenche une relecture avant toute relance.
Pagination et couverture prouvées
page, per_page, count, total_count ou curseur sont suivis selon l’endpoint. Le nombre attendu, le nombre lu, les doublons et les pages en échec produisent un statut complete, partial ou failed, jamais un faux inventaire vide.
DNS réconcilié après propagation
Un batch est transactionnel dans la base Cloudflare, mais sa propagation distribuée n’est pas atomique. Type, nom, contenu, proxied, TTL et identifiant sont relus, puis plusieurs résolveurs et le chemin applicatif confirment l’effet.
Rulesets, cache et Workers versionnés
Portée account ou zone, phase, entry point, ruleset ID et version structurent les règles. Les purges ciblent une clé de cache comprise. Version et deployment Worker restent distincts, tout comme code, bindings, secrets et état des stockages associés.
Méthode
Prouver la portée et l’état actif avant d’ouvrir une écriture Cloudflare
Le pilote part d’une zone non critique. Il résout les coordonnées, vérifie le token, parcourt l’inventaire, relit la configuration active et rapproche la ressource de sa source. Les mutations restent fermées tant que couverture, concurrence, propagation, charge origine ou rollback de données peuvent mentir.
Résoudre les coordonnées
Compte, zone, ressource et token sont non ambigus.
Protéger la concurrence
Version active et diff sont relus avant mutation.
Observer la propagation
API, résolveurs, edge et origine convergent.
Préparer le retour
Code, trafic et données gardent des stratégies distinctes.
Premier lot Cloudflare
Prouver l’inventaire d’une zone témoin sans modifier DNS, WAF, cache ou Worker.
On choisit une zone non critique, vérifie account ID, zone ID et token, parcourt tous les records, lit l’entry point d’une phase Rulesets et inventorie un Worker avec ses versions et déploiements. Aucun record, règle, purge, secret ou trafic n’est modifié. Le lot reste bloqué si la couverture est partielle, si deux ressources homonymes sont possibles ou si l’état actif ne peut pas être relié à sa source.
Sorties concrètes
Matrice compte × zone × ressource × identifiant × token × permission × source faisant foi × environnement.
Inventaire paginé records–rulesets–versions–scripts–versions Worker–déploiements, avec statut complete, partial ou failed.
Recette mauvaise zone, permission insuffisante, enveloppe success false, page oubliée, ressource homonyme, 401, 403, 404 et 429.
Journal expurgé des requêtes, result_info, IDs, versions, empreintes, erreurs Cloudflare, écarts et verdict d’ownership.
Scénarios de recette, non résultats client
Trois contre-tests qui révèlent une automatisation Cloudflare fragile
Ces scénarios décrivent les preuves exigées sur le pilote. Ils ne sont pas présentés comme des résultats client Cloudflare déjà obtenus par Dawap.
Le batch DNS réussit mais les résolveurs ne voient pas encore le même état
Plusieurs records sont changés dans une transaction acceptée. Cloudflare conserve l’ordre prévu dans le batch, mais la propagation distribuée intervient record par record ; pendant la transition, un contrôle unique conclut trop tôt que la bascule est terminée.
- Entrée
- Account ID, zone ID, record IDs, ordre delete–patch–put–post, type, nom, contenu, proxied, TTL, réponse, ancien état, résolveurs, régions et service dépendant.
- Sortie
- Plan de changement ordonné, contrôles préalables, fenêtre de propagation, sondes multi-résolveurs, seuil de convergence, voie de retour et statut transitoire explicite.
- Décision
- Ne pas annoncer la bascule au succès du batch ; maintenir l’état en propagation jusqu’à ce que les sondes et le service dépendant convergent selon le contrat.
Un PUT construit depuis un ancien snapshot retire une règle ajoutée depuis
Le pipeline lit l’entry point d’une phase, prépare un ruleset complet, puis un opérateur ajoute une protection avant son écriture. Le déploiement crée une nouvelle version cohérente avec son payload, mais omet la règle plus récente et affaiblit la politique active.
- Entrée
- Portée account ou zone, phase, entry point, ruleset ID, version lue et active, ordre et IDs des règles, empreinte du payload, auteur, fenêtre et événements concernés.
- Sortie
- Contrôle de concurrence par version et empreinte, diff sémantique ordonné, gel court, approbation sécurité, canary quand disponible, relecture active et procédure de restauration.
- Décision
- Refuser l’écriture si la version active diffère du snapshot approuvé ; reconstruire le diff sur l’état courant plutôt que réappliquer silencieusement l’ancien payload.
Le Worker revient à sa version précédente mais les données restent modifiées
Un nouveau Worker écrit un état incompatible dans KV, R2, D1 ou un Durable Object. Le déploiement est ramené à l’ancienne version, pourtant ce rollback de code ne restaure pas les changements déjà produits dans les stockages associés.
- Entrée
- Account ID, script name, version IDs, deployment et répartition de trafic, bindings, compatibility settings, migrations, schéma et opérations sur chaque stockage, secret names et consommateurs.
- Sortie
- Contrat de compatibilité avant/arrière, migration additive, sauvegarde ou compensation adaptée au stockage, canary, kill switch, test de version ciblée et runbook de retour des données.
- Décision
- Ne pas assimiler rollback Worker et rollback de données ; bloquer le déploiement tant que l’ancienne version ne sait pas relire l’état produit ou qu’une compensation n’est pas testée.
Chaîne edge et infrastructure
Relier Cloudflare sans confondre contrôle, déploiement et effet utilisateur
Cloudflare agit à l’edge ; la CI prépare, l’observabilité mesure et l’ITSM conserve la décision. Ces pages bornent les responsabilités voisines.
Questions d’achat
Questions fréquentes sur l’intégration Cloudflare API
Questions fréquentes sur Cloudflare API, cadrage, connecteur, sécurité, webhooks, quotas et run.
01Que peut construire un intégrateur Cloudflare API ?
Selon le plan et les permissions disponibles : inventaire, gestion de records DNS, Rulesets et WAF, purge ciblée, versions et déploiements Workers, corrélation avec la CI/CD, audit trail, alertes et reporting de dérive. Chaque parcours conserve sa portée, sa source faisant foi et sa preuve de résultat.
02Pourquoi utiliser un API token plutôt que le Global API Key ?
Un API token peut être limité par catégorie de permissions et ressources, notamment au niveau compte ou zone. Le Global API Key est un ancien mécanisme beaucoup plus large. Nous utilisons un Bearer token minimal, dédié, rotatif et révocable pour le flux concerné.
03Un batch DNS Cloudflare est-il atomique ?
Les opérations du batch sont exécutées dans une transaction de base, mais Cloudflare précise que la propagation de chaque record dans son stockage distribué n’est pas atomique. Le succès API doit donc être suivi d’une relecture et de sondes de convergence avant le verdict.
04Comment éviter d’écraser une règle WAF ?
Nous conservons portée, phase, entry point, ruleset ID et version, puis comparons l’état actif au snapshot approuvé juste avant l’écriture. Si une règle ou son ordre a changé, le pipeline recalcule le diff et redemande une validation au lieu de pousser un état périmé.
05Comment purger le cache sans provoquer une surcharge origine ?
Nous préférons URL, hostname, prefix ou tag au purge everything, reconstituons les variantes d’une clé personnalisée avec les en-têtes concernés, bornons le volume puis suivons CF-Cache-Status et la charge origine. Le mécanisme exact dépend du cache réellement configuré.
06Un rollback Worker restaure-t-il aussi KV, R2, D1 ou Durable Objects ?
Non. Les versions Workers couvrent code, assets, bindings et paramètres de compatibilité, mais Cloudflare indique que les changements d’état des stockages associés ne sont pas suivis par ces versions. La stratégie de retour doit donc prévoir compatibilité ou compensation des données séparément.
API DevOps, ITSM & observabilité
Cloudflare doit évoluer vite sans rendre un changement edge inexplicable ?
Dawap peut cadrer une zone témoin, prouver coordonnées, droits, état actif et propagation, puis ouvrir progressivement DNS, Rulesets, cache et Workers avec un retour sûr réaliste.
Cadrer mon intégration Cloudflare