<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>oomkilled</title><description>War stories, hot takes, and hard-won lessons from the DevOps/Cloud/SRE trenches.</description><link>https://oomkilled.com/</link><item><title>GitLab raised the rent and called it AI. So we moved 700 repos out in one weekend.</title><link>https://oomkilled.com/blog/700-repos-off-gitlab/</link><guid isPermaLink="true">https://oomkilled.com/blog/700-repos-off-gitlab/</guid><description>Two engineers, ~700 repos, a Nutanix on-prem GitLab, and a Monday deadline. We left for self-hosted Gitea to dodge a renewal that doubled as a hostage note — and learned exactly how much hidden work a platform like GitLab quietly does for you.</description><pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate></item><item><title>GitLab a augmenté le loyer en appelant ça de l&apos;IA. Alors on a sorti 700 dépôts en un week-end.</title><link>https://oomkilled.com/blog/fr/700-repos-off-gitlab/</link><guid isPermaLink="true">https://oomkilled.com/blog/fr/700-repos-off-gitlab/</guid><description>Deux ingénieurs, ~700 dépôts, un GitLab on-prem sur Nutanix, et une deadline pour lundi. On est partis vers un Gitea auto-hébergé pour esquiver un renouvellement qui ressemblait à une demande de rançon — et on a appris exactement la quantité de travail invisible qu&apos;une plateforme comme GitLab fait pour vous en silence.</description><pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate></item><item><title>initdb a bouffé deux de nos trois réplicas Postgres. Celui qu&apos;on avait mis au rebut nous a sauvés.</title><link>https://oomkilled.com/blog/fr/initdb-ate-two-replicas/</link><guid isPermaLink="true">https://oomkilled.com/blog/fr/initdb-ate-two-replicas/</guid><description>Un rolling restart raté a re-bootstrappé une base neuve et vide par-dessus deux des trois réplicas Postgres. La seule copie intacte était un PVC que Kubernetes avait laissé orphelin quand on avait scalé vers le bas — voici comment on a récupéré les données, et pourquoi on n&apos;aurait jamais dû avoir cette chance.</description><pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Pourquoi ce blog s&apos;appelle OOMKilled</title><link>https://oomkilled.com/blog/fr/why-oomkilled/</link><guid isPermaLink="true">https://oomkilled.com/blog/fr/why-oomkilled/</guid><description>Le code de sortie dont personne ne veut, et ce qu&apos;il m&apos;a appris sur la conduite de vrais systèmes.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate></item><item><title>initdb ate two of our three Postgres replicas. The one we scaled away saved us.</title><link>https://oomkilled.com/blog/initdb-ate-two-replicas/</link><guid isPermaLink="true">https://oomkilled.com/blog/initdb-ate-two-replicas/</guid><description>A botched rolling restart re-bootstrapped a fresh, empty database over two of three Postgres replicas. The only intact copy was a PVC Kubernetes had orphaned when we scaled down — here is how we got the data back, and why we should never have been that lucky.</description><pubDate>Sun, 21 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Why this blog is called OOMKilled</title><link>https://oomkilled.com/blog/why-oomkilled/</link><guid isPermaLink="true">https://oomkilled.com/blog/why-oomkilled/</guid><description>The exit code nobody wants, and what it taught me about running real systems.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate></item></channel></rss>