Label target namespaces with policy.sigstore.dev/include=true to opt them in to admission enforcement
Create a ClusterImagePolicy manifest specifying spec.images with a glob pattern matching your image registry paths
Under spec.authorities add at least one authority block; for keyless signing use a keyless block with url: https://fulcio.sigstore.dev and an identities list
Apply the ClusterImagePolicy with kubectl apply -f policy.yaml
Test by attempting to deploy an unsigned image in a labeled namespace; the admission webhook should reject it with a descriptive error
Known gotchas
Namespaces must be explicitly labeled for enforcement; unlabeled namespaces are not subject to ClusterImagePolicy even if images match the policy's glob patterns
Infrastructure namespaces (kube-system, cosign-system) should be excluded from enforcement to avoid breaking cluster operations; add them to the policy-controller's exclude list in the Helm values
An image must satisfy at least one authority within each matching ClusterImagePolicy; if multiple ClusterImagePolicies match an image, the image must pass all of them (logical AND across policies, OR within authorities)
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp