Skip to content

Refresh policy-controller installation docs#431

Draft
smythp wants to merge 2 commits intosigstore:mainfrom
smythp:policy-controller-installation-refresh-2026-04-24
Draft

Refresh policy-controller installation docs#431
smythp wants to merge 2 commits intosigstore:mainfrom
smythp:policy-controller-installation-refresh-2026-04-24

Conversation

@smythp
Copy link
Copy Markdown
Collaborator

@smythp smythp commented Apr 27, 2026

Summary

Refreshes content/en/policy-controller/installation.md (33 → 126 lines) with information that was previously missing or stale.

New content

  • Prerequisites section with the actual upstream Kubernetes support matrix (1.27/28/29 for > 0.10.x, 1.29/30/31/32 starting with v0.12.0) and a link to the support policy
  • Namespace opt-in label — the existing page didn't mention that namespaces have to be labeled policy.sigstore.dev/include=true, which is a hard prerequisite users hit immediately
  • Unmatched-image policy — documents the no-match-policy ConfigMap key with the supported values (deny default, warn, allow)
  • Resync periods for both ClusterImagePolicy (10h default) and TrustRoot (24h default), with the flags to override
  • Private Sigstore / TUF root mounting — concrete Helm values + --tuf-root / --tuf-mirror / --disable-tuf flag examples (addresses Guide for air-gapped deployments #67)
  • policy-tester — how to validate a ClusterImagePolicy against an image locally without a cluster

Cross-checked against upstream

  • ConfigMap key (no-match-policy) and values: sigstore/policy-controller pkg/config/store.go
  • Webhook flags (--tuf-root, --tuf-mirror, --disable-tuf, --policy-resync-period, --trustroot-resync-period): sigstore/policy-controller cmd/webhook/main.go
  • policy-tester make target: sigstore/policy-controller Makefile
  • Helm chart values + namespace selector default: sigstore/helm-charts chart README and values.yaml

Test plan

  • Render the Hugo site locally and confirm the page renders correctly
  • Verify all internal anchor links (/policy-controller/overview/...) resolve
  • Verify the support-matrix link to sigstore/policy-controller#support-policy resolves
  • Sanity-check the Helm install / upgrade examples on a real cluster

Notes for reviewers

The Kubernetes prerequisite combines two upstream sources because the README's matrix table hasn't been updated post-v0.12.0 in one place — the table still shows > 0.10.x → 1.27/28/29, while the v0.12.0 changelog entry says "drop 1.27/28 and add 1.30/31/32 k8s". The doc cites both. Happy to narrow further if there's a preferred phrasing.

The previous draft of this page recommended --set installCRDs=false; that recommendation is dropped here because the chart's CRD templates (templates/crds/clusterimagepolicy.yaml, templates/crds/trustroots.yaml) install unconditionally and the installCRDs value in values.yaml is not currently wired to a guard.

Closes #67 (private TUF root mounting documentation gap).

smythp added 2 commits April 24, 2026 09:25
Generated via mill crank doc_refresh. Changes:
- Expand from helm install-only to a proper installation guide covering
  operational needs the original omitted
- Bump Kubernetes prerequisite from 1.23+ to 1.27+
- Add 'Enable Policy Enforcement for Namespaces' section — validation
  only runs in labeled namespaces, which the old doc did not mention
- Add 'Configure Image Validation Behavior' covering unmatched-image
  policy (deny by default) and policy/trustroot resync periods
- Add 'Using a Private Sigstore Instance' covering TUF root mounting
  and disable-tuf for air-gapped setups (addresses sigstore#67)
- Add 'Test a Policy Without a Cluster' covering policy-tester
- Introduce CRD, TUF terminology with links on first mention
Drop the --set installCRDs=false guidance — the chart's CRD templates
(clusterimagepolicy.yaml, trustroots.yaml) are unconditional and have
no .Values.installCRDs guard, so the flag is a no-op.

Replace the open-ended "Kubernetes 1.27+" claim with the actual
upstream support matrix: policy-controller > 0.10.x supports
Kubernetes 1.27/28/29; v0.12.0 drops 1.27/28 and adds 1.30/31/32.

Signed-off-by: Patrick Smyth <patrick.smyth@chainguard.dev>
@netlify
Copy link
Copy Markdown

netlify Bot commented Apr 27, 2026

Deploy Preview for docssigstore ready!

Name Link
🔨 Latest commit 1137cfc
🔍 Latest deploy log https://app.netlify.com/projects/docssigstore/deploys/69ef6634d0668d0008e1729b
😎 Deploy Preview https://deploy-preview-431--docssigstore.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

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.

Guide for air-gapped deployments

1 participant