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

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

commit 1b844f856f2973b7cf10c773c498654f8b435057
Author: Pasquale Congiusti <pasquale.congiu...@gmail.com>
AuthorDate: Thu Sep 16 10:36:54 2021 +0200

    chore(trait): changing configuration to runtime
---
 docs/modules/ROOT/nav.adoc                         |  2 +-
 docs/modules/traits/pages/runtime.adoc             | 36 ++++++++++++++++++++++
 pkg/cmd/run.go                                     |  2 +-
 pkg/trait/{configuration.go => runtime.go}         | 20 ++++++------
 .../{configuration_test.go => runtime_test.go}     | 12 ++++----
 pkg/trait/trait_register.go                        |  2 +-
 pkg/trait/trait_test.go                            |  2 +-
 resources/traits.yaml                              | 32 +++++++++----------
 8 files changed, 72 insertions(+), 36 deletions(-)

diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 620e5cb..3ff11a4 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -45,7 +45,6 @@
 ** xref:traits:affinity.adoc[Affinity]
 ** xref:traits:builder.adoc[Builder]
 ** xref:traits:camel.adoc[Camel]
-** xref:traits:configuration.adoc[Configuration]
 ** xref:traits:container.adoc[Container]
 ** xref:traits:cron.adoc[Cron]
 ** xref:traits:dependencies.adoc[Dependencies]
@@ -72,6 +71,7 @@
 ** xref:traits:pull-secret.adoc[Pull Secret]
 ** xref:traits:quarkus.adoc[Quarkus]
 ** xref:traits:route.adoc[Route]
+** xref:traits:runtime.adoc[Runtime]
 ** xref:traits:service-binding.adoc[Service Binding]
 ** xref:traits:service.adoc[Service]
 ** xref:traits:toleration.adoc[Toleration]
