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

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


The following commit(s) were added to refs/heads/main by this push:
     new d5579531c feat(trait): deprecate prometheus trait
d5579531c is described below

commit d5579531c394ab320bdb881eee31b7909dddd717
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Wed May 13 12:09:45 2026 +0200

    feat(trait): deprecate prometheus trait
    
    Favour Camel Monitor Operator to perform that level of monitoring instead
---
 .../ROOT/pages/observability/monitoring.adoc       | 10 +++---
 .../observability/monitoring/integration.adoc      |  2 +-
 .../pages/observability/monitoring/operator.adoc   |  4 ++-
 docs/modules/ROOT/partials/apis/camel-k-crds.adoc  | 11 +++++--
 docs/modules/traits/pages/pod.adoc                 |  2 +-
 docs/modules/traits/pages/prometheus.adoc          |  5 +++
 e2e/common/traits/health_test.go                   | 36 +++++++++++-----------
 e2e/support/test_support.go                        | 10 +++---
 helm/camel-k/crds/camel-k-crds.yaml                |  8 +++--
 pkg/apis/camel/v1/integration_types.go             |  7 +++--
 pkg/apis/camel/v1/trait/pod.go                     |  2 +-
 pkg/apis/camel/v1/trait/prometheus.go              |  4 +++
 pkg/apis/camel/v1/zz_generated.deepcopy.go         |  4 +--
 .../camel/v1/integrationcondition.go               | 16 +++++-----
 .../applyconfiguration/camel/v1/podcondition.go    |  2 ++
 pkg/controller/integration/monitor.go              | 18 ++++++-----
 pkg/controller/pipe/monitor.go                     | 14 +++++----
 .../crd/bases/camel.apache.org_integrations.yaml   |  7 +++--
 .../config/crd/bases/camel.apache.org_pipes.yaml   |  1 +
 pkg/trait/prometheus.go                            | 10 +++++-
 pkg/trait/prometheus_test.go                       |  6 ++--
 pkg/util/defaults/defaults.go                      |  2 +-
 script/Makefile                                    |  2 +-
 23 files changed, 113 insertions(+), 70 deletions(-)

diff --git a/docs/modules/ROOT/pages/observability/monitoring.adoc 
b/docs/modules/ROOT/pages/observability/monitoring.adoc
index a3ed230e6..24c2f7e56 100644
--- a/docs/modules/ROOT/pages/observability/monitoring.adoc
+++ b/docs/modules/ROOT/pages/observability/monitoring.adoc
@@ -1,14 +1,16 @@
 [[monitoring]]
-= Camel K Monitoring
+= Camel K Operator Monitoring
 
-The Camel K monitoring architecture relies on 
https://prometheus.io[Prometheus] and the eponymous operator.
+The Camel K Operator monitoring architecture relies on 
https://prometheus.io[Prometheus] and the eponymous operator.
 
 The https://prometheus-operator.dev[Prometheus Operator] serves to make 
running Prometheus on top of Kubernetes as easy as possible, while preserving 
Kubernetes-native configuration options.
 
+NOTE: the Camel K Integration monitoring part is deprecated in favour of 
xref:observability/dashboard.adoc[Camel Dashboard].
+
 [[prerequisites]]
 == Prerequisites
 
-To take full advantage of the Camel K monitoring capabilities, it is 
recommended to have a Prometheus Operator instance, that can be configured to 
integrate the Camel K operator and integrations.
+To take full advantage of the Camel K operator monitoring capabilities, it is 
recommended to have a Prometheus Operator instance, that can be configured to 
integrate the Camel K operator and integrations.
 
 [[kubernetes]]
 === Kubernetes
@@ -22,7 +24,7 @@ Alternatively, you can quickly deploy the Prometheus operator 
by running:
 $ kubectl apply -f 
https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/main/bundle.yaml
 ----
 
-WARNING: Beware this installs the operator in the `default` namespace. You 
must download the file locally and replace the `namespace` fields to deploy the 
resources into another namespace. This also installs the version from the 
`main` branch, which you can change in the URL by choosing a stable release 
version.
+NOTE: the above script installs the operator in the `default` namespace. You 
must download the file locally and replace the `namespace` fields to deploy the 
resources into another namespace. This also installs the version from the 
`main` branch, which you can change in the URL by choosing a stable release 
version.
 
 Then, you can create a `Prometheus` resource, that the operator will use as 
configuration to deploy a managed Prometheus instance:
 
