Cases5 cases
1 to 5 of 5
IL-0368PlanetScale's control plane went down and some database branches failed queries during the AWS us-east-1 outagePlanetScale2025- Symptoms
At 7:13 UTC on 20 October 2025, PlanetScale's continuous tests in production started failing because they could not create new database branches. The service that creates, resizes and configures database branches was unavailable, a near-total control plane outage, while existing database branches kept their capacity and connectivity.
- Trigger
The incident started with a DNS misconfiguration at one of PlanetScale's service providers. An Amazon DynamoDB outage impacted AWS STS, and several hours of capacity constraints and network instability in AWS us-east-1 followed.
- Root cause
- Component
- Contributing factor
- –
- Detection
PlanetScale's continuous testing in production started failing and alerted engineers at 7:13 UTC. At 10:05 UTC an alert fired for a Kubernetes operator in a large single-tenant customer installation exhausting its resources.
- Remediation
- Disallowed new databases in us-east-1 and made us-east-2 the default region for new databases
- Delayed new backups and cancelled pending backups that were waiting for an EC2 instance
- Advised PlanetScale Managed customers with vtgate autoscaling to shed load
- Paused draining and terminating EC2 instances older than 30 days
- Kept vacant EC2 instances for reuse instead of terminating them
- Bin-packed vtgate processes more tightly for customers with autoscaling
- Sent manual reparent requests to move primaries to healthier availability zones
- Restarted the edge load balancer and vtgate processes that did not recover after the partitions healed
- Action items
- Understand and become resilient to the failure modes of SaaS dependencies for CI/CD, SSO, web application hosting and incident communication
- Investigate more ambitious ways to reduce runtime dependence on internal and AWS services
- Look into using all six us-east-1 availability zones to tolerate zonal outages and partitions
- Lessons
Keeping the control plane separate from the data plane meant the control plane outage did not affect customer databases, and redundancy, automated failover and zonal traffic routing limited the effect of the network partitions. Network partitions are hard to reason about, test and tolerate: with three availability zones a system survives losing one zone only if the other two can still reach each other reliably.
IL-0348Scaleway's FR-PAR region lost public internet connectivity when one 100 Gbps backbone link was saturatedScaleway2025- Symptoms
On 10 March 2025 at 16:22 UTC, public internet connectivity in Scaleway's FR-PAR region broke for all products. Most internet traffic between the FR-PAR-2 availability zone and the rest of the PAR region was blackholed for about five minutes, while VPC traffic and Dedibox RPN kept working.
- Trigger
While Scaleway's network team connected a new data center to the FR-PAR backbone, a human mistake in a router configuration rerouted more than 1 Tbps of traffic between OpCore DC3 and DC5 through a single 100 Gbps link.
- Root cause
- Component
- Contributing factor
- Detection
The router configuration error was detected quickly and rolled back within four minutes.
- Remediation
- Rolled back the router configuration, restoring the correct configuration at 16:27 UTC
- Action items
- Harden the peer review and production communication process for changes
- Add failsafes and tests before network configuration is applied at backbone level
- Deploy the fix for the Object Storage synchronisation software issue
IL-0517Gitpod workspaces failed to start worldwide and lost data when CoreDNS lookups to 8.8.8.8 timed out in its clustersGitpod2022- Symptoms
At around 5.44pm UTC on 25 January 2022, Gitpod saw a high error rate when pulling images from Google Container Registry (gcr.io), with the error "cannot get manifest". About 10 minutes later users reported that they could not start workspaces.
- Root cause
- Component
- Contributing factor
- Detection
The team noticed a high error rate on image pulls from GCR at around 5.44pm UTC; about 10 minutes later users reported that workspaces would not start, and the on-call team started incident response.
- Remediation
- Created new workspace clusters in the EU and the US with a werft job
- Redirected traffic to the new clusters
- Action items
- Keep workspace data on cloud provider persistent volumes that survive node and cluster failures
- Let users download their files from a workspace that cannot be started
- Improve the workspace backup process
- Use three DNS servers instead of one: a GCP-internal one, 8.8.8.8 and Cloudflare's 1.1.1.1
- Do more DNS resiliency work, tracked in an epic
- Improve support for multi-region clusters and later go multi-cloud
IL-0229bunny.net's DNS servers crashed in a loop on a corrupted routing database file and could not fetch a fix from its CDNbunny.net2021- Symptoms
On 22 June 2021, within minutes of an update released at 8:25 AM UTC, bunny.net's global fleet of close to 100 DNS servers kept crashing and restarting, more than 60% of traffic was lost, hundreds of Gbits of throughput disappeared, and over 750,000 websites were affected. After 10 minutes the team realised that the DNS servers were restarting and dying and that nothing could bring them back up in that state.
- Trigger
At 8:25 AM UTC bunny.net released an update meant to reduce the download size of the SmartEdge optimization database, and it uploaded a corrupted file to Edge Storage.
- Root cause
- Component
- Contributing factor
- Detection
About 10 minutes after the release, the team realised that the DNS servers were restarting and dying.
- Remediation
- Deployed by hand an update that disabled the SmartEdge system on the DNS nodes
- Routed all requests through Frankfurt instead of Madrid on a couple of DNS servers
- Migrated the deployment systems and files to a third-party cloud storage service
- Rewired the deployment system and DNS software to the new storage and deployed
- Synced the databases and deployed the newest file sets through the third-party service
- Action items
- Phase out the BinaryPack library as a hot-fix
- Test third-party libraries more extensively
- Migrate the internal APIs to an independent third-party service
- Find how to stop non-critical software from becoming a single point of failure across clusters
- Make the DNS system keep a local copy of all backup data with automatic failure detection
- Lessons
bunny.net had built its systems to rely on each other, including the critical parts of its internal infrastructure, so one corrupted file brought down several layers of redundancy with no way back. A part of the infrastructure treated as non-critical turned out to be a single point of failure for several clusters at once, which canary deployments did not catch. Building infrastructure inside its own ecosystem lets one failure cascade through all of it. In the rush to fix the outage the team made typos and mistakes, and the final deployment came after it calmed down and double-checked everything.
- Symptoms
From 9:37AM PST on February 28th, 2017, Amazon S3 in the Northern Virginia (US-EAST-1) Region could not serve requests. AWS services in the region that store data in S3 failed with it, including the S3 console, new Amazon EC2 instance launches, Amazon EBS volumes that needed data from an S3 snapshot, and AWS Lambda.
- Trigger
While debugging an S3 billing system that was progressing more slowly than expected, an authorized S3 team member followed an established playbook to remove a small number of servers from one S3 subsystem used by the billing process, and entered one input of the command incorrectly.
- Root cause
- Component
- Contributing factor
- Remediation
- Restarted the index subsystem, which served GET, LIST and DELETE again from 12:26PM PST
- Restarted the placement subsystem after the index subsystem worked, restoring PUT by 1:54PM PST
- Action items
- Change the capacity removal tool to remove capacity more slowly
- Add safeguards that stop capacity removal when it would take a subsystem below its minimum required capacity
- Audit other operational tools for similar safety checks
- Improve the recovery time of key S3 subsystems and start the planned further partitioning of the index subsystem into cells now
- Run the SHD administration console across multiple AWS regions
These 5 cases involve Object storage and Authoritative DNS servers and records. 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 cause4
Cloud provider outage1 case
- Contributing factor
- –
- Organisation
Operator error2 cases
- Component
- Contributing factor
- Organisation
DNS or network fault1 case
- Contributing factor
- Organisation
Faulty deployment1 case
- Contributing factor
- Organisation