<?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><category>gitlab</category><category>gitea</category><category>migration</category><category>ci-cd</category><category>platform-engineering</category></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/fr/blog/700-repos-off-gitlab/</link><guid isPermaLink="true">https://oomkilled.com/fr/blog/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><category>gitlab</category><category>gitea</category><category>migration</category><category>ci-cd</category><category>platform-engineering</category></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/fr/blog/initdb-ate-two-replicas/</link><guid isPermaLink="true">https://oomkilled.com/fr/blog/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><category>postgres</category><category>kubernetes</category><category>statefulset</category><category>incident</category><category>data-recovery</category></item><item><title>Le schéma disait que l&apos;appli parlait à trois choses. Le câble en disait onze.</title><link>https://oomkilled.com/fr/blog/map-the-wire-before-you-move/</link><guid isPermaLink="true">https://oomkilled.com/fr/blog/map-the-wire-before-you-move/</guid><description>Avant de migrer quoi que ce soit, il faut savoir à quoi ça parle vraiment — pas ce que prétend le schéma d&apos;architecture. On a posé de l&apos;eBPF sur le chemin d&apos;egress d&apos;un parc d&apos;applis qu&apos;on s&apos;apprêtait à déplacer, et l&apos;écart entre la doc et le réseau, c&apos;était toute l&apos;histoire.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>migration</category><category>observability</category><category>ebpf</category><category>networking</category><category>platform-engineering</category></item><item><title>Pourquoi ce blog s&apos;appelle OOMKilled</title><link>https://oomkilled.com/fr/blog/why-oomkilled/</link><guid isPermaLink="true">https://oomkilled.com/fr/blog/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><category>sre</category><category>culture</category><category>manifesto</category></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><category>postgres</category><category>kubernetes</category><category>statefulset</category><category>incident</category><category>data-recovery</category></item><item><title>The diagram said the app talked to three things. The wire said eleven.</title><link>https://oomkilled.com/blog/map-the-wire-before-you-move/</link><guid isPermaLink="true">https://oomkilled.com/blog/map-the-wire-before-you-move/</guid><description>Before you migrate anything, you have to know what it actually talks to — not what the architecture diagram claims. We put eBPF on the egress path of a fleet of apps we were about to move, and the gap between the documentation and the network was the whole story.</description><pubDate>Tue, 23 Jun 2026 00:00:00 GMT</pubDate><category>migration</category><category>observability</category><category>ebpf</category><category>networking</category><category>platform-engineering</category></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><category>sre</category><category>culture</category><category>manifesto</category></item></channel></rss>