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 31ad01a29e34e4822abb5080b3c0840a010cab4e
Author: Pasquale Congiusti <pasquale.congiu...@gmail.com>
AuthorDate: Tue Oct 24 13:22:30 2023 +0200

    doc(trait): TraitCondition explaination
---
 addons/master/master.go                          |  8 +++-----
 docs/modules/ROOT/pages/architecture/traits.adoc |  4 ++--
 pkg/trait/trait_condition_types.go               | 13 -------------
 3 files changed, 5 insertions(+), 20 deletions(-)

diff --git a/addons/master/master.go b/addons/master/master.go
index c60733341..e2002e806 100644
--- a/addons/master/master.go
+++ b/addons/master/master.go
@@ -91,10 +91,6 @@ func (t *masterTrait) Configure(e *trait.Environment) (bool, 
*trait.TraitConditi
        if !e.IntegrationInPhase(v1.IntegrationPhaseInitialization) && 
!e.IntegrationInRunningPhases() {
                return false, nil, nil
        }
-       if !pointer.BoolDeref(t.Enabled, false) {
-               return false, trait.NewIntegrationConditionUserDisabled(), nil
-       }
-
        if pointer.BoolDeref(t.Auto, true) {
                // Check if the master component has been used
                sources, err := kubernetes.ResolveIntegrationSources(e.Ctx, 
t.Client, e.Integration, e.Resources)
@@ -115,7 +111,9 @@ func (t *masterTrait) Configure(e *trait.Environment) 
(bool, *trait.TraitConditi
                                }
                        }
                }
-
+               if !pointer.BoolDeref(t.Enabled, false) {
+                       return false, 
trait.NewIntegrationConditionUserDisabled(), nil
+               }
                if t.IncludeDelegateDependencies == nil || 
*t.IncludeDelegateDependencies {
                        t.delegateDependencies = findAdditionalDependencies(e, 
meta)
                }
diff --git a/docs/modules/ROOT/pages/architecture/traits.adoc 
b/docs/modules/ROOT/pages/architecture/traits.adoc
index 3457b3b4e..fc56b1192 100644
--- a/docs/modules/ROOT/pages/architecture/traits.adoc
+++ b/docs/modules/ROOT/pages/architecture/traits.adoc
@@ -40,7 +40,7 @@ type Trait interface {
        Identifiable
        client.Injectable
        InjectContext(context.Context)
-       Configure(environment *Environment) (bool, error)
+       Configure(environment *Environment) (bool, TraitCondition, error)
        Apply(environment *Environment) error
        InfluencesKit() bool
        InfluencesBuild(this, prev map[string]interface{}) bool
@@ -51,7 +51,7 @@ type Trait interface {
 }
 ----
 
-Each trait will implement this interface. The most important methods that will 
be invoked by the xref:architecture/operator.adoc[Operator] are `Configure()` 
and `Apply()`. Basically, the `Configure()` method will set those inputs 
aforementioned (each trait has its own). The method is in charge to verify also 
the correctness of those expected parameters, where it makes sense (i.e., a 
well expected `Kubernetes` resource name).
+Each trait will implement this interface. The most important methods that will 
be invoked by the xref:architecture/operator.adoc[Operator] are `Configure()` 
and `Apply()`. Basically, the `Configure()` method will set those inputs 
aforementioned (each trait has its own). The method is in charge to verify also 
the correctness of those expected parameters, where it makes sense (i.e., a 
well expected `Kubernetes` resource name). The function can return a 
`TraitCondition` object containing an [...]
 
 Once configured, the `Apply()` method will be called along the build or 
initialization phase in order to do the business logic expected for it. The 
`environment` variable will give you all the below resources you will need to 
perform your operation (ie, the `Integration` or any Kubernetes resource 
attached to it). You can have a deeper look at the 
`https://github.com/apache/camel-k/blob/main/pkg/trait/trait_types.go#L188[Environment]`
 struct.
 
diff --git a/pkg/trait/trait_condition_types.go 
b/pkg/trait/trait_condition_types.go
index 9b35647c9..6acf12dcf 100644
--- a/pkg/trait/trait_condition_types.go
+++ b/pkg/trait/trait_condition_types.go
@@ -54,23 +54,10 @@ func NewIntegrationConditionUserDisabled() *TraitCondition {
        return NewIntegrationCondition(v1.IntegrationConditionTraitInfo, 
corev1.ConditionTrue, traitConfigurationMessage, userDisabledMessage)
 }
 
-func newIntegrationConditionPlatformDisabled() *TraitCondition {
-       return NewIntegrationCondition(v1.IntegrationConditionTraitInfo, 
corev1.ConditionTrue, traitConfigurationMessage, platformDisabledMessage)
-}
-
 func newIntegrationConditionPlatformDisabledWithReason(reason string) 
*TraitCondition {
        return NewIntegrationCondition(v1.IntegrationConditionTraitInfo, 
corev1.ConditionTrue, traitConfigurationMessage, fmt.Sprintf("%s: %s", 
platformDisabledMessage, reason))
 }
 
-func newIntegrationKitCondition(ikct v1.IntegrationKitConditionType, cs 
corev1.ConditionStatus, message, reason string) *TraitCondition {
-       return &TraitCondition{
-               integrationKitConditionType: ikct,
-               conditionStatus:             cs,
-               message:                     message,
-               reason:                      reason,
-       }
-}
-
 func (tc *TraitCondition) integrationCondition() (v1.IntegrationConditionType, 
corev1.ConditionStatus, string, string) {
        return tc.integrationConditionType, tc.conditionStatus, tc.message, 
tc.reason
 }

Reply via email to