<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Flux on johanneskueber.com</title><link>https://johanneskueber.com/tags/flux/</link><description>Recent content in Flux on johanneskueber.com</description><generator>Hugo</generator><language>en_US</language><lastBuildDate>Mon, 15 Jun 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://johanneskueber.com/tags/flux/index.xml" rel="self" type="application/rss+xml"/><item><title>Signed OCI Artifacts for Flux with Cosign and Gitea</title><link>https://johanneskueber.com/posts/2026-06-15-signed-oci-deployments/</link><pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate><guid>https://johanneskueber.com/posts/2026-06-15-signed-oci-deployments/</guid><description>&lt;h1 id="signed-oci-artifacts-for-flux-with-cosign-and-gitea"&gt;Signed OCI Artifacts for Flux with Cosign and Gitea&lt;/h1&gt;
&lt;p&gt;Flux will happily pull a Git repository, run &lt;code&gt;kustomize build&lt;/code&gt; over a folder, and apply the result. I ran it that way for a long time and it works. What it does not give you is any statement about &lt;em&gt;what&lt;/em&gt; is being applied or &lt;em&gt;where it came from&lt;/em&gt;. The source of truth is a mutable branch - anyone who can write to that path, or anything that can, changes what lands in the cluster on the next reconcile. There is no integrity check sitting between &amp;ldquo;a commit exists&amp;rdquo; and &amp;ldquo;this is what is running in production.&amp;rdquo;&lt;/p&gt;</description></item></channel></rss>