What if your Kubernetes cluster simply refused to run unsigned images? I spent some time experimenting with enforcing image provenance in a small Kubernetes setup using MicroK8s. The idea was simple: Only container images with valid cryptographic signatures are allowed to run in the cluster. For this I used: GitLab CI/CD (build + signing pipeline) Cosign / Sigstore (image signing) Kyverno (admission control) MicroK8s (local cluster) Repo: https://github.com/trottomv/microk8s-cosign-kyverno Why this matters Most Kubernetes setups still rely on mutable image tags like latest , which introduces supply chain risks: No guarantee of image origin No binding between CI pipeline and deployed artifact Risk of registry or tag mutation So the trust gap is basically: build time β registry β runtime Architecture ββββββββββββββββββββββββββββββββ β GitLab CI/CD β β β β β’ Build container image β β β’ Push to OCI registry β β β’ Sign image (Cosign) β β β’ Publish signature β ββββββββββββββββ¬ββββββββββββββββ β βΌβ¦