Skip to content

Commit 089eb67

Browse files
author
Matthew Fisher
authored
Merge pull request #498 from bacongobbler/opt-in-buildargs
ref(k8s_util): make users opt into DOCKER_BUILD_ARGS
2 parents 20989e4 + 641f70d commit 089eb67

2 files changed

Lines changed: 11 additions & 2 deletions

File tree

pkg/gitreceive/k8s_util.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,10 @@ func dockerBuilderPod(
6767
// {"KEY": "value"}
6868
//
6969
// So we need to translate the map into json.
70-
dockerBuildArgs, _ := json.Marshal(env)
71-
addEnvToPod(pod, "DOCKER_BUILD_ARGS", string(dockerBuildArgs))
70+
if _, ok := env["DEIS_DOCKER_BUILD_ARGS_ENABLED"]; ok {
71+
dockerBuildArgs, _ := json.Marshal(env)
72+
addEnvToPod(pod, "DOCKER_BUILD_ARGS", string(dockerBuildArgs))
73+
}
7274

7375
pod.Spec.Containers[0].Name = dockerBuilderName
7476
pod.Spec.Containers[0].Image = image

pkg/gitreceive/k8s_util_test.go

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,9 @@ func TestBuildPod(t *testing.T) {
6161

6262
env := make(map[string]interface{})
6363
env["KEY"] = "VALUE"
64+
buildArgsEnv := make(map[string]interface{})
65+
buildArgsEnv["DEIS_DOCKER_BUILD_ARGS_ENABLED"] = "1"
66+
buildArgsEnv["KEY"] = "VALUE"
6467
envSecretName := "test-build-env"
6568
var pod *api.Pod
6669

@@ -149,6 +152,7 @@ func TestBuildPod(t *testing.T) {
149152
{true, "test", "default", env, "tar", "deadbeef", "img", "customimage", api.PullAlways, "", emptyNodeSelector},
150153
{true, "test", "default", env, "tar", "deadbeef", "img", "customimage", api.PullIfNotPresent, "", emptyNodeSelector},
151154
{true, "test", "default", env, "tar", "deadbeef", "img", "customimage", api.PullNever, "", nil},
155+
{true, "test", "default", buildArgsEnv, "tar", "deadbeef", "img", "customimage", api.PullIfNotPresent, "", emptyNodeSelector},
152156
}
153157
regEnv := map[string]string{"REG_LOC": "on-cluster"}
154158
for _, build := range dockerBuilds {
@@ -180,6 +184,9 @@ func TestBuildPod(t *testing.T) {
180184
checkForEnv(t, pod, "TAR_PATH", build.tarKey)
181185
checkForEnv(t, pod, "IMG_NAME", build.imgName)
182186
checkForEnv(t, pod, "REG_LOC", "on-cluster")
187+
if _, ok := build.env["DEIS_DOCKER_BUILD_ARGS_ENABLED"]; ok {
188+
checkForEnv(t, pod, "DOCKER_BUILD_ARGS", `{"DEIS_DOCKER_BUILD_ARGS_ENABLED":"1","KEY":"VALUE"}`)
189+
}
183190
if build.dockerBuilderImage != "" {
184191
if pod.Spec.Containers[0].Image != build.dockerBuilderImage {
185192
t.Errorf("expected %v but returned %v", build.dockerBuilderImage, pod.Spec.Containers[0].Image)

0 commit comments

Comments
 (0)