Merge branch '2.7.x'
This commit is contained in:
@@ -48,6 +48,9 @@ The following table summarizes the available properties:
|
||||
|
||||
| `certPath`
|
||||
| Path to certificate and key files for HTTPS (required if `tlsVerify` is `true`, ignored otherwise)
|
||||
|
||||
| `bindHostToBuilder`
|
||||
| When `true`, the value of the `host` property will be provided to the container that is created for the CNB builder (optional)
|
||||
|===
|
||||
|
||||
For more details, see also <<build-image.examples.docker,examples>>.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
* Copyright 2012-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -39,6 +39,8 @@ public class DockerSpec {
|
||||
|
||||
private String certPath;
|
||||
|
||||
private boolean bindHostToBuilder;
|
||||
|
||||
private final DockerRegistrySpec builderRegistry;
|
||||
|
||||
private final DockerRegistrySpec publishRegistry;
|
||||
@@ -83,6 +85,16 @@ public class DockerSpec {
|
||||
this.certPath = certPath;
|
||||
}
|
||||
|
||||
@Input
|
||||
@Optional
|
||||
public Boolean isBindHostToBuilder() {
|
||||
return this.bindHostToBuilder;
|
||||
}
|
||||
|
||||
public void setBindHostToBuilder(boolean use) {
|
||||
this.bindHostToBuilder = use;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the {@link DockerRegistrySpec} that configures authentication to the
|
||||
* builder registry.
|
||||
@@ -130,6 +142,7 @@ public class DockerSpec {
|
||||
DockerConfiguration asDockerConfiguration() {
|
||||
DockerConfiguration dockerConfiguration = new DockerConfiguration();
|
||||
dockerConfiguration = customizeHost(dockerConfiguration);
|
||||
dockerConfiguration = dockerConfiguration.withBindHostToBuilder(this.bindHostToBuilder);
|
||||
dockerConfiguration = customizeBuilderAuthentication(dockerConfiguration);
|
||||
dockerConfiguration = customizePublishAuthentication(dockerConfiguration);
|
||||
return dockerConfiguration;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
* Copyright 2012-2022 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -53,6 +53,7 @@ class DockerSpecTests {
|
||||
assertThat(host.getAddress()).isEqualTo("docker.example.com");
|
||||
assertThat(host.isSecure()).isEqualTo(true);
|
||||
assertThat(host.getCertificatePath()).isEqualTo("/tmp/ca-cert");
|
||||
assertThat(dockerConfiguration.isBindHostToBuilder()).isFalse();
|
||||
assertThat(dockerSpec.asDockerConfiguration().getBuilderRegistryAuthentication()).isNull();
|
||||
assertThat(dockerSpec.asDockerConfiguration().getPublishRegistryAuthentication()).isNull();
|
||||
}
|
||||
@@ -66,6 +67,22 @@ class DockerSpecTests {
|
||||
assertThat(host.getAddress()).isEqualTo("docker.example.com");
|
||||
assertThat(host.isSecure()).isEqualTo(false);
|
||||
assertThat(host.getCertificatePath()).isNull();
|
||||
assertThat(dockerConfiguration.isBindHostToBuilder()).isFalse();
|
||||
assertThat(dockerSpec.asDockerConfiguration().getBuilderRegistryAuthentication()).isNull();
|
||||
assertThat(dockerSpec.asDockerConfiguration().getPublishRegistryAuthentication()).isNull();
|
||||
}
|
||||
|
||||
@Test
|
||||
void asDockerConfigurationWithBindHostToBuilder() {
|
||||
DockerSpec dockerSpec = new DockerSpec();
|
||||
dockerSpec.setHost("docker.example.com");
|
||||
dockerSpec.setBindHostToBuilder(true);
|
||||
DockerConfiguration dockerConfiguration = dockerSpec.asDockerConfiguration();
|
||||
DockerHost host = dockerConfiguration.getHost();
|
||||
assertThat(host.getAddress()).isEqualTo("docker.example.com");
|
||||
assertThat(host.isSecure()).isEqualTo(false);
|
||||
assertThat(host.getCertificatePath()).isNull();
|
||||
assertThat(dockerConfiguration.isBindHostToBuilder()).isTrue();
|
||||
assertThat(dockerSpec.asDockerConfiguration().getBuilderRegistryAuthentication()).isNull();
|
||||
assertThat(dockerSpec.asDockerConfiguration().getPublishRegistryAuthentication()).isNull();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user