<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>ClusterImagePolicy on DevOps von UCLAB</title>
    <link>https://uclab.dev/tags/clusterimagepolicy/</link>
    <description>Recent content in ClusterImagePolicy on DevOps von UCLAB</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 04 Mar 2026 19:15:15 +0000</lastBuildDate>
    <atom:link href="https://uclab.dev/tags/clusterimagepolicy/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Enforcing Image Signing in k3s</title>
      <link>https://uclab.dev/posts/cosign/</link>
      <pubDate>Wed, 04 Mar 2026 19:15:15 +0000</pubDate>
      <guid>https://uclab.dev/posts/cosign/</guid>
      <description>&lt;p&gt;One of the things I wanted to get right in my Pi5 cluster was ensuring that only images I&amp;rsquo;ve actually built and signed can run — no surprises, no unsigned images sneaking into my workloads. This post walks through how I set up &lt;a href=&#34;https://docs.sigstore.dev/policy-controller/overview/&#34;&gt;Sigstore&amp;rsquo;s Policy Controller&lt;/a&gt; with Flux to enforce Cosign image signatures in my &lt;code&gt;uclab&lt;/code&gt; namespace.&lt;/p&gt;&#xA;&lt;figure&gt;&lt;img src=&#34;https://uclab.dev/posts/cosign/images/gemini2.png&#34;&#xA;    alt=&#34;ClusterImagePolicy&#34;&gt;&#xA;&lt;/figure&gt;&#xA;&#xA;&lt;h2 id=&#34;the-goal&#34;&gt;The Goal&lt;/h2&gt;&#xA;&lt;p&gt;Every image I deploy to the &lt;code&gt;uclab&lt;/code&gt; namespace is built in my own CI pipeline, pushed to my self-hosted Forgejo registry, and signed with Cosign using a key pair I control. The Policy Controller&amp;rsquo;s job is to sit as an admission webhook and &lt;strong&gt;reject any pod that tries to run an image without a valid signature&lt;/strong&gt;.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
