<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Journal — Gumoji</title>
    <link>https://staging.gumoji.com/journal/</link>
    <description>Engineering write-ups, incident reports and the occasional opinion about compliance, written by the people who did the work.</description>
    <language>en</language>
    <atom:link href="https://staging.gumoji.com/journal/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>What NIS2 actually asks of your CI pipeline</title>
      <link>https://staging.gumoji.com/journal/nis2-ci/</link>
      <guid isPermaLink="true">https://staging.gumoji.com/journal/nis2-ci/</guid>
      <pubDate>Fri, 02 Oct 2026 00:00:00 GMT</pubDate>
      <category>Compliance</category>
      <description>Less than the consultants say, more than most pipelines do. A practical reading of Article 21 for people who own a .gitea/workflows folder.</description>
    </item>
    <item>
      <title>Fourteen minutes in August: a write-up</title>
      <link>https://staging.gumoji.com/journal/fourteen-minutes/</link>
      <guid isPermaLink="true">https://staging.gumoji.com/journal/fourteen-minutes/</guid>
      <pubDate>Fri, 18 Sep 2026 00:00:00 GMT</pubDate>
      <category>Reliability</category>
      <description>A connection pool, a config default and a very patient load balancer. What broke, what we changed, what we&apos;re still watching.</description>
    </item>
    <item>
      <title>Why we forked Gitea, and how we stay friends upstream</title>
      <link>https://staging.gumoji.com/journal/forked-gitea/</link>
      <guid isPermaLink="true">https://staging.gumoji.com/journal/forked-gitea/</guid>
      <pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate>
      <category>Platform</category>
      <description>Horizontal scaling needed changes upstream couldn&apos;t take yet. Here&apos;s how we keep the diff small and send the rest back.</description>
    </item>
    <item>
      <title>Keycloak upgrades without the cold sweat</title>
      <link>https://staging.gumoji.com/journal/keycloak-upgrades/</link>
      <guid isPermaLink="true">https://staging.gumoji.com/journal/keycloak-upgrades/</guid>
      <pubDate>Fri, 21 Aug 2026 00:00:00 GMT</pubDate>
      <category>Security</category>
      <description>Theme drift, provider SPIs and the migration script nobody reads. Our upgrade checklist, shared in full.</description>
    </item>
    <item>
      <title>Reachability beats severity: triaging 4,000 CVEs</title>
      <link>https://staging.gumoji.com/journal/reachability/</link>
      <guid isPermaLink="true">https://staging.gumoji.com/journal/reachability/</guid>
      <pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate>
      <category>Security</category>
      <description>A critical in code you never call is a footnote. A medium on your login path is your week.</description>
    </item>
    <item>
      <title>A gateway is a contract, not a proxy</title>
      <link>https://staging.gumoji.com/journal/gateway-contract/</link>
      <guid isPermaLink="true">https://staging.gumoji.com/journal/gateway-contract/</guid>
      <pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate>
      <category>Platform</category>
      <description>Why we keep gateway config in the same repo as the service, reviewed by the same people.</description>
    </item>
    <item>
      <title>ISO 27001 evidence your platform already has</title>
      <link>https://staging.gumoji.com/journal/iso-evidence/</link>
      <guid isPermaLink="true">https://staging.gumoji.com/journal/iso-evidence/</guid>
      <pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate>
      <category>Compliance</category>
      <description>Pull requests, pipeline logs and access reviews are evidence. You just need to keep them where an auditor can find them.</description>
    </item>
  </channel>
</rss>