diff --git a/docs/modules/ROOT/pages/observability/monitoring/integration.adoc 
b/docs/modules/ROOT/pages/observability/monitoring/integration.adoc
index 5e8bf19fe..e7c75e8ec 100644
--- a/docs/modules/ROOT/pages/observability/monitoring/integration.adoc
+++ b/docs/modules/ROOT/pages/observability/monitoring/integration.adoc
@@ -1,7 +1,7 @@
 [[integration-monitoring]]
 = Camel K Integration Monitoring
 
-NOTE: The Camel K monitoring architecture relies on 
https://prometheus.io[Prometheus] and the eponymous operator. Make sure you've 
checked the xref:observability/monitoring.adoc#prerequisites[Camel K monitoring 
prerequisites].
+WARNING: The Camel K Integration monitoring part is deprecated. Use instead 
xref:observability/dashboard.adoc[Camel Dashboard] project to provide a deeper 
level of monitoring to your Camel applications.
 
 [[instrumentation]]
 == Instrumentation
diff --git a/docs/modules/ROOT/pages/observability/monitoring/operator.adoc 
b/docs/modules/ROOT/pages/observability/monitoring/operator.adoc
index fb5d6ff60..a671eeb0a 100644
--- a/docs/modules/ROOT/pages/observability/monitoring/operator.adoc
+++ b/docs/modules/ROOT/pages/observability/monitoring/operator.adoc
@@ -1,7 +1,9 @@
 [[operator-monitoring]]
 = Camel K Operator Monitoring
 
-NOTE: The Camel K monitoring architecture relies on 
https://prometheus.io[Prometheus] and the eponymous operator. Make sure you've 
checked the xref:observability/monitoring.adoc#prerequisites[Camel K monitoring 
prerequisites].
+In this chapter we provide some example how to provide a monitoring based on 
Prometheus for your Camel K operator main metrics.
+
+WARNING: this is a guide that mostly depends on Prometheus. The goal is to 
provide some basic example more than an exhaustive guide. Please, refer to 
Prometheus documentation for a full production configuration.
 
 [[installation]]
 == Installation
diff --git a/docs/modules/ROOT/partials/apis/camel-k-crds.adoc 
b/docs/modules/ROOT/partials/apis/camel-k-crds.adoc
index 067e26e31..cbcc5efae 100644
--- a/docs/modules/ROOT/partials/apis/camel-k-crds.adoc
+++ b/docs/modules/ROOT/partials/apis/camel-k-crds.adoc
@@ -2498,7 +2498,9 @@ A human-readable message indicating details about the 
transition.
 |
 
 
-Pods collect health and conditions information from the owned PODs
+DeprecatedPods collect health and conditions information from the owned PODs
+
+Deprecated: may be removed in future releases.
 
 
 |===
@@ -5107,7 +5109,7 @@ PluginProperties -- .
 * <<#_camel_apache_org_v1_IntegrationCondition, IntegrationCondition>>
 * <<#_camel_apache_org_v1_PipeCondition, PipeCondition>>
 
-
+Deprecated: may be removed in future releases.
 
 [cols="2,2a",options="header"]
 |===
@@ -9057,7 +9059,7 @@ Deprecated: no longer in use.
 * <<#_camel_apache_org_v1_Traits, Traits>>
 
 WARNING: The Pod trait is **deprecated** and will removed in future release 
versions:
-use InitContainers trait istead.
+use InitContainers trait instead.
 
 The pod trait allows the customization of the Integration pods.
 It applies the `PodSpecTemplate` struct contained in the Integration 
`.spec.podTemplate` field,
@@ -9089,6 +9091,9 @@ by using the `integration` container name.
 
 * <<#_camel_apache_org_v1_Traits, Traits>>
 
