You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by pc...@apache.org on 2023/06/22 10:22:02 UTC

[camel-k] branch main updated (1f01fbace -> fc859970b)

This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a change to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git


    from 1f01fbace chore(e2e): wait for the catalog to be ready
     new 58f354fcf fix(build): short repo name for default baseImage
     new fc859970b fix(buildah): Add fullname default baseImage override into the ip for buildah

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 docs/modules/ROOT/pages/pipeline/pipeline.adoc |  4 +-
 pkg/builder/buildah.go                         |  1 +
 pkg/platform/defaults.go                       |  8 +++
 pkg/platform/defaults_test.go                  | 82 ++++++++++++++++++++++++++
 pkg/util/defaults/defaults.go                  |  2 +-
 pkg/util/defaults/defaults_support.go          |  4 ++
 pkg/util/defaults/defaults_test.go             |  2 +
 script/Makefile                                |  2 +-
 8 files changed, 101 insertions(+), 4 deletions(-)


[camel-k] 02/02: fix(buildah): Add fullname default baseImage override into the ip for buildah

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit fc859970bb88cbffa3791f4aa6b77f229d750a87
Author: Gaelle Fournier <ga...@gmail.com>
AuthorDate: Wed Jun 14 14:14:32 2023 +0200

    fix(buildah): Add fullname default baseImage override into the ip for buildah
---
 pkg/builder/buildah.go                |  1 +
 pkg/platform/defaults.go              |  8 ++++
 pkg/platform/defaults_test.go         | 82 +++++++++++++++++++++++++++++++++++
 pkg/util/defaults/defaults_support.go |  4 ++
 pkg/util/defaults/defaults_test.go    |  2 +
 5 files changed, 97 insertions(+)

diff --git a/pkg/builder/buildah.go b/pkg/builder/buildah.go
index 71d35a56f..43f9c7087 100644
--- a/pkg/builder/buildah.go
+++ b/pkg/builder/buildah.go
@@ -20,6 +20,7 @@ package builder
 const BuildahPlatform = "BuildahPlatform"
 const BuildahImage = "BuildahImage"
 const BuildahDefaultImageName = "quay.io/buildah/stable"
