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 51385d02286e464f89f3a764ec509cec66b3bff2
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Tue Feb 17 15:51:13 2026 +0100

    chore(doc): promote Camel Dashboard
---
 .github/actions/build/action.yml                   |  10 +-
 docs/antora.yml                                    |   1 -
 docs/modules/ROOT/nav.adoc                         |   7 +-
 .../ROOT/pages/observability/dashboard.adoc        | 104 +++++++++++++++++++++
 docs/modules/ROOT/pages/observability/logging.adoc |   7 --
 .../pages/observability/logging/integration.adoc   |  48 ----------
 .../ROOT/pages/observability/monitoring.adoc       |  48 ----------
 .../pages/observability/monitoring/operator.adoc   |   7 +-
 .../operator.adoc => operator-logging.adoc}        |   0
 9 files changed, 116 insertions(+), 116 deletions(-)

diff --git a/.github/actions/build/action.yml b/.github/actions/build/action.yml
index 49819c010..9c07aecde 100644
--- a/.github/actions/build/action.yml
+++ b/.github/actions/build/action.yml
@@ -73,13 +73,13 @@ runs:
     if: github.event_name == 'pull_request'
     shell: bash
     run: |
-      COVERAGE_OPTS="-covermode=count -coverprofile=coverage.out 
-coverpkg=./..." make build
+      COVERAGE_OPTS="-covermode=count -coverprofile=oldcoverage.out 
-coverpkg=./..." make build
       # Remove mock and generated code from account
-      grep -v "github.com/apache/camel-k/v2/pkg/client" coverage.out \
+      grep -v "github.com/apache/camel-k/v2/pkg/client" oldcoverage.out \
         | grep -v "zz_generated" \
-        | grep -v "github.com/apache/camel-k/v2/cmd/util"  > coverage.mod.out
-      go tool cover -func=coverage.mod.out -o=coverage.mod.out
-      grep -o -P '(?<=\(statements\))(.+)(?=%)' coverage.mod.out | xargs > 
/tmp/${{ inputs.artifact-name }}/coverage_old
+        | grep -v "github.com/apache/camel-k/v2/cmd/util"  > 
oldcoverage.mod.out
+      go tool cover -func=oldcoverage.mod.out -o=oldcoverage.mod.out
+      grep -o -P '(?<=\(statements\))(.+)(?=%)' oldcoverage.mod.out | xargs > 
/tmp/${{ inputs.artifact-name }}/coverage_old
 
   - uses: actions/upload-artifact@v4
     if: github.event_name == 'pull_request'
diff --git a/docs/antora.yml b/docs/antora.yml
index a7e715abe..5474bec89 100644
--- a/docs/antora.yml
+++ b/docs/antora.yml
@@ -15,7 +15,6 @@
 # limitations under the License.
 #
 
-# Another part of this distributed component is in camel-k-runtime docs
 name: camel-k
 title: Camel K
 version: next
diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc
index 8e6418947..76ea0495f 100644
--- a/docs/modules/ROOT/nav.adoc
+++ b/docs/modules/ROOT/nav.adoc
@@ -91,13 +91,12 @@
 ** xref:scaling/integration.adoc[Integrations]
 ** xref:scaling/pipe.adoc[Pipes]
 * Observability
-** xref:observability/logging.adoc[Logging]
-*** xref:observability/logging/operator.adoc[Operator]
-*** xref:observability/logging/integration.adoc[Integration]
+** xref:observability/dashboard.adoc[Camel Dashboard]
+*** xref:observability/operator-logging.adoc[Operator logging]
 ** xref:observability/monitoring.adoc[Monitoring]
 *** xref:observability/monitoring/operator.adoc[Operator]
 *** xref:observability/monitoring/integration.adoc[Integration]
