<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>devopstech — blog</title>
    <link>https://devopstech.net/blog/</link>
    <atom:link href="https://devopstech.net/feed.xml" rel="self" type="application/rss+xml" />
    <description>An engineering workshop: active defence for Kubernetes (ICE) and an autonomous development loop (deusex), plus the archived KubeMeridian plugin for Grafana.</description>
    <language>en</language>
    <lastBuildDate>Sun, 18 Oct 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>Live needs evidence: how ICE keeps its own feature list honest</title>
      <link>https://devopstech.net/blog/live-needs-evidence</link>
      <guid isPermaLink="true">https://devopstech.net/blog/live-needs-evidence</guid>
      <pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate>
      <description>A security product that promises to call the unverified unverified has to apply the rule to itself. Five capability statuses, a dated evidence mark that CI enforces, and the five rows that lost their live status the day after the gate landed.</description>
    </item>
    <item>
      <title>Merged is not deployed, deployed is not fixed</title>
      <link>https://devopstech.net/blog/merged-is-not-fixed</link>
      <guid isPermaLink="true">https://devopstech.net/blog/merged-is-not-fixed</guid>
      <pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate>
      <description>Why ICE closes a security finding only on a measurement taken after the merge — and how Argo CD's sync revision, freshness cadences and Unknown-as-unmet keep the loop honest.</description>
    </item>
    <item>
      <title>The bottleneck is the human: a week when every agent worked and nothing shipped</title>
      <link>https://devopstech.net/blog/the-bottleneck-is-the-human</link>
      <guid isPermaLink="true">https://devopstech.net/blog/the-bottleneck-is-the-human</guid>
      <pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate>
      <description>An autonomous development loop where every role behaved as designed — and two green one-line fixes waited six days. Why refusals by category never expire, and what deusex changed.</description>
    </item>
    <item>
      <title>What I haven't handed to the machine yet</title>
      <link>https://devopstech.net/blog/what-i-have-not-handed-over</link>
      <guid isPermaLink="true">https://devopstech.net/blog/what-i-have-not-handed-over</guid>
      <pubDate>Sun, 18 Oct 2026 00:00:00 GMT</pubDate>
      <description>deusex runs most of my backlog around the clock; the goal is that I decide only the concept. As of October 2026, here is the honest remainder — what is solvable and just not done, and what no method will ever take off a person.</description>
    </item>
    <item>
      <title>From 10+ Kubernetes clusters to 4: a hub-and-spoke ArgoCD story</title>
      <link>https://devopstech.net/blog/consolidating-kubernetes-clusters</link>
      <guid isPermaLink="true">https://devopstech.net/blog/consolidating-kubernetes-clusters</guid>
      <pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate>
      <description>How we consolidated 10+ Kubernetes clusters across four clouds into four, under one hub-and-spoke ArgoCD control plane — topology, GitOps layout and the gotchas.</description>
    </item>
    <item>
      <title>Vault HA on Kubernetes: auto-unseal, dynamic secrets, and a DR runbook</title>
      <link>https://devopstech.net/blog/vault-ha-on-kubernetes</link>
      <guid isPermaLink="true">https://devopstech.net/blog/vault-ha-on-kubernetes</guid>
      <pubDate>Sat, 27 Jun 2026 00:00:00 GMT</pubDate>
      <description>A production-minded HashiCorp Vault setup on Kubernetes — HA storage, auto-unseal via cloud KMS, Kubernetes auth, dynamic secrets and a disaster-recovery runbook.</description>
    </item>
  </channel>
</rss>