diff --git a/docs/modules/traits/pages/runtime.adoc 
b/docs/modules/traits/pages/runtime.adoc
new file mode 100755
index 0000000..7e9bbfb
--- /dev/null
+++ b/docs/modules/traits/pages/runtime.adoc
@@ -0,0 +1,36 @@
+= Runtime Trait
+
+// Start of autogenerated code - DO NOT EDIT! (description)
+The runtime trait is used to customize the Integration runtime configuration 
such as properties and resources.
+
+
+This trait is available in the following profiles: **Kubernetes, Knative, 
OpenShift**.
+
+WARNING: The runtime trait is a *platform trait*: disabling it may compromise 
the platform functionality.
+
+// End of autogenerated code - DO NOT EDIT! (description)
+// Start of autogenerated code - DO NOT EDIT! (configuration)
+== Configuration
+
+Trait properties can be specified when running any integration with the CLI:
+[source,console]
+----
+$ kamel run --trait runtime.[key]=[value] --trait runtime.[key2]=[value2] 
integration.groovy
+----
+The following configuration options are available:
+
+[cols="2m,1m,5a"]
+|===
+|Property | Type | Description
+
+| runtime.enabled
+| bool
+| Can be used to enable or disable a trait. All traits share this common 
property.
+
+| runtime.properties
+| []string
+| A list of properties to be provided to the Integration runtime
+
+|===
+
+// End of autogenerated code - DO NOT EDIT! (configuration)
diff --git a/pkg/cmd/run.go b/pkg/cmd/run.go
index 52971bd..f2fcd07 100644
--- a/pkg/cmd/run.go
+++ b/pkg/cmd/run.go
@@ -582,7 +582,7 @@ func (o *runCmdOptions) createOrUpdateIntegration(cmd 
*cobra.Command, c client.C
        }
        for _, key := range props.Keys() {
                kv := fmt.Sprintf("%s=%s", key, props.GetString(key, ""))
-               if propsTraits, err := convertToTraitParameter(kv, 
"configuration.properties"); err != nil {
+               if propsTraits, err := convertToTraitParameter(kv, 
"runtime.properties"); err != nil {
                        return nil, err
                } else {
                        o.Traits = append(o.Traits, propsTraits...)
diff --git a/pkg/trait/configuration.go b/pkg/trait/runtime.go
similarity index 81%
rename from pkg/trait/configuration.go
rename to pkg/trait/runtime.go
index 74c2f10..a4cee7f 100644
--- a/pkg/trait/configuration.go
+++ b/pkg/trait/runtime.go
@@ -27,22 +27,22 @@ import (
        ctrl "sigs.k8s.io/controller-runtime/pkg/client"
 )
 
-// The configuration trait is used to customize the Integration configuration 
such as properties and resources.
+// The runtime trait is used to customize the Integration runtime 
configuration such as properties and resources.
 //
-// +camel-k:trait=configuration
-type configurationTrait struct {
+// +camel-k:trait=runtime
+type runtimeTrait struct {
        BaseTrait `property:",squash"`
        // A list of properties to be provided to the Integration runtime
        Properties []string `property:"properties" json:"properties,omitempty"`
 }
 
-func newConfigurationTrait() Trait {
-       return &configurationTrait{
-               BaseTrait: NewBaseTrait("configuration", 700),
+func newRuntimeTrait() Trait {
+       return &runtimeTrait{
+               BaseTrait: NewBaseTrait("runtime", 700),
        }
 }
 
-func (t *configurationTrait) Configure(e *Environment) (bool, error) {
+func (t *runtimeTrait) Configure(e *Environment) (bool, error) {
        if t.Enabled != nil && !*t.Enabled {
                return false, nil
        }
@@ -50,7 +50,7 @@ func (t *configurationTrait) Configure(e *Environment) (bool, 
error) {
        return true, nil
 }
 
-func (t *configurationTrait) Apply(e *Environment) error {
+func (t *runtimeTrait) Apply(e *Environment) error {
        if e.InPhase(v1.IntegrationKitPhaseReady, v1.IntegrationPhaseDeploying) 
||
                e.InPhase(v1.IntegrationKitPhaseReady, 
v1.IntegrationPhaseRunning) {
                // Get all resources
@@ -65,11 +65,11 @@ func (t *configurationTrait) Apply(e *Environment) error {
        return nil
 }
 
-func (t *configurationTrait) IsPlatformTrait() bool {
+func (t *runtimeTrait) IsPlatformTrait() bool {
        return true
 }
 
-func (t *configurationTrait) computeUserProperties(e *Environment) 
[]ctrl.Object {
+func (t *runtimeTrait) computeUserProperties(e *Environment) []ctrl.Object {
        maps := make([]ctrl.Object, 0)
 
        // combine properties of integration with kit, integration
diff --git a/pkg/trait/configuration_test.go b/pkg/trait/runtime_test.go
similarity index 87%
rename from pkg/trait/configuration_test.go
rename to pkg/trait/runtime_test.go
index 4e457c8..b4f6108 100644
--- a/pkg/trait/configuration_test.go
+++ b/pkg/trait/runtime_test.go
@@ -31,10 +31,10 @@ import (
        metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 )
 
-func TestApplyConfigurationTraitWithProperties(t *testing.T) {
-       configurationTrait, environment := createNominalConfigurationTest()
-       configurationTrait.Properties = []string{"a=b", "c=d"}
-       err := configurationTrait.Apply(environment)
+func TestApplyruntimeTraitWithProperties(t *testing.T) {
+       runtimeTrait, environment := createNominalRuntimeTest()
+       runtimeTrait.Properties = []string{"a=b", "c=d"}
+       err := runtimeTrait.Apply(environment)
        assert.Nil(t, err)
 
        userPropertiesCm := environment.Resources.GetConfigMap(func(cm 
*corev1.ConfigMap) bool {
@@ -46,8 +46,8 @@ func TestApplyConfigurationTraitWithProperties(t *testing.T) {
        }, userPropertiesCm.Data)
 }
 
-func createNominalConfigurationTest() (*configurationTrait, *Environment) {
-       trait := newConfigurationTrait().(*configurationTrait)
+func createNominalRuntimeTest() (*runtimeTrait, *Environment) {
+       trait := newRuntimeTrait().(*runtimeTrait)
        trait.Enabled = BoolP(true)
        trait.Client, _ = test.NewFakeClient(&appsv1.Deployment{
                ObjectMeta: metav1.ObjectMeta{
diff --git a/pkg/trait/trait_register.go b/pkg/trait/trait_register.go
index 530953d..1a3fe4c 100644
--- a/pkg/trait/trait_register.go
+++ b/pkg/trait/trait_register.go
@@ -23,7 +23,6 @@ func init() {
        AddToTraits(newAffinityTrait)
        AddToTraits(newBuilderTrait)
        AddToTraits(newCamelTrait)
-       AddToTraits(newConfigurationTrait)
        AddToTraits(newContainerTrait)
        AddToTraits(newCronTrait)
        AddToTraits(newDependenciesTrait)
@@ -50,6 +49,7 @@ func init() {
        AddToTraits(newPullSecretTrait)
        AddToTraits(newQuarkusTrait)
        AddToTraits(newRouteTrait)
+       AddToTraits(newRuntimeTrait)
        AddToTraits(newServiceTrait)
        AddToTraits(newServiceBindingTrait)
        AddToTraits(newTolerationTrait)
diff --git a/pkg/trait/trait_test.go b/pkg/trait/trait_test.go
index 2936ca6..cad1028 100644
--- a/pkg/trait/trait_test.go
+++ b/pkg/trait/trait_test.go
@@ -508,7 +508,7 @@ func TestOnlySomeTraitsInfluenceBuild(t *testing.T) {
 
 func TestOnlySomeTraitsArePlatform(t *testing.T) {
        c := NewTraitTestCatalog()
-       platformTraits := []string{"builder", "camel", "jvm", "configuration", 
"container", "dependencies", "deployer",
+       platformTraits := []string{"builder", "camel", "jvm", "runtime", 
"container", "dependencies", "deployer",
                "deployment", "environment", "error-handler", "kamelets", 
"openapi", "owner", "platform", "quarkus"}
 
        for _, trait := range c.AllTraits() {
diff --git a/resources/traits.yaml b/resources/traits.yaml
index 6556217..92be833 100755
--- a/resources/traits.yaml
+++ b/resources/traits.yaml
@@ -73,22 +73,6 @@ traits:
     type: string
     description: The camel-k-runtime version to use for the integration. It 
overrides
       the default version set in the Integration Platform.
-- name: configuration
-  platform: true
-  profiles:
-  - Kubernetes
-  - Knative
-  - OpenShift
-  description: The configuration trait is used to customize the Integration 
configuration
-    such as properties and resources.
-  properties:
-  - name: enabled
-    type: bool
-    description: Can be used to enable or disable a trait. All traits share 
this common
-      property.
-  - name: properties
-    type: '[]string'
-    description: A list of properties to be provided to the Integration runtime
 - name: container
   platform: true
   profiles:
@@ -928,6 +912,22 @@ traits:
     description: To configure how to deal with insecure traffic, e.g. `Allow`, 
`Disable`
       or `Redirect` traffic.Refer to the OpenShift route documentation for 
additional
       information.
+- name: runtime
+  platform: true
+  profiles:
+  - Kubernetes
+  - Knative
+  - OpenShift
+  description: The runtime trait is used to customize the Integration runtime 
configuration
+    such as properties and resources.
+  properties:
+  - name: enabled
+    type: bool
+    description: Can be used to enable or disable a trait. All traits share 
this common
+      property.
+  - name: properties
+    type: '[]string'
+    description: A list of properties to be provided to the Integration runtime
 - name: service-binding
   platform: false
   profiles:

Reply via email to