+const BuildahDefaultBaseImageName = "docker.io/library/eclipse-temurin:11"
 
 var buildahSupportedOptions = map[string]PublishStrategyOption{
 	BuildahPlatform: {
diff --git a/pkg/platform/defaults.go b/pkg/platform/defaults.go
index f6d14829a..aff2bf41b 100644
--- a/pkg/platform/defaults.go
+++ b/pkg/platform/defaults.go
@@ -233,6 +233,10 @@ func applyPlatformSpec(source *v1.IntegrationPlatform, target *v1.IntegrationPla
 	if target.Status.Build.BaseImage == "" {
 		log.Debugf("Integration Platform %s [%s]: setting base image", target.Name, target.Namespace)
 		target.Status.Build.BaseImage = source.Status.Build.BaseImage
+		// Workaround to ensure the default image from buildah is full name. Any baseImage override is in charge of it's validity
+		if target.Status.Build.PublishStrategy == v1.IntegrationPlatformBuildPublishStrategyBuildah && defaults.IsBaseImageDefault() {
+			target.Status.Build.BaseImage = builder.BuildahDefaultBaseImageName
+		}
 	}
 
 	if target.Status.Build.Maven.LocalRepository == "" {
@@ -312,6 +316,10 @@ func setPlatformDefaults(p *v1.IntegrationPlatform, verbose bool) error {
 	if p.Status.Build.BaseImage == "" {
 		log.Debugf("Integration Platform %s [%s]: setting base image", p.Name, p.Namespace)
 		p.Status.Build.BaseImage = defaults.BaseImage()
+		// Workaround to ensure the default image from buildah is full name. Any baseImage override is in charge of it's validity
+		if p.Status.Build.PublishStrategy == v1.IntegrationPlatformBuildPublishStrategyBuildah && defaults.IsBaseImageDefault() {
+			p.Status.Build.BaseImage = builder.BuildahDefaultBaseImageName
+		}
 	}
 	if p.Status.Build.Maven.LocalRepository == "" {
 		log.Debugf("Integration Platform %s [%s]: setting local repository", p.Name, p.Namespace)
diff --git a/pkg/platform/defaults_test.go b/pkg/platform/defaults_test.go
index 79579b7ed..b2a51fb22 100644
--- a/pkg/platform/defaults_test.go
+++ b/pkg/platform/defaults_test.go
@@ -27,6 +27,7 @@ import (
 
 	v1 "github.com/apache/camel-k/v2/pkg/apis/camel/v1"
 	"github.com/apache/camel-k/v2/pkg/apis/camel/v1/trait"
+	"github.com/apache/camel-k/v2/pkg/builder"
 	"github.com/apache/camel-k/v2/pkg/util/test"
 )
 
@@ -96,6 +97,87 @@ func TestApplyGlobalPlatformSpec(t *testing.T) {
 	assert.Equal(t, "global_value2", ip.Status.Build.Maven.Properties["global_prop2"])
 }
 
+func TestPlatformBuildahUpdateOverrideLocalPlatformSpec(t *testing.T) {
+	global := v1.IntegrationPlatform{
+		ObjectMeta: metav1.ObjectMeta{
+			Namespace: "ns",
+		},
+		Spec: v1.IntegrationPlatformSpec{
+			Build: v1.IntegrationPlatformBuildSpec{
+				PublishStrategy: v1.IntegrationPlatformBuildPublishStrategyBuildah,
+			},
+		},
+	}
+
+	c, err := test.NewFakeClient(&global)
+	assert.Nil(t, err)
+
+	err = ConfigureDefaults(context.TODO(), c, &global, false)
+	assert.Nil(t, err)
+	assert.Equal(t, builder.BuildahDefaultBaseImageName, global.Status.Build.BaseImage)
+
+	ip := v1.IntegrationPlatform{
+		ObjectMeta: metav1.ObjectMeta{
+			Name:      "local-camel-k",
+			Namespace: "ns",
+		},
+		Spec: v1.IntegrationPlatformSpec{
+			Build: v1.IntegrationPlatformBuildSpec{
+				PublishStrategy: v1.IntegrationPlatformBuildPublishStrategyBuildah,
+				BaseImage:       "overridden",
+			},
+		},
+	}
+
+	ip.ResyncStatusFullConfig()
+
+	applyPlatformSpec(&global, &ip)
+
+	assert.Equal(t, v1.IntegrationPlatformBuildPublishStrategyBuildah, ip.Status.Build.PublishStrategy)
+	assert.Equal(t, "overridden", ip.Status.Build.BaseImage)
+}
+
+func TestPlatformBuildahUpdateDefaultLocalPlatformSpec(t *testing.T) {
+
+	global := v1.IntegrationPlatform{
+		ObjectMeta: metav1.ObjectMeta{
+			Namespace: "ns",
+		},
+		Spec: v1.IntegrationPlatformSpec{
+			Build: v1.IntegrationPlatformBuildSpec{
+				PublishStrategy: v1.IntegrationPlatformBuildPublishStrategyBuildah,
+				BaseImage:       "overridden",
+			},
+		},
+	}
+
+	c, err := test.NewFakeClient(&global)
+	assert.Nil(t, err)
+
+	err = ConfigureDefaults(context.TODO(), c, &global, false)
+	assert.Nil(t, err)
+	assert.Equal(t, "overridden", global.Status.Build.BaseImage)
+
+	ip := v1.IntegrationPlatform{
+		ObjectMeta: metav1.ObjectMeta{
+			Name:      "local-camel-k",
+			Namespace: "ns",
+		},
+		Spec: v1.IntegrationPlatformSpec{
+			Build: v1.IntegrationPlatformBuildSpec{
+				PublishStrategy: v1.IntegrationPlatformBuildPublishStrategyBuildah,
+			},
+		},
+	}
+
+	ip.ResyncStatusFullConfig()
+
+	applyPlatformSpec(&global, &ip)
+
+	assert.Equal(t, v1.IntegrationPlatformBuildPublishStrategyBuildah, ip.Status.Build.PublishStrategy)
+	assert.Equal(t, builder.BuildahDefaultBaseImageName, ip.Status.Build.BaseImage)
+}
+
 func TestRetainLocalPlatformSpec(t *testing.T) {
 	global := v1.IntegrationPlatform{
 		ObjectMeta: metav1.ObjectMeta{
diff --git a/pkg/util/defaults/defaults_support.go b/pkg/util/defaults/defaults_support.go
index 1c2b28113..ae81ac732 100644
--- a/pkg/util/defaults/defaults_support.go
+++ b/pkg/util/defaults/defaults_support.go
@@ -29,6 +29,10 @@ func BaseImage() string {
 	return envOrDefault(baseImage, "KAMEL_BASE_IMAGE", "RELATED_IMAGE_BASE")
 }
 
+func IsBaseImageDefault() bool {
+	return baseImage == BaseImage()
+}
+
 func OperatorImage() string {
 	return envOrDefault(fmt.Sprintf("%s:%s", ImageName, Version), "KAMEL_OPERATOR_IMAGE", "KAMEL_K_TEST_OPERATOR_CURRENT_IMAGE")
 }
diff --git a/pkg/util/defaults/defaults_test.go b/pkg/util/defaults/defaults_test.go
index 1bc8dbbb9..de9d4f58e 100644
--- a/pkg/util/defaults/defaults_test.go
+++ b/pkg/util/defaults/defaults_test.go
@@ -27,6 +27,7 @@ import (
 
 func TestDefaultBaseImage(t *testing.T) {
 	assert.NotEmpty(t, BaseImage())
+	assert.True(t, IsBaseImageDefault())
 }
 
 func TestOverriddenBaseImage(t *testing.T) {
@@ -35,6 +36,7 @@ func TestOverriddenBaseImage(t *testing.T) {
 	overriddenImage := "xxx"
 	assert.NoError(t, os.Setenv(env, overriddenImage))
 	assert.Equal(t, overriddenImage, BaseImage())
+	assert.False(t, IsBaseImageDefault())
 	assert.NoError(t, os.Setenv(env, oldEnvVal))
 }
 


[camel-k] 01/02: fix(build): short repo name for default baseImage

Posted by pc...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

pcongiusti pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-k.git

commit 58f354fcf0d8bde517fafc52b72f8a28134dd688
Author: Gaelle Fournier <ga...@gmail.com>
AuthorDate: Mon Jun 12 16:05:33 2023 +0200

    fix(build): short repo name for default baseImage
---
 docs/modules/ROOT/pages/pipeline/pipeline.adoc | 4 ++--
 pkg/util/defaults/defaults.go                  | 2 +-
 script/Makefile                                | 2 +-
 3 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/modules/ROOT/pages/pipeline/pipeline.adoc b/docs/modules/ROOT/pages/pipeline/pipeline.adoc
index d58e5c8ef..27b83775c 100644
--- a/docs/modules/ROOT/pages/pipeline/pipeline.adoc
+++ b/docs/modules/ROOT/pages/pipeline/pipeline.adoc
@@ -47,8 +47,8 @@ Altough the main goal of this custom task execution is to have a success/failure
     lastUpdateTime: "2023-05-19T09:56:02Z"
     message: |
       ...
-      {"level":"info","ts":1684490148.080175,"logger":"camel-k.builder","msg":"base image: docker.io/eclipse-temurin:11"}
-      {"level":"info","ts":1684490148.0801787,"logger":"camel-k.builder","msg":"resolved base image: docker.io/eclipse-temurin:11"}
+      {"level":"info","ts":1684490148.080175,"logger":"camel-k.builder","msg":"base image: eclipse-temurin:11"}
+      {"level":"info","ts":1684490148.0801787,"logger":"camel-k.builder","msg":"resolved base image: eclipse-temurin:11"}
     reason: Completed (0)
     status: "True"
     type: Container builder succeeded
diff --git a/pkg/util/defaults/defaults.go b/pkg/util/defaults/defaults.go
index 08f99b1fa..0341b7afa 100644
--- a/pkg/util/defaults/defaults.go
+++ b/pkg/util/defaults/defaults.go
@@ -35,7 +35,7 @@ const (
 	KanikoVersion = "1.9.1"
 
 	// baseImage --
-	baseImage = "docker.io/eclipse-temurin:11"
+	baseImage = "eclipse-temurin:11"
 
 	// LocalRepository --
 	LocalRepository = "/etc/maven/m2"
diff --git a/script/Makefile b/script/Makefile
index 257d2af0f..bb14c8691 100644
--- a/script/Makefile
+++ b/script/Makefile
@@ -31,7 +31,7 @@ CODEGEN_VERSION := v0.25.6
 OPERATOR_SDK_VERSION := v1.28.0
 KUSTOMIZE_VERSION := v4.5.4
 OPM_VERSION := v1.24.0
-BASE_IMAGE := docker.io/eclipse-temurin:11
+BASE_IMAGE := eclipse-temurin:11
 DEFAULT_PVC := camel-k-pvc
 LOCAL_REPOSITORY := /etc/maven/m2
 IMAGE_NAME ?= docker.io/apache/camel-k