Hangar

Docs · Glidepath

Rootless image builds under Pod Security Standards “restricted”

charts/glidepath-catalog/templates/tasks/build-image.yaml uses kaniko rather than Docker-in-Docker or a privileged buildah/buildctl daemon, specifically so image builds work under PSS restricted (no privileged containers, no host namespaces/mounts, non-root by default) - a deliberate “vanilla Kubernetes, portable” decision: no distribution-specific privilege escalation for the shared build identity, on any cluster this platform runs on.

This is flagged in the plan as a Phase 0 validation item, not assumed to just work: kaniko under restricted is a well-trodden combination, but confirm it on your actual target cluster/CNI/storage class before onboarding real application repos - a build-tooling problem discovered after a dozen apps are already relying on the shared build-image Task is a much more expensive fix than catching it in Phase 0.

If kaniko turns out not to fit (e.g. certain multi-stage Dockerfile features, build cache behavior on your storage backend), buildah in rootless mode is the fallback worth evaluating next - rootless mode support has matured, but it’s less battle-tested specifically for the “no shell privileges at all” constraint kaniko was built around. Either way, this is the one Task in the whole catalog with a deliberate, documented exception to “step code is bash” - see the note at the top of build-image.yaml.