You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by nf...@apache.org on 2021/01/13 10:34:50 UTC
[camel-k] branch release-1.3.x updated: Fix #1707: add a way to
override the base image in the operator
This is an automated email from the ASF dual-hosted git repository.
nferraro pushed a commit to branch release-1.3.x
in repository https://gitbox.apache.org/repos/asf/camel-k.git
The following commit(s) were added to refs/heads/release-1.3.x by this push:
new 5ff89b5 Fix #1707: add a way to override the base image in the operator
5ff89b5 is described below
commit 5ff89b552be1dfeceb53114cc098e43c47d6c8c2
Author: nicolaferraro <ni...@gmail.com>
AuthorDate: Mon Jan 11 11:57:23 2021 +0100
Fix #1707: add a way to override the base image in the operator
---
pkg/platform/defaults.go | 2 +-
pkg/util/defaults/defaults.go | 4 +--
.../defaults/{defaults.go => defaults_support.go} | 42 +++++++++-------------
.../defaults/{defaults.go => defaults_test.go} | 41 +++++++++------------
pkg/util/docker/docker.go | 2 +-
script/Makefile | 4 +--
6 files changed, 39 insertions(+), 56 deletions(-)
diff --git a/pkg/platform/defaults.go b/pkg/platform/defaults.go
index db3dfab..9da4e88 100644
--- a/pkg/platform/defaults.go
+++ b/pkg/platform/defaults.go
@@ -166,7 +166,7 @@ func setPlatformDefaults(ctx context.Context, c client.Client, p *v1.Integration
p.Status.Build.RuntimeVersion = defaults.DefaultRuntimeVersion
}
if p.Status.Build.BaseImage == "" {
- p.Status.Build.BaseImage = defaults.BaseImage
+ p.Status.Build.BaseImage = defaults.BaseImage()
}
if p.Status.Build.Maven.LocalRepository == "" {
p.Status.Build.Maven.LocalRepository = defaults.LocalRepository
diff --git a/pkg/util/defaults/defaults.go b/pkg/util/defaults/defaults.go
index 872f923..73e3f96 100644
--- a/pkg/util/defaults/defaults.go
+++ b/pkg/util/defaults/defaults.go
@@ -34,8 +34,8 @@ const (
// KanikoVersion --
KanikoVersion = "0.17.1"
- // BaseImage --
- BaseImage = "adoptopenjdk/openjdk11:slim"
+ // baseImage --
+ baseImage = "adoptopenjdk/openjdk11:slim"
// LocalRepository --
LocalRepository = "/tmp/artifacts/m2"
diff --git a/pkg/util/defaults/defaults.go b/pkg/util/defaults/defaults_support.go
similarity index 62%
copy from pkg/util/defaults/defaults.go
copy to pkg/util/defaults/defaults_support.go
index 872f923..ec2a397 100644
--- a/pkg/util/defaults/defaults.go
+++ b/pkg/util/defaults/defaults_support.go
@@ -17,29 +17,19 @@ limitations under the License.
package defaults
-// ***********************
-// DO NOT EDIT THIS FILE
-// ***********************
-
-const (
- // Version --
- Version = "1.3.1-SNAPSHOT"
-
- // DefaultRuntimeVersion --
- DefaultRuntimeVersion = "1.6.0"
-
- // BuildahVersion --
- BuildahVersion = "1.14.0"
-
- // KanikoVersion --
- KanikoVersion = "0.17.1"
-
- // BaseImage --
- BaseImage = "adoptopenjdk/openjdk11:slim"
-
- // LocalRepository --
- LocalRepository = "/tmp/artifacts/m2"
-
- // ImageName --
- ImageName = "docker.io/apache/camel-k"
-)
+import "os"
+
+var baseImageOverrideEnvs = []string{"BASE_IMAGE", "RELATED_IMAGE_BASE"}
+
+func BaseImage() string {
+ return envOrDefault(baseImage, baseImageOverrideEnvs...)
+}
+
+func envOrDefault(def string, envs ...string) string {
+ for i := range envs {
+ if val := os.Getenv(envs[i]); val != "" {
+ return val
+ }
+ }
+ return def
+}
diff --git a/pkg/util/defaults/defaults.go b/pkg/util/defaults/defaults_test.go
similarity index 62%
copy from pkg/util/defaults/defaults.go
copy to pkg/util/defaults/defaults_test.go
index 872f923..90dba55 100644
--- a/pkg/util/defaults/defaults.go
+++ b/pkg/util/defaults/defaults_test.go
@@ -17,29 +17,22 @@ limitations under the License.
package defaults
-// ***********************
-// DO NOT EDIT THIS FILE
-// ***********************
+import (
+ "os"
+ "testing"
-const (
- // Version --
- Version = "1.3.1-SNAPSHOT"
-
- // DefaultRuntimeVersion --
- DefaultRuntimeVersion = "1.6.0"
-
- // BuildahVersion --
- BuildahVersion = "1.14.0"
-
- // KanikoVersion --
- KanikoVersion = "0.17.1"
-
- // BaseImage --
- BaseImage = "adoptopenjdk/openjdk11:slim"
-
- // LocalRepository --
- LocalRepository = "/tmp/artifacts/m2"
-
- // ImageName --
- ImageName = "docker.io/apache/camel-k"
+ "github.com/stretchr/testify/assert"
)
+
+func TestDefaultBaseImage(t *testing.T) {
+ assert.NotEmpty(t, BaseImage())
+}
+
+func TestOverriddenBaseImage(t *testing.T) {
+ env := "RELATED_IMAGE_BASE"
+ oldEnvVal := os.Getenv(env)
+ overriddenImage := "xxx"
+ assert.NoError(t, os.Setenv(env, overriddenImage))
+ assert.Equal(t, overriddenImage, BaseImage())
+ assert.NoError(t, os.Setenv(env, oldEnvVal))
+}
diff --git a/pkg/util/docker/docker.go b/pkg/util/docker/docker.go
index 90ce1f3..7a48b6b 100644
--- a/pkg/util/docker/docker.go
+++ b/pkg/util/docker/docker.go
@@ -32,7 +32,7 @@ func CreateBaseImageDockerFile() error {
dockerFile := []string{}
// Base image is a java-only image since the integration command is just a java command.
- dockerFile = append(dockerFile, FROM(defaults.BaseImage))
+ dockerFile = append(dockerFile, FROM(defaults.BaseImage()))
// Ensure Maven is already installed.
dockerFile = append(dockerFile, RUNMavenInstall())
diff --git a/script/Makefile b/script/Makefile
index c6ae0c4..aaa0d52 100644
--- a/script/Makefile
+++ b/script/Makefile
@@ -107,8 +107,8 @@ codegen:
@echo " // KanikoVersion -- " >> $(VERSIONFILE)
@echo " KanikoVersion = \"$(KANIKO_VERSION)\"" >> $(VERSIONFILE)
@echo "" >> $(VERSIONFILE)
- @echo " // BaseImage -- " >> $(VERSIONFILE)
- @echo " BaseImage = \"$(BASE_IMAGE)\"" >> $(VERSIONFILE)
+ @echo " // baseImage -- " >> $(VERSIONFILE)
+ @echo " baseImage = \"$(BASE_IMAGE)\"" >> $(VERSIONFILE)
@echo "" >> $(VERSIONFILE)
@echo " // LocalRepository -- " >> $(VERSIONFILE)
@echo " LocalRepository = \"$(LOCAL_REPOSITORY)\"" >> $(VERSIONFILE)