+WARNING: The Prometheus trait is **deprecated** and will removed in future 
release versions:
+use Camel Monitor operator 
(https://camel-tooling.github.io/camel-dashboard/docs/installation-guide/advanced/operator/)
 instead.
+
 The Prometheus trait configures a Prometheus-compatible endpoint. It also 
creates a `PodMonitor` resource,
 so that the endpoint can be scraped automatically, when using the Prometheus 
operator.
 
diff --git a/docs/modules/traits/pages/pod.adoc 
b/docs/modules/traits/pages/pod.adoc
index 3d5c5d391..d2673e037 100755
--- a/docs/modules/traits/pages/pod.adoc
+++ b/docs/modules/traits/pages/pod.adoc
@@ -6,7 +6,7 @@
 // End of autogenerated code - DO NOT EDIT! (badges)
 // Start of autogenerated code - DO NOT EDIT! (description)
 WARNING: The Pod trait is **deprecated** and will removed in future release 
versions:
-use InitContainers trait istead.
+use InitContainers trait instead.
 
 The pod trait allows the customization of the Integration pods.
 It applies the `PodSpecTemplate` struct contained in the Integration 
`.spec.podTemplate` field,
diff --git a/docs/modules/traits/pages/prometheus.adoc 
b/docs/modules/traits/pages/prometheus.adoc
index b3fbc66e3..fc657af59 100755
--- a/docs/modules/traits/pages/prometheus.adoc
+++ b/docs/modules/traits/pages/prometheus.adoc
@@ -1,8 +1,13 @@
 = Prometheus Trait
 
 // Start of autogenerated code - DO NOT EDIT! (badges)
+[.badges]
+[.badge-key]##Deprecated since##[.badge-unsupported]##2.11.0##
 // End of autogenerated code - DO NOT EDIT! (badges)
 // Start of autogenerated code - DO NOT EDIT! (description)
+WARNING: The Prometheus trait is **deprecated** and will removed in future 
release versions:
+use Camel Monitor operator 
(https://camel-tooling.github.io/camel-dashboard/docs/installation-guide/advanced/operator/)
 instead.
+
 The Prometheus trait configures a Prometheus-compatible endpoint. It also 
creates a `PodMonitor` resource,
 so that the endpoint can be scraped automatically, when using the Prometheus 
operator.
 
diff --git a/e2e/common/traits/health_test.go b/e2e/common/traits/health_test.go
index 06282a8c5..7dcdb3eb9 100644
--- a/e2e/common/traits/health_test.go
+++ b/e2e/common/traits/health_test.go
@@ -107,13 +107,13 @@ func TestHealthTrait(t *testing.T) {
                                        if c.Status != corev1.ConditionFalse {
                                                return false
                                        }
-                                       if len(c.Pods) != 3 {
+                                       if len(c.DeprecatedPods) != 3 {
                                                return false
                                        }
 
                                        var r *v1.HealthCheckResponse
 
-                                       for _, pod := range c.Pods {
+                                       for _, pod := range c.DeprecatedPods {
                                                for h := range pod.Health {
                                                        if pod.Health[h].Name 
== "camel-routes" {
                                                                r = 
&pod.Health[h]
@@ -201,15 +201,15 @@ func TestHealthTrait(t *testing.T) {
                                        if c.Status != corev1.ConditionFalse {
                                                return false
                                        }
-                                       if len(c.Pods) != 1 {
+                                       if len(c.DeprecatedPods) != 1 {
                                                return false
                                        }
 
                                        var r *v1.HealthCheckResponse
 
-                                       for h := range c.Pods[0].Health {
-                                               if c.Pods[0].Health[h].Name == 
"camel-routes" {
-                                                       r = &c.Pods[0].Health[h]
+                                       for h := range 
c.DeprecatedPods[0].Health {
+                                               if 
c.DeprecatedPods[0].Health[h].Name == "camel-routes" {
+                                                       r = 
&c.DeprecatedPods[0].Health[h]
                                                }
                                        }
 
@@ -288,15 +288,15 @@ func TestHealthTrait(t *testing.T) {
                                        if c.Status != corev1.ConditionFalse {
                                                return false
                                        }
-                                       if len(c.Pods) != 1 {
+                                       if len(c.DeprecatedPods) != 1 {
                                                return false
                                        }
 
                                        var r *v1.HealthCheckResponse
 
-                                       for h := range c.Pods[0].Health {
-                                               if c.Pods[0].Health[h].Name == 
"camel-routes" {
-                                                       r = &c.Pods[0].Health[h]
+                                       for h := range 
c.DeprecatedPods[0].Health {
+                                               if 
c.DeprecatedPods[0].Health[h].Name == "camel-routes" {
+                                                       r = 
&c.DeprecatedPods[0].Health[h]
                                                }
                                        }
 
@@ -374,15 +374,15 @@ func TestHealthTrait(t *testing.T) {
                                        if c.Status != corev1.ConditionFalse {
                                                return false
                                        }
-                                       if len(c.Pods) != 1 {
+                                       if len(c.DeprecatedPods) != 1 {
                                                return false
                                        }
 
                                        var r *v1.HealthCheckResponse
 
-                                       for h := range c.Pods[0].Health {
-                                               if c.Pods[0].Health[h].Name == 
"never-ready" {
-                                                       r = &c.Pods[0].Health[h]
+                                       for h := range 
c.DeprecatedPods[0].Health {
+                                               if 
c.DeprecatedPods[0].Health[h].Name == "never-ready" {
+                                                       r = 
&c.DeprecatedPods[0].Health[h]
                                                }
                                        }
 
@@ -426,15 +426,15 @@ func TestHealthTrait(t *testing.T) {
                                        if c.Status != corev1.ConditionFalse {
                                                return false
                                        }
-                                       if len(c.Pods) != 1 {
+                                       if len(c.DeprecatedPods) != 1 {
                                                return false
                                        }
 
                                        var r *v1.HealthCheckResponse
 
-                                       for h := range c.Pods[0].Health {
-                                               if c.Pods[0].Health[h].Name == 
"never-ready" && c.Pods[0].Health[h].Status == "DOWN" {
-                                                       r = &c.Pods[0].Health[h]
+                                       for h := range 
c.DeprecatedPods[0].Health {
+                                               if 
c.DeprecatedPods[0].Health[h].Name == "never-ready" && 
c.DeprecatedPods[0].Health[h].Status == "DOWN" {
+                                                       r = 
&c.DeprecatedPods[0].Health[h]
                                                }
                                        }
 
diff --git a/e2e/support/test_support.go b/e2e/support/test_support.go
index 00203f8cf..70a9e36fd 100644
--- a/e2e/support/test_support.go
+++ b/e2e/support/test_support.go
@@ -748,14 +748,14 @@ func HealthCheckResponse(podRegexp string, healthName 
string) func(*v1.Integrati
                        return nil
                }
 
-               for p := range c.Pods {
-                       if re.MatchString(c.Pods[p].Name) {
+               for p := range c.DeprecatedPods {
+                       if re.MatchString(c.DeprecatedPods[p].Name) {
                                continue
                        }
 
-                       for h := range c.Pods[p].Health {
-                               if c.Pods[p].Health[h].Name == healthName {
-                                       return &c.Pods[p].Health[h]
+                       for h := range c.DeprecatedPods[p].Health {
+                               if c.DeprecatedPods[p].Health[h].Name == 
healthName {
+                                       return &c.DeprecatedPods[p].Health[h]
                                }
                        }
 
diff --git a/helm/camel-k/crds/camel-k-crds.yaml 
b/helm/camel-k/crds/camel-k-crds.yaml
index dc1b0809d..88d31184e 100644
--- a/helm/camel-k/crds/camel-k-crds.yaml
+++ b/helm/camel-k/crds/camel-k-crds.yaml
@@ -22518,9 +22518,12 @@ spec:
                         the transition.
                       type: string
                     pods:
-                      description: Pods collect health and conditions 
information
-                        from the owned PODs
+                      description: |-
+                        DeprecatedPods collect health and conditions 
information from the owned PODs
+
+                        Deprecated: may be removed in future releases.
                       items:
+                        description: 'Deprecated: may be removed in future 
releases.'
                         properties:
                           condition:
                             description: PodCondition contains details for the 
current
@@ -37786,6 +37789,7 @@ spec:
                       description: Pods collect health and conditions 
information
                         from the owned PODs
                       items:
+                        description: 'Deprecated: may be removed in future 
releases.'
                         properties:
                           condition:
                             description: PodCondition contains details for the 
current
diff --git a/pkg/apis/camel/v1/integration_types.go 
b/pkg/apis/camel/v1/integration_types.go
index 9917c9cfd..a74e53955 100644
--- a/pkg/apis/camel/v1/integration_types.go
+++ b/pkg/apis/camel/v1/integration_types.go
@@ -307,8 +307,10 @@ type IntegrationCondition struct {
        Reason string `json:"reason,omitempty"`
        // A human-readable message indicating details about the transition.
        Message string `json:"message,omitempty"`
-       // Pods collect health and conditions information from the owned PODs
-       Pods []PodCondition `json:"pods,omitempty"`
+       // DeprecatedPods collect health and conditions information from the 
owned PODs
+       //
+       // Deprecated: may be removed in future releases.
+       DeprecatedPods []PodCondition `json:"pods,omitempty"`
 }
 
 // PodSpecTemplate represent a template used to deploy an Integration `Pod`.
@@ -349,6 +351,7 @@ type PodSpec struct {
        SecurityContext corev1.PodSecurityContext 
`json:"securityContext,omitempty" protobuf:"bytes,34,opt,name=securityContext"`
 }
 
+// Deprecated: may be removed in future releases.
 type PodCondition struct {
        Name      string                `json:"name,omitempty"   
yaml:"name,omitempty"`
        Condition corev1.PodCondition   `json:"condition"        
yaml:"condition"`
diff --git a/pkg/apis/camel/v1/trait/pod.go b/pkg/apis/camel/v1/trait/pod.go
index 0c29e9bb6..c9106f265 100644
--- a/pkg/apis/camel/v1/trait/pod.go
+++ b/pkg/apis/camel/v1/trait/pod.go
@@ -18,7 +18,7 @@ limitations under the License.
 package trait
 
 // WARNING: The Pod trait is **deprecated** and will removed in future release 
versions:
-// use InitContainers trait istead.
+// use InitContainers trait instead.
 //
 // The pod trait allows the customization of the Integration pods.
 // It applies the `PodSpecTemplate` struct contained in the Integration 
`.spec.podTemplate` field,
diff --git a/pkg/apis/camel/v1/trait/prometheus.go 
b/pkg/apis/camel/v1/trait/prometheus.go
index aa1c50886..8362dcb8c 100644
--- a/pkg/apis/camel/v1/trait/prometheus.go
+++ b/pkg/apis/camel/v1/trait/prometheus.go
@@ -17,6 +17,9 @@ limitations under the License.
 
 package trait
 
+// WARNING: The Prometheus trait is **deprecated** and will removed in future 
release versions:
+// use Camel Monitor operator 
(https://camel-tooling.github.io/camel-dashboard/docs/installation-guide/advanced/operator/)
 instead.
+//
 // The Prometheus trait configures a Prometheus-compatible endpoint. It also 
creates a `PodMonitor` resource,
 // so that the endpoint can be scraped automatically, when using the 
Prometheus operator.
 //
@@ -31,6 +34,7 @@ package trait
 // The Prometheus trait is disabled by default.
 //
 // +camel-k:trait=prometheus.
+// +camel-k:deprecated=2.11.0.
 //
 //nolint:godoclint
 type PrometheusTrait struct {
diff --git a/pkg/apis/camel/v1/zz_generated.deepcopy.go 
b/pkg/apis/camel/v1/zz_generated.deepcopy.go
index b4b405bf0..3be380fab 100644
--- a/pkg/apis/camel/v1/zz_generated.deepcopy.go
+++ b/pkg/apis/camel/v1/zz_generated.deepcopy.go
@@ -1198,8 +1198,8 @@ func (in *IntegrationCondition) DeepCopyInto(out 
*IntegrationCondition) {
                in, out := &in.FirstTruthyTime, &out.FirstTruthyTime
                *out = (*in).DeepCopy()
        }
-       if in.Pods != nil {
-               in, out := &in.Pods, &out.Pods
+       if in.DeprecatedPods != nil {
+               in, out := &in.DeprecatedPods, &out.DeprecatedPods
                *out = make([]PodCondition, len(*in))
                for i := range *in {
                        (*in)[i].DeepCopyInto(&(*out)[i])
diff --git 
a/pkg/client/camel/applyconfiguration/camel/v1/integrationcondition.go 
b/pkg/client/camel/applyconfiguration/camel/v1/integrationcondition.go
index dfcde654d..7af91d226 100644
--- a/pkg/client/camel/applyconfiguration/camel/v1/integrationcondition.go
+++ b/pkg/client/camel/applyconfiguration/camel/v1/integrationcondition.go
@@ -44,8 +44,10 @@ type IntegrationConditionApplyConfiguration struct {
        Reason *string `json:"reason,omitempty"`
        // A human-readable message indicating details about the transition.
        Message *string `json:"message,omitempty"`
-       // Pods collect health and conditions information from the owned PODs
-       Pods []PodConditionApplyConfiguration `json:"pods,omitempty"`
+       // DeprecatedPods collect health and conditions information from the 
owned PODs
+       //
+       // Deprecated: may be removed in future releases.
+       DeprecatedPods []PodConditionApplyConfiguration `json:"pods,omitempty"`
 }
 
 // IntegrationConditionApplyConfiguration constructs a declarative 
configuration of the IntegrationCondition type for use with
@@ -110,15 +112,15 @@ func (b *IntegrationConditionApplyConfiguration) 
WithMessage(value string) *Inte
        return b
 }
 
-// WithPods adds the given value to the Pods field in the declarative 
configuration
+// WithDeprecatedPods adds the given value to the DeprecatedPods field in the 
declarative configuration
 // and returns the receiver, so that objects can be build by chaining "With" 
function invocations.
-// If called multiple times, values provided by each call will be appended to 
the Pods field.
-func (b *IntegrationConditionApplyConfiguration) WithPods(values 
...*PodConditionApplyConfiguration) *IntegrationConditionApplyConfiguration {
+// If called multiple times, values provided by each call will be appended to 
the DeprecatedPods field.
+func (b *IntegrationConditionApplyConfiguration) WithDeprecatedPods(values 
...*PodConditionApplyConfiguration) *IntegrationConditionApplyConfiguration {
        for i := range values {
                if values[i] == nil {
-                       panic("nil value passed to WithPods")
+                       panic("nil value passed to WithDeprecatedPods")
                }
-               b.Pods = append(b.Pods, *values[i])
+               b.DeprecatedPods = append(b.DeprecatedPods, *values[i])
        }
        return b
 }
diff --git a/pkg/client/camel/applyconfiguration/camel/v1/podcondition.go 
b/pkg/client/camel/applyconfiguration/camel/v1/podcondition.go
index b2e153a91..222842b14 100644
--- a/pkg/client/camel/applyconfiguration/camel/v1/podcondition.go
+++ b/pkg/client/camel/applyconfiguration/camel/v1/podcondition.go
@@ -25,6 +25,8 @@ import (
 
 // PodConditionApplyConfiguration represents a declarative configuration of 
the PodCondition type for use
 // with apply.
+//
+// Deprecated: may be removed in future releases.
 type PodConditionApplyConfiguration struct {
        Name      *string                                 
`json:"name,omitempty"`
        Condition *corev1.PodCondition                    
`json:"condition,omitempty"`
diff --git a/pkg/controller/integration/monitor.go 
b/pkg/controller/integration/monitor.go
index de4e7869e..db446e5b1 100644
--- a/pkg/controller/integration/monitor.go
+++ b/pkg/controller/integration/monitor.go
@@ -514,12 +514,14 @@ func arePodsFailingStatuses(integration *v1.Integration, 
pendingPods []corev1.Po
 
 // probeReadiness calls the readiness probes of the non-ready Pods directly to 
retrieve insights from the Camel runtime.
 // The func return the number of readyPods, the success of the probe and any 
error may have happened during its execution.
+//
+//nolint:staticcheck
 func (action *monitorAction) probeReadiness(ctx context.Context, environment 
*trait.Environment, integration *v1.Integration, pods []corev1.Pod) (int32, 
bool, error) {
        // as a default we assume the Integration is Ready
        readyCondition := v1.IntegrationCondition{
-               Type:   v1.IntegrationConditionReady,
-               Status: corev1.ConditionTrue,
-               Pods:   make([]v1.PodCondition, len(pods)),
+               Type:           v1.IntegrationConditionReady,
+               Status:         corev1.ConditionTrue,
+               DeprecatedPods: make([]v1.PodCondition, len(pods)),
        }
 
        readyPods := int32(0)
@@ -531,10 +533,10 @@ func (action *monitorAction) probeReadiness(ctx 
context.Context, environment *tr
 
        for i := range pods {
                pod := &pods[i]
-               readyCondition.Pods[i].Name = pod.Name
+               readyCondition.DeprecatedPods[i].Name = pod.Name
                for p := range pod.Status.Conditions {
                        if pod.Status.Conditions[p].Type == corev1.PodReady {
-                               readyCondition.Pods[i].Condition = 
pod.Status.Conditions[p]
+                               readyCondition.DeprecatedPods[i].Condition = 
pod.Status.Conditions[p]
 
                                break
                        }
@@ -599,13 +601,13 @@ func (action *monitorAction) probeReadiness(ctx 
context.Context, environment *tr
                        }
 
                        if errors.Is(err, context.DeadlineExceeded) {
-                               readyCondition.Pods[i].Condition.Message = 
fmt.Sprintf("readiness probe timed out for Pod %s/%s", pod.Namespace, pod.Name)
+                               
readyCondition.DeprecatedPods[i].Condition.Message = fmt.Sprintf("readiness 
probe timed out for Pod %s/%s", pod.Namespace, pod.Name)
                                runtimeReady = false
 
                                continue
                        }
                        if !k8serrors.IsServiceUnavailable(err) {
-                               readyCondition.Pods[i].Condition.Message = 
fmt.Sprintf("readiness probe failed for Pod %s/%s: %s", pod.Namespace, 
pod.Name, err.Error())
+                               
readyCondition.DeprecatedPods[i].Condition.Message = fmt.Sprintf("readiness 
probe failed for Pod %s/%s: %s", pod.Namespace, pod.Name, err.Error())
                                runtimeReady = false
 
                                continue
@@ -623,7 +625,7 @@ func (action *monitorAction) probeReadiness(ctx 
context.Context, environment *tr
                                runtimeReady = false
                                runtimeFailed = true
 
-                               readyCondition.Pods[i].Health = 
append(readyCondition.Pods[i].Health, check)
+                               readyCondition.DeprecatedPods[i].Health = 
append(readyCondition.DeprecatedPods[i].Health, check)
                        }
                }
        }
diff --git a/pkg/controller/pipe/monitor.go b/pkg/controller/pipe/monitor.go
index 6ce401b97..26653b0bc 100644
--- a/pkg/controller/pipe/monitor.go
+++ b/pkg/controller/pipe/monitor.go
@@ -150,10 +150,11 @@ func (action *monitorAction) Handle(ctx context.Context, 
pipe *v1.Pipe) (*v1.Pip
                        Message: fmt.Sprintf("Integration %q is in %q phase", 
it.GetName(), target.Status.Phase),
                }
 
+               //nolint:staticcheck
                if condition := 
it.Status.GetCondition(v1.IntegrationConditionReady); condition != nil {
-                       if condition.Pods != nil {
-                               c.Pods = make([]v1.PodCondition, 0, 
len(condition.Pods))
-                               c.Pods = append(c.Pods, condition.Pods...)
+                       if condition.DeprecatedPods != nil {
+                               c.Pods = make([]v1.PodCondition, 0, 
len(condition.DeprecatedPods))
+                               c.Pods = append(c.Pods, 
condition.DeprecatedPods...)
                        }
                }
 
@@ -183,9 +184,10 @@ func setPipeReadyCondition(kb *v1.Pipe, it 
*v1.Integration) {
                        Message: message,
                }
 
-               if condition.Pods != nil {
-                       c.Pods = make([]v1.PodCondition, 0, len(condition.Pods))
-                       c.Pods = append(c.Pods, condition.Pods...)
+               //nolint:staticcheck
+               if condition.DeprecatedPods != nil {
+                       c.Pods = make([]v1.PodCondition, 0, 
len(condition.DeprecatedPods))
+                       c.Pods = append(c.Pods, condition.DeprecatedPods...)
                }
 
                kb.Status.SetConditions(c)
diff --git a/pkg/resources/config/crd/bases/camel.apache.org_integrations.yaml 
b/pkg/resources/config/crd/bases/camel.apache.org_integrations.yaml
index 0659b431b..782d66b9a 100644
--- a/pkg/resources/config/crd/bases/camel.apache.org_integrations.yaml
+++ b/pkg/resources/config/crd/bases/camel.apache.org_integrations.yaml
@@ -9314,9 +9314,12 @@ spec:
                         the transition.
                       type: string
                     pods:
-                      description: Pods collect health and conditions 
information
-                        from the owned PODs
+                      description: |-
+                        DeprecatedPods collect health and conditions 
information from the owned PODs
+
+                        Deprecated: may be removed in future releases.
                       items:
+                        description: 'Deprecated: may be removed in future 
releases.'
                         properties:
                           condition:
                             description: PodCondition contains details for the 
current
diff --git a/pkg/resources/config/crd/bases/camel.apache.org_pipes.yaml 
b/pkg/resources/config/crd/bases/camel.apache.org_pipes.yaml
index 63f3e41e1..e6f42f5a7 100644
--- a/pkg/resources/config/crd/bases/camel.apache.org_pipes.yaml
+++ b/pkg/resources/config/crd/bases/camel.apache.org_pipes.yaml
@@ -11644,6 +11644,7 @@ spec:
                       description: Pods collect health and conditions 
information
                         from the owned PODs
                       items:
+                        description: 'Deprecated: may be removed in future 
releases.'
                         properties:
                           condition:
                             description: PodCondition contains details for the 
current
diff --git a/pkg/trait/prometheus.go b/pkg/trait/prometheus.go
index 6b7aba602..588c49059 100644
--- a/pkg/trait/prometheus.go
+++ b/pkg/trait/prometheus.go
@@ -52,7 +52,15 @@ func (t *prometheusTrait) Configure(e *Environment) (bool, 
*TraitCondition, erro
                return false, nil, nil
        }
 
-       return e.IntegrationInPhase(v1.IntegrationPhaseInitialization) || 
e.IntegrationInRunningPhases(), nil, nil
+       condition := NewIntegrationCondition(
+               "Prometheus",
+               v1.IntegrationConditionTraitInfo,
+               corev1.ConditionTrue,
+               TraitConfigurationReason,
+               "Prometheus trait is deprecated in favour of Camel Monitor 
Operator project",
+       )
+
+       return e.IntegrationInPhase(v1.IntegrationPhaseInitialization) || 
e.IntegrationInRunningPhases(), condition, nil
 }
 
 func (t *prometheusTrait) Apply(e *Environment) error {
diff --git a/pkg/trait/prometheus_test.go b/pkg/trait/prometheus_test.go
index ce893e3fb..d88d08d75 100644
--- a/pkg/trait/prometheus_test.go
+++ b/pkg/trait/prometheus_test.go
@@ -37,22 +37,20 @@ import (
 func TestConfigurePrometheusTraitInRightPhaseDoesSucceed(t *testing.T) {
        trait, environment := createNominalPrometheusTest()
 
-       configured, condition, err := trait.Configure(environment)
+       configured, _, err := trait.Configure(environment)
 
        require.NoError(t, err)
        assert.True(t, configured)
-       assert.Nil(t, condition)
 }
 
 func TestConfigurePrometheusTraitInWrongPhaseDoesNotSucceed(t *testing.T) {
        trait, environment := createNominalPrometheusTest()
        environment.Integration.Status.Phase = v1.IntegrationPhaseBuildingKit
 
-       configured, condition, err := trait.Configure(environment)
+       configured, _, err := trait.Configure(environment)
 
        require.NoError(t, err)
        assert.False(t, configured)
-       assert.Nil(t, condition)
 }
 
 func TestApplyNominalPrometheusTraitDoesSucceed(t *testing.T) {
diff --git a/pkg/util/defaults/defaults.go b/pkg/util/defaults/defaults.go
index 83bbf7dae..25affd91a 100644
--- a/pkg/util/defaults/defaults.go
+++ b/pkg/util/defaults/defaults.go
@@ -29,7 +29,7 @@ const (
        DefaultRuntimeVersion = "3.15.3"
 
        // baseImage --
-       baseImage = 
"eclipse-temurin:17-jdk@sha256:9cb1a90ce9b7921fe79e544200b0ea1eab76943dd84fb284356ddb8c96e8f32a"
+       baseImage = 
"eclipse-temurin:17-jdk@sha256:b04a8c5d46e210873ffd1af6ad5f4d62c69ed3a6736993556eae60bba1373a23"
 
        // LocalRepository --
        LocalRepository = "/etc/maven/m2"
diff --git a/script/Makefile b/script/Makefile
index ca2b18140..f0f66b0bf 100644
--- a/script/Makefile
+++ b/script/Makefile
@@ -51,7 +51,7 @@ BASE_IMAGE_NAME := eclipse-temurin
 BASE_IMAGE_VERSION := 17-jdk
 OFFICIAL_IMAGE_VERSION := 17-jdk
 BASE_IMAGE_SHA_VERSION := 17-jdk
-BASE_IMAGE_SHA := 
sha256:9cb1a90ce9b7921fe79e544200b0ea1eab76943dd84fb284356ddb8c96e8f32a
+BASE_IMAGE_SHA := 
sha256:b04a8c5d46e210873ffd1af6ad5f4d62c69ed3a6736993556eae60bba1373a23
 BASE_IMAGE := $(BASE_IMAGE_NAME):$(BASE_IMAGE_VERSION)$(if $(filter 
$(BASE_IMAGE_VERSION),$(BASE_IMAGE_SHA_VERSION)),@$(BASE_IMAGE_SHA),)
 LOCAL_REPOSITORY := /etc/maven/m2
 OPENSHIFT_REGISTRY := image-registry.openshift-image-registry.svc:5000

Reply via email to