Skip to content

Add Kyverno image verification to the AKS demo - #615

Open
gerardrecinto wants to merge 1 commit into
masterfrom
kyverno-aks-demo
Open

gerardrecinto wants to merge 1 commit into
masterfrom
kyverno-aks-demo

Conversation

@gerardrecinto

Copy link
Copy Markdown
Collaborator

Adds Kyverno to the AKS demo so the cluster only runs images this repo built and signed.

  • publish-image signs the pushed digest with keyless cosign.
  • deploy/aks/argocd/kyverno.yaml installs Kyverno 3.9.2 through Argo CD.
  • deploy/aks/policies/verify-joltrin-image.yaml is an Enforce policy for joltrin-demo that requires a signature from publish-image.yml on master and pins pods to the image digest. argocd/policies.yaml syncs it.
  • README has the apply order.

The tag now in the demo overlay predates signing, so Kyverno will refuse it. After merge, run publish-image and bump the tag in the overlay. Not run on a cluster yet.

Thanks,
Gerard Recinto

Install Kyverno through Argo CD and add an Enforce policy that admits only
joltrin-demo pods whose image publish-image signed with keyless cosign.
publish-image now signs the pushed digest.
@gerardrecinto gerardrecinto self-assigned this Oct 22, 2026
@gerardrecinto
gerardrecinto enabled auto-merge (squash) October 22, 2026 07:16
@github-actions

Copy link
Copy Markdown

Gemini PR Review

Reviewed commit: 75851bf14d55af6301ead6117bc49ab5b27ea280
Verdict: FAIL

  • Security: In deploy/aks/policies/verify-joltrin-image.yaml, the Kyverno ClusterPolicy is configured with validationFailureAction: Enforce. This means that any pod deploying an image ghcr.io/sharedcode/joltrin* into the joltrin-demo namespace will be strictly rejected if it is not signed by the specified OIDC identity (https://github.com/SharedCode/joltrin/.github/workflows/publish-image.yml@refs/heads/master). While this provides strong supply chain security, it will also reject any existing images built prior to this change that have not been re-signed by the updated workflow. This is highlighted in the README.md and is an intended consequence of tightening security, but users should be aware that existing deployments of older images will fail unless updated.

This result blocks merge. Push a fix and comment /gemini review. To contest a finding, see the Gemini dispute process in CONTRIBUTING.md.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant