Cases2 cases
1 to 2 of 2
IL-0283Cloudflare's core proxy returned HTTP 5xx across its network after loading an oversized Bot Management feature fileCloudflare2025- Symptoms
From about 11:20 UTC on 18 November 2025, Cloudflare's network started failing to deliver core traffic, and Internet users visiting Cloudflare customers' sites got an error page that pointed to a failure inside Cloudflare's network. The volume of HTTP 5xx responses served by the network jumped far above its normal low baseline.
- Trigger
At 11:05 UTC Cloudflare deployed a ClickHouse access control change that made users' existing implicit access to the underlying tables in the r0 database explicit, so the metadata of those tables became visible in system tables such as system.columns. The change was being rolled out gradually across the cluster.
- Root cause
- Component
- Contributing factor
- Detection
The first automated test detected the issue at 11:31 UTC, three minutes after the first errors on customer HTTP traffic at 11:28. Manual investigation started at 11:32 and the incident call was created at 11:35.
- Remediation
- Bypassed the core proxy for Workers KV and Access so they fell back to a prior proxy version, which reduced their impact
- Stopped the automatic creation and deployment of new Bot Management feature files
- Inserted a known good feature file into the distribution queue and deployed it globally
- Forced a restart of the core proxy
- Scaled control plane concurrency to clear the backlog of dashboard logins
- Restarted the remaining services that had entered a bad state
- Action items
- Harden the ingestion of Cloudflare-generated configuration files the same way as user-generated input
- Enable more global kill switches for features
- Stop core dumps and other error reports from being able to overwhelm system resources
- Review the failure modes for error conditions across all core proxy modules
IL-0378All Cloudflare R2 object writes and about 35% of reads failed when the R2 Gateway could not authenticate to storageCloudflare2025- Symptoms
From 21:38 UTC on 21 March 2025, Cloudflare R2 object storage returned errors for 1 hour and 7 minutes: all object writes failed and about 35% of object reads failed globally. R2 global availability alerts fired at 21:45 UTC, at a 2% error budget burn rate.
- Trigger
During a routine rotation of the credentials the R2 Gateway Worker uses to authenticate with the storage infrastructure, the new credentials were deployed to the Worker of the default environment instead of the production Worker, and the old credentials were then removed from the storage infrastructure at 20:37 UTC.
- Root cause
- Component
- Contributing factor
- Detection
R2 global availability alerts fired at 21:45 UTC, seven minutes after impact began, at a 2% error budget burn rate, and the R2 engineering team turned to operational dashboards and logs.
- Remediation
- Deployed the new credentials to the production R2 Gateway Worker, which restored R2 availability
- Action items
- Add logging tags with the suffix of the credential ID the R2 Gateway Worker uses
- Require confirmation that the new token ID suffix matches storage infrastructure logs before deleting the old token
- Run key rotation through the hotfix release tooling, which enforces the environment, instead of manual wrangler commands
- Write the two-person validation of these changes into the standard operating procedures
- Extend the closed loop health check system to test new keys, report their status through alerting and confirm global propagation before releasing the gateway Worker
- Add observability views of upstream success rates that bypass caching
- Lessons
Because the deletion of the old credentials took effect gradually, availability metrics were a poor way to confirm the change. Cloudflare said the team should have checked directly which token the R2 Gateway service was using to authenticate with the storage infrastructure instead of relying on those metrics.
These 2 cases involve CDN and edge network and Database. kubegap audits a Kubernetes cluster for gaps like these, read-only, from Claude Code or Codex; its checks cite public reports like the ones in this library.
By root cause2
Configuration change1 case
- Component
- Contributing factor
- Organisation
Operator error1 case
- Component
- Contributing factor
- Organisation