-*** xref:observability/monitoring/operator-sops.adoc[Standard Operating 
Procedures]
+*** xref:observability/monitoring/operator-sops.adoc[S.O.P.s]
 * xref:troubleshooting/troubleshooting.adoc[Troubleshooting]
 ** xref:troubleshooting/debugging.adoc[Debugging]
 * xref:architecture/architecture.adoc[Architecture]
diff --git a/docs/modules/ROOT/pages/observability/dashboard.adoc 
b/docs/modules/ROOT/pages/observability/dashboard.adoc
new file mode 100644
index 000000000..2b33ee513
--- /dev/null
+++ b/docs/modules/ROOT/pages/observability/dashboard.adoc
@@ -0,0 +1,104 @@
+= Camel Dashboard
+
+https://camel-tooling.github.io/camel-dashboard/[Camel Dashboard] is a 
Kubernetes operator that you can use to monitor your fleet of Camel 
applications deployed in the cloud. Whether you use Camel K to deploy or not, 
the Dashboard is a great tool that you can use to monitor your Camel fleet.
+
+NOTE: the project is in developer preview mode.
+
+The Camel Dashboard was originally born as a spin off from Camel K Synthetic 
Integrations features and matured into a brand new operator whose goal is to 
provide a meaningful set of information about typical KPIs of your fleet of 
Camel workloads running on the cloud.
+
+From Camel K version 2.10.0 onward, the applications deployed by the operator 
will be automatically instructed with the labels required by the Dashboard to 
discover and monitor. This is controlled via a Kubernetes label injected to the 
Deployments (or CronJob or KnativeService) configured on the operator side with 
the environment variable `CAMEL_DASHBOARD_APP_LABEL` (set by default to 
`camel.apache.org/app`).
+
+On the Camel Dashboard side, any application containing the label will be 
watched and monitored providing a set of useful Camel metrics (for example, 
health, number of exchanges succeeded, failed, ...).
+
+You will need to include the `camel-observability-services` component into 
your application in order to get the full power of this monitoring tool. As an 
example:
+
+```yaml
+apiVersion: camel.apache.org/v1
+kind: Integration
+metadata:
+  name: sample-it
+spec:
+  dependencies:
+    - mvn:org.apache.camel.quarkus:camel-quarkus-observability-services
+  flows:
+    - route:
+        id: send-5-messages
+        from:
+          uri: "timer:tick?repeatCount=5"
+          steps:
+            - setBody:
+                simple: "Hello!"
+            - to: "log:myLogger"
+  traits:
+    # We need a provide any version supporting camel-observability-services
+    camel:
+      runtimeProvider: plain-quarkus
+      runtimeVersion: 3.30.8
+```
+
+The information will be stored in a Custom Resource provided by the Camel 
Dashboard installation procedure: `CamelApp`. Here a basic example:
+
+```bash
+$ kubectl get camelapp -w
+
+NAME           IMAGE                                              PHASE     
REPLICAS   HEALTHY   MONITORED   INFO                        EXCHANGE SLI   
LAST EXCHANGE
+camel-sample   10.104.35.69/camel-k/camel-k-kit-d67egl6snmec...   Running   1  
        True      True        Quarkus - 3.30.8 (4.16.0)                  4m3s
+```
+
+More in detail, the specific info are stored in the custom resource status:
+
+```bash
+$ kubectl get camelapp -o yaml
+apiVersion: v1
+items:
+- apiVersion: camel.apache.org/v1alpha1
+  kind: CamelApp
+  metadata:
+    annotations:
+      camel.apache.org/imported-from-kind: Deployment
+      camel.apache.org/imported-from-name: sample-it
+...
+  status:
+    conditions:
+    - lastTransitionTime: "2026-02-18T08:32:59Z"
+      message: Success
+      reason: MonitoringComplete
+      status: "True"
+      type: Monitored
+    - lastTransitionTime: "2026-02-18T08:32:59Z"
+      message: All pods are reported as healthy.
+      reason: HealthCheckCompleted
+      status: "True"
+      type: Healthy
+    image: 
10.104.35.69/camel-k/camel-k-kit-d67egl6snmec73e6oqgg@sha256:0ba2fdcc091c62e2a121ebe795d59cb42e34af176b84398e40862bf2fb09c3d1
+    info: Quarkus - 3.30.8 (4.16.0)
+    phase: Running
+    pods:
+    - internalIp: 10.244.0.225
+      name: sample-it-75c5fd6c6f-wfbc7
+      observe:
+        healthEndpoint: observe/health
+        healthPort: 9876
+        metricsEndpoint: observe/metrics
+        metricsPort: 9876
+      ready: true
+      runtime:
+        camelVersion: 4.16.0
+        exchange:
+          lastTimestamp: "2026-02-18T08:27:28Z"
+          succeed: 5
+          total: 5
+        runtimeProvider: Quarkus
+        runtimeVersion: 3.30.8
+        status: UP
+      status: Running
+      uptimeTimestamp: "2026-02-18T08:26:57Z"
+    replicas: 1
+    sliExchangeSuccessRate:
+      lastTimestamp: "2026-02-18T08:27:28Z"
+      samplingInterval: 60000000000
+```
+
+NOTE: Camel K won't require the availability of Camel Dashboard to work, 
neither Camel Dashboard would require Camel K, they are independent projects 
which can cooperate to provide a Build and Monitoring tool.
+
+Learn more by reading the official 
https://camel-tooling.github.io/camel-dashboard/[Camel Dashboard documentation].
diff --git a/docs/modules/ROOT/pages/observability/logging.adoc 
b/docs/modules/ROOT/pages/observability/logging.adoc
deleted file mode 100644
index b9a37407a..000000000
--- a/docs/modules/ROOT/pages/observability/logging.adoc
+++ /dev/null
@@ -1,7 +0,0 @@
-[[logging]]
-= Camel K Logging
-
-Logs are an essential aspect of observability, and traditionally used to check 
nominal operation, or for troubleshooting. The following pages contain some 
details on the logging provided by the various Camel K components:
-
-- xref:observability/logging/operator.adoc[Camel K operator logging]
-- xref:observability/logging/integration.adoc[Camel K integration logging]
diff --git a/docs/modules/ROOT/pages/observability/logging/integration.adoc 
b/docs/modules/ROOT/pages/observability/logging/integration.adoc
deleted file mode 100644
index 14069aa4a..000000000
--- a/docs/modules/ROOT/pages/observability/logging/integration.adoc
+++ /dev/null
@@ -1,48 +0,0 @@
-[[integration-logging]]
-= Camel K Integration Logging
-
-The xref:traits:logging.adoc[Logging trait] simplifies the logging 
configuration of the Integration runtime.
-
-NOTE: The Logging trait has been introduced in Camel K version 1.5.0. See the 
link:/blog/2021/05/new-camel-k-logging-features/[introductory blog post].
-
-[[integration-logging-level]]
-== Logging Level
-
-To configure the log level, the `level` option from the Logging trait can be 
used, e.g.:
-
-[source,console]
-----
-$ kamel run -t logging.level=DEBUG
-----
-
-[[integration-logging-format]]
-== Logging Format
-
-The format of the log messages can be configured using the `format` option, 
e.g.:
-
-[source,console]
-----
-$ kamel run -t logging.format='%d{HH:mm:ss} %-5p (%t) %s%e%n'
-----
-
-The supported values are those of
-https://quarkus.io/guides/logging[Quarkus logging] configuration, as it 
provides the logging framework, for Camel Quarkus which is leveraged by
-Camel K.
-
-[[integration-logging-structured]]
-== Structured Logs
-
-The Integration Pods can provide structured logs, to facilitate processing and 
parsing.
-This can be turned on or off, using the `json` option from the Logging trait, 
e.g.:
-
-[source,console]
-----
-$ kamel run -t logging.json=true
-----
-
-Subsequently, pretty JSON logs can be enabled with:
-
-[source,console]
-----
-$ kamel run -t logging.json=true -t logging.json-pretty-print=true
-----
diff --git a/docs/modules/ROOT/pages/observability/monitoring.adoc 
b/docs/modules/ROOT/pages/observability/monitoring.adoc
index 131d73ea9..a3ed230e6 100644
--- a/docs/modules/ROOT/pages/observability/monitoring.adoc
+++ b/docs/modules/ROOT/pages/observability/monitoring.adoc
@@ -43,54 +43,6 @@ EOF
 
 By default, the Prometheus instance discovers applications to be monitored in 
