OpenShift Builds 1.9 tightens build isolation before containers start
The release adds default-deny network policy, blocks environment variables associated with code injection and makes revision-specific Git clones shallow.
OpenShift Builds 1.9 is now available for OpenShift Container Platform 4.18 and later, with its most consequential changes concentrated around the network and process boundaries of build workloads. Red Hat’s release notes list the release as generally available and compatible with OpenShift 4.18 through 4.22 and OpenShift Pipelines 1.21 through 1.23.
What changed
The operator now installs NetworkPolicies for operand components in the openshift-builds namespace. A default-deny policy restricts traffic, while explicit rules permit Kubernetes API egress, webhook ingress from openshift-kube-apiserver and metrics ingress from openshift-monitoring, according to the 1.9 notes.
Builds 1.9 also rejects selected environment variables that can alter process loading or command execution inside build containers. Red Hat specifically names LD_PRELOAD, BASH_ENV and NODE_OPTIONS; validation occurs when the Build specification is processed and again when environment variables are merged for a BuildRun. Administrators can customize the blocked-variable list.
Two behavior fixes accompany those controls. Variables defined in spec.env now reach Dockerfiles generated by the Source-to-Image ClusterBuildStrategy when --as-dockerfile is used. Builds that specify a Git branch, tag or commit SHA now use a shallow clone rather than retrieving the repository’s full history, reducing network, disk and build-time overhead. The release notes list no known issues.
Who is affected
Platform teams operating the Builds operator should review any custom build strategies, Build resources or images that depend on loader, shell or runtime environment variables. The stricter network baseline can also expose undocumented dependencies on arbitrary ingress or egress from build operands.
The release remains based on Shipwright, with the operator and Builds component identified as separate versioned artifacts. That distinction matters to teams that compare downstream behavior with upstream Shipwright documentation or automation.
What to do
Before rollout, operators should inventory environment variables injected by Build specifications, strategies and policy tooling, then compare them with the configured blocked list. They should also test private source, registry and dependency access under the new NetworkPolicies rather than assuming existing namespace connectivity will continue.
After upgrading, teams using Source-to-Image Dockerfile generation should verify that intended spec.env values appear in the generated build path. Repositories pinned to a branch, tag or SHA should be checked for automation that implicitly relied on full Git history. The release’s supported OpenShift and Pipelines ranges provide the first compatibility gate for scheduling the update.
sources
- Builds for Red Hat OpenShift 1.9 release notesdocs.redhat.com
comments · 0