feat: add --source-policy-file flag to nerdctl build #4712
+72
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
--source-policy-fileflag tonerdctl buildthat passes through tobuildctl build --source-policy-fileEXPERIMENTAL_BUILDKIT_SOURCE_POLICYenvironment variable for Docker Buildx compatibilityThis enables BuildKit source policies for reproducible and policy-driven builds (pin base images to digests, deny/allow sources, enforce HTTP checksums) without modifying Dockerfiles.
Implementation Details
This is a minimal passthrough to BuildKit - nerdctl does not validate the policy file; BuildKit handles all validation and error messages.
Files changed:
pkg/api/types/builder_types.go: AddedSourcePolicyFilefield toBuilderBuildOptionscmd/nerdctl/builder/builder_build.go: Added--source-policy-fileflag and wiringpkg/cmd/builder/build.go: Pass through to buildctl with env var fallbackpkg/cmd/builder/build_test.go: Unit tests for precedence logicdocs/command-reference.md: DocumentationUsage
Test plan
References