the same namespace. You can use the `podMonitorNamespaceSelector` field from 
the `Prometheus` resource to enable cross-namespace monitoring. You may also 
need to specify a ServiceAccount with the `serviceAccountName` field, that's 
bound to a Role with the necessary permissions.
 
-[[openshift]]
-=== OpenShift
-
-Starting OpenShift 4.3, the Prometheus Operator, that's already deployed as 
part of the monitoring stack, can be used to 
https://docs.openshift.com/container-platform/4.3/monitoring/monitoring-your-own-services.html[monitor
 application services].
-This needs to be enabled by following these instructions:
-
-. Check whether the `cluster-monitoring-config` ConfigMap object exists in the 
`openshift-monitoring` project:
-
-  $ oc -n openshift-monitoring edit configmap cluster-monitoring-config
-
-. If it does not exist, create it:
-
-  $ oc -n openshift-monitoring create configmap cluster-monitoring-config
-
-. Start editing the cluster-monitoring-config ConfigMap:
-
-  $ oc -n openshift-monitoring edit configmap cluster-monitoring-config
-
-. Set the `enableUserWorkload` setting to `true` under `data/config.yaml`:
-+
-[source,yaml]
-----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: cluster-monitoring-config
-  namespace: openshift-monitoring
-data:
-  config.yaml: |
-    enableUserWorkload: true
-----
-Note that, in OpenShift versions from 4.3 to 4.5, the configuration is as 
following:
-+
-[source,yaml]
-----
-apiVersion: v1
-kind: ConfigMap
-metadata:
-  name: cluster-monitoring-config
-  namespace: openshift-monitoring
-data:
-  config.yaml: |
-    techPreviewUserWorkload:
-      enabled: true
-----
-
-On OpenShift versions prior to 4.3, or if you do not want to change your 
cluster monitoring stack configuration, you can refer to the <<Kubernetes>> 
section in order to deploy a separate Prometheus Operator instance.
-
 === What's Next
 
 - xref:observability/monitoring/operator.adoc[Camel K operator monitoring]
diff --git a/docs/modules/ROOT/pages/observability/monitoring/operator.adoc 
b/docs/modules/ROOT/pages/observability/monitoring/operator.adoc
index 1f2335923..fb5d6ff60 100644
--- a/docs/modules/ROOT/pages/observability/monitoring/operator.adoc
+++ b/docs/modules/ROOT/pages/observability/monitoring/operator.adoc
@@ -10,9 +10,10 @@ You need to create the resources required to let Prometheus 
to interact with the
 
 We have prepared a base configuration you can quickly apply executing:
 
-```
-kubectl apply -k 
github.com/apache/camel-k/install/base/config/prometheus?ref=v2.4.0
-```
+[subs=attributes+]
+----
+kubectl apply -k 
github.com/apache/camel-k/install/base/config/prometheus?ref=v{last-released-version}
+----
 
 NOTE: change the ref value with the installation version tag you want to 
install.
 
diff --git a/docs/modules/ROOT/pages/observability/logging/operator.adoc 
b/docs/modules/ROOT/pages/observability/operator-logging.adoc
similarity index 100%
rename from docs/modules/ROOT/pages/observability/logging/operator.adoc
rename to docs/modules/ROOT/pages/observability/operator-logging.adoc

Reply via email to