Add support for untrusted CNB builders
A `trustBuilder` configuration option has been added to the Maven and Gradle CNB integration image building goal and task. A known set of builders published by Paketo, Heroku, and Google are trusted by default, all other builders are untrusted by default. Closes gh-41352
This commit is contained in:
@@ -70,11 +70,13 @@ class ImageTests {
|
||||
BuildRequest request = new Image().getBuildRequest(createArtifact(), mockApplicationContent());
|
||||
assertThat(request.getName()).hasToString("docker.io/library/my-app:0.0.1-SNAPSHOT");
|
||||
assertThat(request.getBuilder().toString()).contains("paketobuildpacks/builder-jammy-tiny");
|
||||
assertThat(request.isTrustBuilder()).isTrue();
|
||||
assertThat(request.getRunImage()).isNull();
|
||||
assertThat(request.getEnv()).isEmpty();
|
||||
assertThat(request.isCleanCache()).isFalse();
|
||||
assertThat(request.isVerboseLogging()).isFalse();
|
||||
assertThat(request.getPullPolicy()).isEqualTo(PullPolicy.ALWAYS);
|
||||
assertThat(request.isPublish()).isFalse();
|
||||
assertThat(request.getBuildpacks()).isEmpty();
|
||||
assertThat(request.getBindings()).isEmpty();
|
||||
assertThat(request.getNetwork()).isNull();
|
||||
@@ -86,6 +88,26 @@ class ImageTests {
|
||||
image.builder = "springboot/builder:2.2.x";
|
||||
BuildRequest request = image.getBuildRequest(createArtifact(), mockApplicationContent());
|
||||
assertThat(request.getBuilder()).hasToString("docker.io/springboot/builder:2.2.x");
|
||||
assertThat(request.isTrustBuilder()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
void getBuildRequestWhenHasBuilderAndTrustBuilderUsesBuilderAndTrustBuilder() {
|
||||
Image image = new Image();
|
||||
image.builder = "springboot/builder:2.2.x";
|
||||
image.trustBuilder = true;
|
||||
BuildRequest request = image.getBuildRequest(createArtifact(), mockApplicationContent());
|
||||
assertThat(request.getBuilder()).hasToString("docker.io/springboot/builder:2.2.x");
|
||||
assertThat(request.isTrustBuilder()).isTrue();
|
||||
}
|
||||
|
||||
@Test
|
||||
void getBuildRequestWhenHasDefaultBuilderAndTrustBuilderUsesTrustBuilder() {
|
||||
Image image = new Image();
|
||||
image.trustBuilder = false;
|
||||
BuildRequest request = image.getBuildRequest(createArtifact(), mockApplicationContent());
|
||||
assertThat(request.getBuilder().toString()).contains("paketobuildpacks/builder-jammy-tiny");
|
||||
assertThat(request.isTrustBuilder()).isFalse();
|
||||
}
|
||||
|
||||
@Test
|
||||
|
||||
Reference in New Issue
Block a user