<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>DevOps on Chris Wagner</title><link>/categories/devops/</link><description>Recent content in DevOps on Chris Wagner</description><generator>Hugo -- gohugo.io</generator><language>en</language><managingEditor>cw@wagner.org.za (Chrisando Wagner)</managingEditor><webMaster>cw@wagner.org.za (Chrisando Wagner)</webMaster><copyright>© 2026 Chrisando Wagner</copyright><lastBuildDate>Mon, 14 Sep 2026 00:00:00 +0000</lastBuildDate><atom:link href="/categories/devops/index.xml" rel="self" type="application/rss+xml"/><item><title>Why I Started Thinking Like a Platform-Engineering Product Owner, Not Just a DevOps Engineer</title><link>/posts/from-devops-to-platform-engineer/</link><pubDate>Mon, 14 Sep 2026 00:00:00 +0000</pubDate><author>cw@wagner.org.za (Chrisando Wagner)</author><guid>/posts/from-devops-to-platform-engineer/</guid><description>&lt;p&gt;Over the last few weeks I&amp;rsquo;ve been laying out how platform engineering grew out of DevOps practice, and what actually separates the two once you stop treating them as synonyms. This post is smaller than either of those, and more personal. It&amp;rsquo;s not an argument about where the industry is heading. It&amp;rsquo;s about a question I noticed I&amp;rsquo;d started asking myself before any other question, and what changed once I did.&lt;/p&gt;</description></item><item><title>What My Homelab Pipeline Would Look Like as an Internal Developer Platform</title><link>/posts/building-golden-paths-from-my-pipeline/</link><pubDate>Mon, 07 Sep 2026 00:00:00 +0000</pubDate><author>cw@wagner.org.za (Chrisando Wagner)</author><guid>/posts/building-golden-paths-from-my-pipeline/</guid><description>&lt;p&gt;I&amp;rsquo;ve been building toward this over the last couple of weeks — writing about how platform engineering split off from DevOps as a discipline, and about the difference between &amp;ldquo;we all own operations&amp;rdquo; as a culture and a team whose actual job is building the platform other teams stand on. This post is where I stop talking about that distinction in the abstract and point it at something I&amp;rsquo;ve actually built.&lt;/p&gt;</description></item><item><title>DevOps Is a Culture. Platform Engineering Is a Product Team. That Difference Matters More Than People Admit</title><link>/posts/devops-vs-platform-engineering/</link><pubDate>Mon, 31 Aug 2026 00:00:00 +0000</pubDate><author>cw@wagner.org.za (Chrisando Wagner)</author><guid>/posts/devops-vs-platform-engineering/</guid><description>&lt;p&gt;I covered where platform engineering actually comes from last week — the short version is that it&amp;rsquo;s what happens when &amp;ldquo;you build it, you run it&amp;rdquo; hits an organisation large enough that nobody can hold the whole picture in their head any more. This week I want to sit with a distinction that gets blurred constantly, in job specs, in conference talks, in the way people casually use &amp;ldquo;DevOps team&amp;rdquo; and &amp;ldquo;platform team&amp;rdquo; as if they&amp;rsquo;re the same noun with a rebrand: &lt;strong&gt;they are not the same thing, in kind, not just in degree.&lt;/strong&gt;&lt;/p&gt;</description></item><item><title>Platform Engineering Didn't Replace DevOps — It's DevOps Grown Up Enough to Ship as a Product</title><link>/posts/devops-platform-engineering-lineage/</link><pubDate>Mon, 24 Aug 2026 00:00:00 +0000</pubDate><author>cw@wagner.org.za (Chrisando Wagner)</author><guid>/posts/devops-platform-engineering-lineage/</guid><description>&lt;p&gt;I keep seeing some version of the same argument on LinkedIn: platform engineering is killing DevOps, or DevOps was always a fad and platform engineering is the &amp;ldquo;real&amp;rdquo; discipline that replaced it, or — my least favourite — that the two terms are just marketing labels for the same job with a new coat of paint every few years so vendors have something to sell at KubeCon. None of that matches what I&amp;rsquo;ve actually watched happen, either in my own homelab or in twenty-five years of building infrastructure for other people&amp;rsquo;s businesses. So this is post one of five where I want to work through it properly, using a pipeline I actually operate rather than a diagram borrowed from a vendor deck.&lt;/p&gt;</description></item><item><title>What I Build — A Technical Services Profile</title><link>/posts/technical-profile/</link><pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate><author>cw@wagner.org.za (Chrisando Wagner)</author><guid>/posts/technical-profile/</guid><description>&lt;p&gt;If you&amp;rsquo;ve landed here from LinkedIn or a referral, this is the longer answer to &amp;ldquo;what do you actually do?&amp;rdquo;&lt;/p&gt;
&lt;p&gt;The short version: I design and build infrastructure, and increasingly I&amp;rsquo;m the one deciding what infrastructure gets built. I have done so for 25 years — across datacentres, managed service environments, banking platforms, and my own homelab — using everything from Windows Server and VMware to OpenStack, Red Hat, and modern cloud-native stacks on Kubernetes. My current role is setting cloud and containerisation strategy for a regulated banking platform: the reference architectures other engineering teams build against, the guardrails that keep a POPIA and PCI-DSS environment audit-ready, and the FinOps governance that keeps cloud spend accountable at group level.&lt;/p&gt;</description></item><item><title>GitOps Reached Maturity in 2026 — Here's What That Actually Looks Like Running Your Own Blog</title><link>/posts/gitops-maturity/</link><pubDate>Mon, 27 Jul 2026 00:00:00 +0000</pubDate><author>cw@wagner.org.za (Chrisando Wagner)</author><guid>/posts/gitops-maturity/</guid><description>&lt;p&gt;Somewhere in the last year, &amp;ldquo;GitOps&amp;rdquo; quietly stopped being a talk track at KubeCon and started being the thing platform teams assume is already in place before a project even gets a name. Argo and Flux both sit at CNCF graduated status now, the highest maturity tier the foundation hands out, and the conference circuit has moved on from &amp;ldquo;should you adopt GitOps&amp;rdquo; to &amp;ldquo;how do you build a self-service golden path on top of it.&amp;rdquo; That&amp;rsquo;s the industry&amp;rsquo;s definition of maturity: a pattern boring enough that nobody has to argue for it any more.&lt;/p&gt;</description></item><item><title>Progressive Delivery with Kargo: Warehouses, Freight, and Blue-Green Promotions</title><link>/posts/kargo-progressive-delivery/</link><pubDate>Mon, 13 Jul 2026 00:00:00 +0000</pubDate><author>cw@wagner.org.za (Chrisando Wagner)</author><guid>/posts/kargo-progressive-delivery/</guid><description>&lt;p&gt;&lt;a
href="../../posts/blog-routing"&gt;How This Blog Is Served&lt;/a&gt;
walked through the full path from &lt;code&gt;git push&lt;/code&gt; to a served page, touching every layer along the way. This post stays in one place: &lt;strong&gt;Kargo&lt;/strong&gt;, the piece that sits between &amp;ldquo;CI built a new image&amp;rdquo; and &amp;ldquo;ArgoCD is told to deploy it.&amp;rdquo; It&amp;rsquo;s the part of the pipeline most likely to look like magic from the outside, so this is a proper look at what it&amp;rsquo;s actually doing — plus a couple of real gotchas hit while getting auto-promotion working correctly.&lt;/p&gt;</description></item><item><title>How This Blog Is Served — Kubernetes, Gateway API, and a Full GitOps Pipeline</title><link>/posts/blog-routing/</link><pubDate>Fri, 17 Apr 2026 00:00:00 +0000</pubDate><author>cw@wagner.org.za (Chrisando Wagner)</author><guid>/posts/blog-routing/</guid><description>&lt;p&gt;This blog runs on a self-hosted k3s cluster, served through a Cloudflare proxy, routed via the Kubernetes Gateway API, and deployed using a fully automated GitOps pipeline. This post walks through exactly how a &lt;code&gt;git push&lt;/code&gt; to &lt;code&gt;main&lt;/code&gt; makes it to your browser — from webhook to blue-green promotion.&lt;/p&gt;
&lt;p&gt;Source: &lt;a
href="https://git.wagner.org.za/cw/blog"
target="_blank"
&gt;git.wagner.org.za/cw/blog&lt;/a&gt;
&lt;/p&gt;
&lt;h2 class="relative group"&gt;The Full Picture
&lt;div id="the-full-picture" class="anchor"&gt;&lt;/div&gt;
&lt;span
class="absolute top-0 w-6 transition-opacity opacity-0 ltr:-left-6 rtl:-right-6 not-prose group-hover:opacity-100"&gt;
&lt;a class="group-hover:text-primary-300 dark:group-hover:text-neutral-700 !no-underline" href="#the-full-picture" aria-label="Anchor"&gt;#&lt;/a&gt;
&lt;/span&gt;
&lt;/h2&gt;
&lt;p&gt;Before diving into each layer, here is the end-to-end flow:&lt;/p&gt;</description></item></channel></rss>