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 2022/10/06 08:53:01 UTC
[camel-k] branch release-1.10.x updated: fix(#3671): Fix native mode for KameletBinding
This is an automated email from the ASF dual-hosted git repository.
pcongiusti pushed a commit to branch release-1.10.x
in repository https://gitbox.apache.org/repos/asf/camel-k.git
The following commit(s) were added to refs/heads/release-1.10.x by this push:
new 9a0b28cee fix(#3671): Fix native mode for KameletBinding
9a0b28cee is described below
commit 9a0b28cee9b883b274e8a939df35b2b63b1cf33a
Author: Christoph Deppisch <cd...@redhat.com>
AuthorDate: Tue Sep 27 19:38:42 2022 +0200
fix(#3671): Fix native mode for KameletBinding
Propagate annotation trait configuration from Integration to IntegrationKit. This makes sure that the kit matches the integration once the native build is done.
---
pkg/trait/quarkus.go | 8 ++++++++
pkg/trait/quarkus_test.go | 18 ++++++++++++++++++
2 files changed, 26 insertions(+)
diff --git a/pkg/trait/quarkus.go b/pkg/trait/quarkus.go
index a35235921..5efa210b1 100644
--- a/pkg/trait/quarkus.go
+++ b/pkg/trait/quarkus.go
@@ -20,6 +20,7 @@ package trait
import (
"fmt"
"sort"
+ "strings"
"github.com/rs/xid"
@@ -197,6 +198,13 @@ func (t *quarkusTrait) newIntegrationKit(e *Environment, packageType traitv1.Qua
if v, ok := integration.Annotations[v1.PlatformSelectorAnnotation]; ok {
v1.SetAnnotation(&kit.ObjectMeta, v1.PlatformSelectorAnnotation, v)
}
+
+ for k, v := range integration.Annotations {
+ if strings.HasPrefix(k, v1.TraitAnnotationPrefix) {
+ v1.SetAnnotation(&kit.ObjectMeta, k, v)
+ }
+ }
+
operatorID := defaults.OperatorID()
if operatorID != "" {
kit.SetOperatorID(operatorID)
diff --git a/pkg/trait/quarkus_test.go b/pkg/trait/quarkus_test.go
index 70f6f37d2..ef9b587fd 100644
--- a/pkg/trait/quarkus_test.go
+++ b/pkg/trait/quarkus_test.go
@@ -71,6 +71,24 @@ func TestApplyQuarkusTraitDefaultKitLayout(t *testing.T) {
assert.Equal(t, environment.IntegrationKits[0].Labels[v1.IntegrationKitLayoutLabel], v1.IntegrationKitLayoutFastJar)
}
+func TestApplyQuarkusTraitAnnotationKitConfiguration(t *testing.T) {
+ quarkusTrait, environment := createNominalQuarkusTest()
+ environment.Integration.Status.Phase = v1.IntegrationPhaseBuildingKit
+
+ v1.SetAnnotation(&environment.Integration.ObjectMeta, v1.TraitAnnotationPrefix+"quarkus.foo", "camel-k")
+
+ configured, err := quarkusTrait.Configure(environment)
+ assert.True(t, configured)
+ assert.Nil(t, err)
+
+ err = quarkusTrait.Apply(environment)
+ assert.Nil(t, err)
+ assert.Len(t, environment.IntegrationKits, 1)
+ assert.Equal(t, v1.IntegrationKitLayoutFastJar, environment.IntegrationKits[0].Labels[v1.IntegrationKitLayoutLabel])
+ assert.Equal(t, "camel-k", environment.IntegrationKits[0].Annotations[v1.TraitAnnotationPrefix+"quarkus.foo"])
+
+}
+
func createNominalQuarkusTest() (*quarkusTrait, *Environment) {
trait, _ := newQuarkusTrait().(*quarkusTrait)
trait.Enabled = pointer.Bool(true)