You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2024/03/09 12:04:24 UTC

(camel) branch dc created (now 3bc706ad155)

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

davsclaus pushed a change to branch dc
in repository https://gitbox.apache.org/repos/asf/camel.git


      at 3bc706ad155 CAMEL-20531: Include dev-consoles into camel-catalog

This branch includes the following new commits:

     new 876f092d630 CAMEL-20531: camel-console - Add metadata for camel-catalog about dev consoles
     new 5568d6627ce CAMEL-20531: Include dev-consoles into camel-catalog
     new a81bf5f72f9 CAMEL-20531: Include dev-consoles into camel-catalog
     new 3bc706ad155 CAMEL-20531: Include dev-consoles into camel-catalog

The 4 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(camel) 02/04: CAMEL-20531: Include dev-consoles into camel-catalog

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch dc
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 5568d6627ce32a71261710a3e12fdf20707029dc
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Mar 9 12:40:14 2024 +0100

    CAMEL-20531: Include dev-consoles into camel-catalog
---
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../apache/camel/catalog/dev-consoles.properties   | 41 +++++++++++++
 .../camel/catalog/dev-consoles/aws-secrets.json    | 15 +++++
 .../apache/camel/catalog/dev-consoles/aws2-s3.json | 15 +++++
 .../camel/catalog/dev-consoles/azure-secrets.json  | 15 +++++
 .../apache/camel/catalog/dev-consoles/bean.json    | 15 +++++
 .../apache/camel/catalog/dev-consoles/blocked.json | 15 +++++
 .../catalog/dev-consoles/circuit-breaker.json      | 15 +++++
 .../camel/catalog/dev-consoles/consumer.json       | 15 +++++
 .../apache/camel/catalog/dev-consoles/context.json | 15 +++++
 .../apache/camel/catalog/dev-consoles/debug.json   | 15 +++++
 .../camel/catalog/dev-consoles/endpoint.json       | 15 +++++
 .../apache/camel/catalog/dev-consoles/event.json   | 15 +++++
 .../catalog/dev-consoles/fault-tolerance.json      | 15 +++++
 .../org/apache/camel/catalog/dev-consoles/gc.json  | 15 +++++
 .../camel/catalog/dev-consoles/gcp-secrets.json    | 15 +++++
 .../apache/camel/catalog/dev-consoles/health.json  | 15 +++++
 .../camel/catalog/dev-consoles/inflight.json       | 15 +++++
 .../camel/catalog/dev-consoles/java-security.json  | 15 +++++
 .../org/apache/camel/catalog/dev-consoles/jvm.json | 15 +++++
 .../org/apache/camel/catalog/dev-consoles/log.json | 15 +++++
 .../apache/camel/catalog/dev-consoles/memory.json  | 15 +++++
 .../camel/catalog/dev-consoles/micrometer.json     | 15 +++++
 .../apache/camel/catalog/dev-consoles/mina.json    | 15 +++++
 .../apache/camel/catalog/dev-consoles/mllp.json    | 15 +++++
 .../apache/camel/catalog/dev-consoles/netty.json   | 15 +++++
 .../camel/catalog/dev-consoles/platform-http.json  | 15 +++++
 .../camel/catalog/dev-consoles/properties.json     | 15 +++++
 .../apache/camel/catalog/dev-consoles/quartz.json  | 15 +++++
 .../apache/camel/catalog/dev-consoles/reload.json  | 15 +++++
 .../camel/catalog/dev-consoles/resilience4j.json   | 15 +++++
 .../catalog/dev-consoles/route-controller.json     | 15 +++++
 .../camel/catalog/dev-consoles/route-dump.json     | 15 +++++
 .../apache/camel/catalog/dev-consoles/route.json   | 15 +++++
 .../apache/camel/catalog/dev-consoles/source.json  | 15 +++++
 .../catalog/dev-consoles/startup-recorder.json     | 15 +++++
 .../apache/camel/catalog/dev-consoles/stub.json    | 15 +++++
 .../apache/camel/catalog/dev-consoles/thread.json  | 15 +++++
 .../org/apache/camel/catalog/dev-consoles/top.json | 15 +++++
 .../apache/camel/catalog/dev-consoles/trace.json   | 15 +++++
 .../camel/catalog/dev-consoles/transformers.json   | 15 +++++
 .../catalog/dev-consoles/type-converters.json      | 15 +++++
 .../camel/catalog/dev-consoles/variables.json      | 15 +++++
 .../org/apache/camel/catalog/CamelCatalog.java     | 10 ++++
 .../catalog/CamelCatalogJSonSchemaResolver.java    |  7 +++
 .../apache/camel/catalog/DefaultCamelCatalog.java  | 21 +++++++
 .../camel/catalog/DefaultRuntimeProvider.java      | 28 +++++++++
 .../org/apache/camel/catalog/RuntimeProvider.java  | 10 ++++
 .../org/apache/camel/catalog/CamelCatalogTest.java | 24 ++++++++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../java/org/apache/camel/CatalogCamelContext.java |  8 +++
 .../apache/camel/catalog/JSonSchemaResolver.java   |  8 +++
 .../camel/impl/engine/AbstractCamelContext.java    | 11 ++++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../camel/catalog/impl/AbstractCamelCatalog.java   | 10 ++++
 .../impl/CamelContextJSonSchemaResolver.java       | 10 ++++
 .../camel/yaml/io/ModelJSonSchemaResolver.java     |  5 ++
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../camel/dev-console/dependency-downloader.json   |  2 +-
 .../org/apache/camel/dev-consoles.properties       |  7 +++
 .../camel/tooling/model/DevConsoleModel.java       | 39 +++++++++++++
 .../org/apache/camel/tooling/model/JsonMapper.java | 32 +++++++++++
 .../maven/packaging/GenerateDevConsoleMojo.java    |  8 +++
 .../camel/maven/packaging/PrepareCatalogMojo.java  | 67 ++++++++++++++++++++++
 77 files changed, 1081 insertions(+), 1 deletion(-)

diff --git a/catalog/camel-catalog-console/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/catalog/camel-catalog-console/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..d50469997ee
--- /dev/null
+++ b/catalog/camel-catalog-console/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=catalog
+groupId=org.apache.camel
+artifactId=camel-catalog-console
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Catalog :: Console
+projectDescription=Camel Catalog Developer Console
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles.properties b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles.properties
new file mode 100644
index 00000000000..407203014fc
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles.properties
@@ -0,0 +1,41 @@
+aws-secrets
+aws2-s3
+azure-secrets
+bean
+blocked
+circuit-breaker
+consumer
+context
+debug
+endpoint
+event
+fault-tolerance
+gc
+gcp-secrets
+health
+inflight
+java-security
+jvm
+log
+memory
+micrometer
+mina
+mllp
+netty
+platform-http
+properties
+quartz
+reload
+resilience4j
+route
+route-controller
+route-dump
+source
+startup-recorder
+stub
+thread
+top
+trace
+transformers
+type-converters
+variables
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws-secrets.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws-secrets.json
new file mode 100644
index 00000000000..8da0b8d47e9
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws-secrets.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "aws-secrets",
+    "title": "AWS Secrets",
+    "description": "AWS Secrets Manager",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.aws.secretsmanager.SecretsDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-aws-secrets-manager",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws2-s3.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws2-s3.json
new file mode 100644
index 00000000000..98c0413fdec
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws2-s3.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "aws2-s3",
+    "title": "AWS S3",
+    "description": "AWS S3 Consumer",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.aws2.s3.AWS2S3Console",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-aws2-s3",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/azure-secrets.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/azure-secrets.json
new file mode 100644
index 00000000000..a7665eaceea
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/azure-secrets.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "azure-secrets",
+    "title": "Azure Key Vault Secrets",
+    "description": "Azure Key Vault Secret Manager",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.azure.key.vault.AzureKeyVaultManagerDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-azure-key-vault",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/bean.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/bean.json
new file mode 100644
index 00000000000..73b15a92789
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/bean.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "bean",
+    "title": "Bean",
+    "description": "Displays Java beans from the registry",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.BeanDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/blocked.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/blocked.json
new file mode 100644
index 00000000000..eea12840c2f
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/blocked.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "blocked",
+    "title": "Blocked Exchanges",
+    "description": "Display blocked exchanges",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.BlockedConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/circuit-breaker.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/circuit-breaker.json
new file mode 100644
index 00000000000..2b2f20277a1
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/circuit-breaker.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "circuit-breaker",
+    "title": "Circuit Breaker",
+    "description": "Display circuit breaker information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.CircuitBreakerDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/consumer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/consumer.json
new file mode 100644
index 00000000000..94cc1673ced
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/consumer.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "consumer",
+    "title": "Consumers",
+    "description": "Display information about Camel consumers",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.ConsumerDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/context.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/context.json
new file mode 100644
index 00000000000..634473f6df2
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/context.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "context",
+    "title": "CamelContext",
+    "description": "Overall information about the CamelContext",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.ContextDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/debug.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/debug.json
new file mode 100644
index 00000000000..1741c47718b
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/debug.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "debug",
+    "title": "Debug",
+    "description": "Camel route debugger",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.DebugDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/endpoint.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/endpoint.json
new file mode 100644
index 00000000000..f26b0f6e877
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/endpoint.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "endpoint",
+    "title": "Endpoints",
+    "description": "Endpoint Registry information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.EndpointDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/event.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/event.json
new file mode 100644
index 00000000000..7ff5a6209ba
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/event.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "event",
+    "title": "Camel Events",
+    "description": "The most recent Camel events",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.EventConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/fault-tolerance.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/fault-tolerance.json
new file mode 100644
index 00000000000..f4b53fbf88a
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/fault-tolerance.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "fault-tolerance",
+    "title": "MicroProfile Circuit Breaker",
+    "description": "Display circuit breaker information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.microprofile.faulttolerance.FaultToleranceConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-microprofile-fault-tolerance",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gc.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gc.json
new file mode 100644
index 00000000000..59e73b1d857
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gc.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "gc",
+    "title": "Garbage Collector",
+    "description": "Displays Garbage Collector information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.GarbageCollectorDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gcp-secrets.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gcp-secrets.json
new file mode 100644
index 00000000000..8c93a8fe303
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gcp-secrets.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "gcp-secrets",
+    "title": "GCP Secrets",
+    "description": "GCP Secret Manager",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-google-secret-manager",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/health.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/health.json
new file mode 100644
index 00000000000..d66ff7c1cb6
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/health.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "health",
+    "title": "Health Check",
+    "description": "Health Check Status",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.HealthDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/inflight.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/inflight.json
new file mode 100644
index 00000000000..55bf27070f9
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/inflight.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "inflight",
+    "title": "Inflight Exchanges",
+    "description": "Display inflight exchanges",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.InflightConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/java-security.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/java-security.json
new file mode 100644
index 00000000000..ff13d144970
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/java-security.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "java-security",
+    "title": "Java Security",
+    "description": "Displays Java Security (JSSE) information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.JavaSecurityDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/jvm.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/jvm.json
new file mode 100644
index 00000000000..0b95f9f20f1
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/jvm.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "jvm",
+    "title": "JVM",
+    "description": "Displays JVM information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.JvmDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/log.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/log.json
new file mode 100644
index 00000000000..93c4b4868e1
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/log.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "log",
+    "title": "Log",
+    "description": "Logging framework",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.LogDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/memory.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/memory.json
new file mode 100644
index 00000000000..88031548edf
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/memory.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "memory",
+    "title": "JVM Memory",
+    "description": "Displays JVM memory information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.MemoryDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/micrometer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/micrometer.json
new file mode 100644
index 00000000000..2b26acc7c74
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/micrometer.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "micrometer",
+    "title": "Micrometer",
+    "description": "Display runtime metrics",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.micrometer.MicrometerConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-micrometer",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mina.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mina.json
new file mode 100644
index 00000000000..f37d1749e16
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mina.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "mina",
+    "title": "Mina",
+    "description": "Embedded Mina Server",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.mina.MinaConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-mina",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mllp.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mllp.json
new file mode 100644
index 00000000000..2d19aa5ee66
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mllp.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "mllp",
+    "title": "MLLP",
+    "description": "Embedded MLLP Server",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.mllp.MllpConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-mllp",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/netty.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/netty.json
new file mode 100644
index 00000000000..3fcebdfe3d5
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/netty.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "netty",
+    "title": "Netty",
+    "description": "Embedded Netty Server",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.netty.NettyConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-netty",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/platform-http.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/platform-http.json
new file mode 100644
index 00000000000..34cbd2da7e2
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/platform-http.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "platform-http",
+    "title": "Platform HTTP",
+    "description": "Embedded HTTP Server",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.platform.http.PlatformHttpConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-platform-http",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/properties.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/properties.json
new file mode 100644
index 00000000000..0d248c543b9
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/properties.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "properties",
+    "title": "Properties",
+    "description": "Displays the properties loaded by Camel",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.PropertiesDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/quartz.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/quartz.json
new file mode 100644
index 00000000000..acbc204a098
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/quartz.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "quartz",
+    "title": "Quartz",
+    "description": "Quartz Scheduler",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.quartz.QuartzConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-quartz",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/reload.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/reload.json
new file mode 100644
index 00000000000..ed0fc201bfe
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/reload.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "reload",
+    "title": "Reload",
+    "description": "Console for reloading running Camel",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.ReloadDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/resilience4j.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/resilience4j.json
new file mode 100644
index 00000000000..ed28864d270
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/resilience4j.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "resilience4j",
+    "title": "Resilience Circuit Breaker",
+    "description": "Display circuit breaker information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.resilience4j.ResilienceConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-resilience4j",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-controller.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-controller.json
new file mode 100644
index 00000000000..d29993d28a6
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-controller.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "route-controller",
+    "title": "Route Controller",
+    "description": "Route controller information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.RouteControllerConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-dump.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-dump.json
new file mode 100644
index 00000000000..559adade159
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-dump.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "route-dump",
+    "title": "Route Dump",
+    "description": "Dump route in XML or YAML format",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.RouteDumpDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route.json
new file mode 100644
index 00000000000..534d51296a8
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "route",
+    "title": "Route",
+    "description": "Route information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.RouteDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/source.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/source.json
new file mode 100644
index 00000000000..d65b96705cd
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/source.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "source",
+    "title": "Source",
+    "description": "Dump route source code",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.SourceDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/startup-recorder.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/startup-recorder.json
new file mode 100644
index 00000000000..3b953a98cfa
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/startup-recorder.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "startup-recorder",
+    "title": "Startup Recorder",
+    "description": "Starting recording information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.StartupRecorderDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/stub.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/stub.json
new file mode 100644
index 00000000000..609d3e43dbf
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/stub.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "stub",
+    "title": "Stub",
+    "description": "Browse messages on stub endpoints",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.stub.StubConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-stub",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/thread.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/thread.json
new file mode 100644
index 00000000000..28f2a2ceca0
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/thread.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "thread",
+    "title": "Thread",
+    "description": "Displays JVM Threads information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.ThreadDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/top.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/top.json
new file mode 100644
index 00000000000..97ebc7895e0
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/top.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "top",
+    "title": "Top Routes",
+    "description": "Display the top routes",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.TopDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/trace.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/trace.json
new file mode 100644
index 00000000000..20ad3e0ba8f
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/trace.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "trace",
+    "title": "Camel Tracing",
+    "description": "Trace routed messages",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.TraceDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/transformers.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/transformers.json
new file mode 100644
index 00000000000..f4a6cc28393
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/transformers.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "transformers",
+    "title": "Data Type Transformers",
+    "description": "Data-type transformer information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.TransformerConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/type-converters.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/type-converters.json
new file mode 100644
index 00000000000..69c213b9a30
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/type-converters.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "type-converters",
+    "title": "Type Converters",
+    "description": "Camel Type Converter information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.TypeConverterConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/variables.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/variables.json
new file mode 100644
index 00000000000..d44adeff7fb
--- /dev/null
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/variables.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "variables",
+    "title": "Variables",
+    "description": "Displays variables",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.VariablesDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
index ec167d2490e..398f5d0f629 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
@@ -198,6 +198,11 @@ public interface CamelCatalog {
      */
     List<String> findTransformerNames();
 
+    /**
+     * Find all the dev-console names from the Camel catalog
+     */
+    List<String> findDevConsoleNames();
+
     /**
      * Find all the model names from the Camel catalog
      */
@@ -508,6 +513,11 @@ public interface CamelCatalog {
      */
     String listTransformersAsJson();
 
+    /**
+     * Lists all the dev-consoles summary details in JSon
+     */
+    String listDevConsolesAsJson();
+
     /**
      * Lists all the models (EIPs) summary details in JSon
      */
diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
index 52285d31c11..c5251125a2c 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalogJSonSchemaResolver.java
@@ -113,6 +113,13 @@ public class CamelCatalogJSonSchemaResolver implements JSonSchemaResolver {
         return loadResourceFromVersionManager(file);
     }
 
+    @Override
+    public String getDevConsoleJSonSchema(String name) {
+        name = sanitizeFileName(name);
+        final String file = camelCatalog.getRuntimeProvider().getDevConsoleJSonSchemaDirectory() + "/" + name + EXTENSION;
+        return loadResourceFromVersionManager(file);
+    }
+
     @Override
     public String getModelJSonSchema(String name) {
         final String file = MODEL_DIR + "/" + name + EXTENSION;
diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index 3fbca05ec17..17289879a74 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -64,8 +64,10 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
     public static final String LIST_DATA_FORMATS_AS_JSON = "listDataFormatsAsJson";
     public static final String FIND_LANGUAGE_NAMES = "findLanguageNames";
     public static final String FIND_TRANSFORMER_NAMES = "findTransformerNames";
+    public static final String FIND_CONSOLE_NAMES = "findConsoleNames";
     public static final String LIST_LANGUAGES_AS_JSON = "listLanguagesAsJson";
     public static final String LIST_TRANSFORMERS_AS_JSON = "listTransformersAsJson";
+    public static final String LIST_CONSOLES_AS_JSON = "listConsolesAsJson";
 
     private final VersionHelper version = new VersionHelper();
 
@@ -231,6 +233,11 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
         return cache(FIND_TRANSFORMER_NAMES, runtimeProvider::findTransformerNames);
     }
 
+    @Override
+    public List<String> findDevConsoleNames() {
+        return cache(FIND_CONSOLE_NAMES, runtimeProvider::findDevConsoleNames);
+    }
+
     @Override
     public List<String> findModelNames() {
         return cache("findModelNames", () -> {
@@ -341,6 +348,11 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
         return cache("transformer-" + name, name, super::transformerJSonSchema);
     }
 
+    @Override
+    public String devConsoleJSonSchema(String name) {
+        return cache("dev-console-" + name, name, super::devConsoleJSonSchema);
+    }
+
     @Override
     public LanguageModel languageModel(String name) {
         return cache("language-model-" + name, name, super::languageModel);
@@ -456,6 +468,15 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
                 .toList()));
     }
 
+    @Override
+    public String listDevConsolesAsJson() {
+        return cache(LIST_CONSOLES_AS_JSON, () -> JsonMapper.serialize(findDevConsoleNames().stream()
+                .map(this::devConsoleJSonSchema)
+                .map(JsonMapper::deserialize)
+                .map(o -> o.get("console"))
+                .toList()));
+    }
+
     @Override
     public String listModelsAsJson() {
         return cache("listModelsAsJson", () -> JsonMapper.serialize(findModelNames().stream()
diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultRuntimeProvider.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultRuntimeProvider.java
index 308b0de64f9..caebf7098ea 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultRuntimeProvider.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultRuntimeProvider.java
@@ -29,11 +29,13 @@ public class DefaultRuntimeProvider implements RuntimeProvider {
     private static final String DATAFORMAT_DIR = "org/apache/camel/catalog/dataformats";
     private static final String LANGUAGE_DIR = "org/apache/camel/catalog/languages";
     private static final String TRANSFORMER_DIR = "org/apache/camel/catalog/transformers";
+    private static final String CONSOLE_DIR = "org/apache/camel/catalog/dev-consoles";
     private static final String OTHER_DIR = "org/apache/camel/catalog/others";
     private static final String COMPONENTS_CATALOG = "org/apache/camel/catalog/components.properties";
     private static final String DATA_FORMATS_CATALOG = "org/apache/camel/catalog/dataformats.properties";
     private static final String LANGUAGE_CATALOG = "org/apache/camel/catalog/languages.properties";
     private static final String TRANSFORMER_CATALOG = "org/apache/camel/catalog/transformers.properties";
+    private static final String CONSOLE_CATALOG = "org/apache/camel/catalog/dev-consoles.properties";
     private static final String OTHER_CATALOG = "org/apache/camel/catalog/others.properties";
 
     private CamelCatalog camelCatalog;
@@ -90,6 +92,11 @@ public class DefaultRuntimeProvider implements RuntimeProvider {
         return TRANSFORMER_DIR;
     }
 
+    @Override
+    public String getDevConsoleJSonSchemaDirectory() {
+        return CONSOLE_DIR;
+    }
+
     @Override
     public String getOtherJSonSchemaDirectory() {
         return OTHER_DIR;
@@ -111,6 +118,10 @@ public class DefaultRuntimeProvider implements RuntimeProvider {
         return TRANSFORMER_CATALOG;
     }
 
+    protected String getDevConsoleCatalog() {
+        return CONSOLE_CATALOG;
+    }
+
     protected String getOtherCatalog() {
         return OTHER_CATALOG;
     }
@@ -183,6 +194,23 @@ public class DefaultRuntimeProvider implements RuntimeProvider {
         return names;
     }
 
+    @Override
+    public List<String> findDevConsoleNames() {
+        List<String> names = new ArrayList<>();
+        try (InputStream is = getCamelCatalog().getVersionManager().getResourceAsStream(getDevConsoleCatalog())) {
+            if (is != null) {
+                try {
+                    CatalogHelper.loadLines(is, names);
+                } catch (IOException e) {
+                    // ignore
+                }
+            }
+        } catch (IOException e1) {
+            // ignore
+        }
+        return names;
+    }
+
     @Override
     public List<String> findOtherNames() {
         List<String> names = new ArrayList<>();
diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/RuntimeProvider.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/RuntimeProvider.java
index 2122773f5dc..3731dce8815 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/RuntimeProvider.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/RuntimeProvider.java
@@ -70,6 +70,11 @@ public interface RuntimeProvider {
      */
     String getTransformerJSonSchemaDirectory();
 
+    /**
+     * Gets the directory where the dev-console json files are stored in the catalog JAR file
+     */
+    String getDevConsoleJSonSchemaDirectory();
+
     /**
      * Gets the directory where the other (miscellaneous) json files are stored in the catalog JAR file
      */
@@ -95,6 +100,11 @@ public interface RuntimeProvider {
      */
     List<String> findTransformerNames();
 
+    /**
+     * Find all the dev console names from the Camel catalog supported by the provider
+     */
+    List<String> findDevConsoleNames();
+
     /**
      * Find all the other (miscellaneous) names from the Camel catalog supported by the provider
      */
diff --git a/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java b/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
index bfe80389805..a4c168436a4 100644
--- a/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
+++ b/catalog/camel-catalog/src/test/java/org/apache/camel/catalog/CamelCatalogTest.java
@@ -138,6 +138,19 @@ public class CamelCatalogTest {
         assertTrue(names.contains("http-application-cloudevents"));
     }
 
+    @Test
+    public void testFindDevConsoleNames() {
+        List<String> names = catalog.findDevConsoleNames();
+
+        assertTrue(names.contains("aws2-s3"));
+        assertTrue(names.contains("aws-secrets"));
+        assertTrue(names.contains("gc"));
+        assertTrue(names.contains("inflight"));
+        assertTrue(names.contains("mina"));
+        assertTrue(names.contains("platform-http"));
+        assertTrue(names.contains("variables"));
+    }
+
     @Test
     public void testFindModelNames() {
         List<String> names = catalog.findModelNames();
@@ -890,6 +903,17 @@ public class CamelCatalogTest {
         assertNotNull(tree);
     }
 
+    @Test
+    public void testListDevConsolesAsJson() throws Exception {
+        String json = catalog.listDevConsolesAsJson();
+        assertNotNull(json);
+
+        // validate we can parse the json
+        ObjectMapper mapper = new ObjectMapper();
+        JsonNode tree = mapper.readTree(json);
+        assertNotNull(tree);
+    }
+
     @Test
     public void testListModelsAsJson() throws Exception {
         String json = catalog.listModelsAsJson();
diff --git a/components/camel-aws/camel-aws-secrets-manager/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-aws/camel-aws-secrets-manager/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..00362fb7a40
--- /dev/null
+++ b/components/camel-aws/camel-aws-secrets-manager/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=aws-secrets
+groupId=org.apache.camel
+artifactId=camel-aws-secrets-manager
+version=4.5.0-SNAPSHOT
+projectName=Camel :: AWS2 Secrets Manager
+projectDescription=Execute different operations on Amazon Secrets Manager service
diff --git a/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..47f679f968e
--- /dev/null
+++ b/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=aws2-s3
+groupId=org.apache.camel
+artifactId=camel-aws2-s3
+version=4.5.0-SNAPSHOT
+projectName=Camel :: AWS2 S3
+projectDescription=Consume files and upload files through AWS S3 Service
diff --git a/components/camel-azure/camel-azure-key-vault/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-azure/camel-azure-key-vault/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..6a83993de78
--- /dev/null
+++ b/components/camel-azure/camel-azure-key-vault/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=azure-secrets
+groupId=org.apache.camel
+artifactId=camel-azure-key-vault
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Azure :: Key Vault
+projectDescription=Camel Azure Key Vault Component
diff --git a/components/camel-google/camel-google-secret-manager/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-google/camel-google-secret-manager/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..0f10f96cded
--- /dev/null
+++ b/components/camel-google/camel-google-secret-manager/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=gcp-secrets
+groupId=org.apache.camel
+artifactId=camel-google-secret-manager
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Google :: Secret Manager
+projectDescription=Camel Component for Google Cloud Platform Secrets Manager
diff --git a/components/camel-knative/camel-knative-http/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-knative/camel-knative-http/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..cdf1bfd1b7f
--- /dev/null
+++ b/components/camel-knative/camel-knative-http/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=knative
+groupId=org.apache.camel
+artifactId=camel-knative-http
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Knative HTTP
+projectDescription=Camel Knative HTTP
diff --git a/components/camel-micrometer/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-micrometer/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..29f9ce7fd2e
--- /dev/null
+++ b/components/camel-micrometer/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=micrometer
+groupId=org.apache.camel
+artifactId=camel-micrometer
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Micrometer
+projectDescription=Camel Micrometer based monitoring component
diff --git a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..46ad2a3ef8e
--- /dev/null
+++ b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=fault-tolerance
+groupId=org.apache.camel
+artifactId=camel-microprofile-fault-tolerance
+version=4.5.0-SNAPSHOT
+projectName=Camel :: MicroProfile :: Fault Tolerance
+projectDescription=Circuit Breaker EIP using MicroProfile Fault Tolerance
diff --git a/components/camel-mina/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-mina/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..1eedff9d192
--- /dev/null
+++ b/components/camel-mina/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=mina
+groupId=org.apache.camel
+artifactId=camel-mina
+version=4.5.0-SNAPSHOT
+projectName=Camel :: MINA
+projectDescription=Camel MINA support
diff --git a/components/camel-mllp/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-mllp/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..6eedebd2efa
--- /dev/null
+++ b/components/camel-mllp/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=mllp
+groupId=org.apache.camel
+artifactId=camel-mllp
+version=4.5.0-SNAPSHOT
+projectName=Camel :: MLLP
+projectDescription=Camel MLLP Component
diff --git a/components/camel-netty/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-netty/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..0e7b5cc4e42
--- /dev/null
+++ b/components/camel-netty/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=netty
+groupId=org.apache.camel
+artifactId=camel-netty
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Netty
+projectDescription=Camel Netty NIO based socket communication component
diff --git a/components/camel-platform-http/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-platform-http/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..bc59635699a
--- /dev/null
+++ b/components/camel-platform-http/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=platform-http
+groupId=org.apache.camel
+artifactId=camel-platform-http
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Platform HTTP
+projectDescription=HTTP service leveraging existing runtime platform HTTP server
diff --git a/components/camel-quartz/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-quartz/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..53b1d4ad186
--- /dev/null
+++ b/components/camel-quartz/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=quartz
+groupId=org.apache.camel
+artifactId=camel-quartz
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Quartz
+projectDescription=Camel Quartz support
diff --git a/components/camel-resilience4j/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-resilience4j/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..e22a5035d9f
--- /dev/null
+++ b/components/camel-resilience4j/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=resilience4j
+groupId=org.apache.camel
+artifactId=camel-resilience4j
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Resilience4j
+projectDescription=Circuit Breaker EIP using Resilience4j
diff --git a/components/camel-stub/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/components/camel-stub/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..dd9967c1aed
--- /dev/null
+++ b/components/camel-stub/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=stub
+groupId=org.apache.camel
+artifactId=camel-stub
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Stub
+projectDescription=Camel Stub component
diff --git a/core/camel-api/src/main/java/org/apache/camel/CatalogCamelContext.java b/core/camel-api/src/main/java/org/apache/camel/CatalogCamelContext.java
index 7b2e7ffdd69..8c28be80f30 100644
--- a/core/camel-api/src/main/java/org/apache/camel/CatalogCamelContext.java
+++ b/core/camel-api/src/main/java/org/apache/camel/CatalogCamelContext.java
@@ -55,6 +55,14 @@ public interface CatalogCamelContext extends CamelContext {
      */
     String getTransformerParameterJsonSchema(String transformerName) throws IOException;
 
+    /**
+     * Returns the JSON schema representation of the {@link org.apache.camel.spi.annotations.DevConsole} parameters for the
+     * given dev-console name.
+     *
+     * @return the json or <tt>null</tt> if the dev-console does not exist
+     */
+    String getDevConsoleParameterJsonSchema(String devConsoleName) throws IOException;
+
     /**
      * Returns the JSON schema representation of the EIP parameters for the given EIP name.
      *
diff --git a/core/camel-api/src/main/java/org/apache/camel/catalog/JSonSchemaResolver.java b/core/camel-api/src/main/java/org/apache/camel/catalog/JSonSchemaResolver.java
index 788fc9b96b6..7d04305e0f2 100644
--- a/core/camel-api/src/main/java/org/apache/camel/catalog/JSonSchemaResolver.java
+++ b/core/camel-api/src/main/java/org/apache/camel/catalog/JSonSchemaResolver.java
@@ -58,6 +58,14 @@ public interface JSonSchemaResolver {
      */
     String getTransformerJSonSchema(String name);
 
+    /**
+     * Returns the dev console information as JSON format.
+     *
+     * @param  name the dev console name
+     * @return      dev console details in JSon
+     */
+    String getDevConsoleJSonSchema(String name);
+
     /**
      * Returns the other (miscellaneous) information as JSON format.
      *
diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
index d9e9f236e1c..0bd5970c301 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/AbstractCamelContext.java
@@ -1480,6 +1480,17 @@ public abstract class AbstractCamelContext extends BaseService
         return null;
     }
 
+    @Override
+    public String getDevConsoleParameterJsonSchema(String devConsoleName) throws IOException {
+        String name = sanitizeFileName(devConsoleName) + ".json";
+        String path = DefaultDevConsoleResolver.DEV_CONSOLE_RESOURCE_PATH + name;
+        String inputStream = doLoadResource(devConsoleName, path, "console");
+        if (inputStream != null) {
+            return inputStream;
+        }
+        return null;
+    }
+
     // Helper methods
     // -----------------------------------------------------------------------
 
diff --git a/core/camel-console/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/core/camel-console/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..946daf1a1ce
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=bean blocked circuit-breaker consumer context debug endpoint event gc health inflight java-security jvm log memory properties reload route route-controller route-dump source startup-recorder thread top trace transformers type-converters variables
+groupId=org.apache.camel
+artifactId=camel-console
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Console
+projectDescription=Camel Developer Console
diff --git a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
index 89255902142..534ea288a17 100644
--- a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
+++ b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/AbstractCamelCatalog.java
@@ -48,6 +48,7 @@ import org.apache.camel.tooling.model.BaseModel;
 import org.apache.camel.tooling.model.BaseOptionModel;
 import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.tooling.model.DataFormatModel;
+import org.apache.camel.tooling.model.DevConsoleModel;
 import org.apache.camel.tooling.model.EipModel;
 import org.apache.camel.tooling.model.JsonMapper;
 import org.apache.camel.tooling.model.LanguageModel;
@@ -122,6 +123,15 @@ public abstract class AbstractCamelCatalog {
         return json != null ? JsonMapper.generateTransformerModel(json) : null;
     }
 
+    public String devConsoleJSonSchema(String name) {
+        return getJSonSchemaResolver().getDevConsoleJSonSchema(name);
+    }
+
+    public DevConsoleModel devConsoleModel(String name) {
+        String json = devConsoleJSonSchema(name);
+        return json != null ? JsonMapper.generateDevConsoleModel(json) : null;
+    }
+
     public String otherJSonSchema(String name) {
         return getJSonSchemaResolver().getOtherJSonSchema(name);
     }
diff --git a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
index bf427a042c4..8d32943cb44 100644
--- a/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
+++ b/core/camel-core-catalog/src/main/java/org/apache/camel/catalog/impl/CamelContextJSonSchemaResolver.java
@@ -82,6 +82,16 @@ public class CamelContextJSonSchemaResolver implements JSonSchemaResolver {
         return null;
     }
 
+    @Override
+    public String getDevConsoleJSonSchema(String name) {
+        try {
+            return camelContext.getDevConsoleParameterJsonSchema(name);
+        } catch (IOException e) {
+            // ignore
+        }
+        return null;
+    }
+
     @Override
     public String getOtherJSonSchema(String name) {
         // not supported
diff --git a/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/ModelJSonSchemaResolver.java b/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/ModelJSonSchemaResolver.java
index 300ec9535d0..f9496c19c95 100644
--- a/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/ModelJSonSchemaResolver.java
+++ b/core/camel-yaml-io/src/main/java/org/apache/camel/yaml/io/ModelJSonSchemaResolver.java
@@ -54,6 +54,11 @@ class ModelJSonSchemaResolver implements JSonSchemaResolver {
         throw new UnsupportedOperationException("Only getModelJSonSchema is in use");
     }
 
+    @Override
+    public String getDevConsoleJSonSchema(String name) {
+        throw new UnsupportedOperationException("Only getModelJSonSchema is in use");
+    }
+
     @Override
     public String getOtherJSonSchema(String name) {
         throw new UnsupportedOperationException("Only getModelJSonSchema is in use");
diff --git a/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..0aa1d1696ca
--- /dev/null
+++ b/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=jbang source-dir
+groupId=org.apache.camel
+artifactId=camel-jbang-console
+version=4.5.0-SNAPSHOT
+projectName=Camel :: JBang :: Console
+projectDescription=Camel JBang Console
diff --git a/dsl/camel-kamelet-main/src/generated/resources/META-INF/org/apache/camel/dev-console/dependency-downloader.json b/dsl/camel-kamelet-main/src/generated/resources/META-INF/org/apache/camel/dev-console/dependency-downloader.json
index 89d90a4eae6..af9e7449c26 100644
--- a/dsl/camel-kamelet-main/src/generated/resources/META-INF/org/apache/camel/dev-console/dependency-downloader.json
+++ b/dsl/camel-kamelet-main/src/generated/resources/META-INF/org/apache/camel/dev-console/dependency-downloader.json
@@ -1,7 +1,7 @@
 {
   "console": {
     "kind": "console",
-    "group": "camel",
+    "group": "camel-jbang",
     "id": "dependency-downloader",
     "title": "Maven Dependency Downloader",
     "description": "Displays information about dependencies downloaded at runtime",
diff --git a/dsl/camel-kamelet-main/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties b/dsl/camel-kamelet-main/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
new file mode 100644
index 00000000000..06c80a54be0
--- /dev/null
+++ b/dsl/camel-kamelet-main/src/generated/resources/META-INF/services/org/apache/camel/dev-consoles.properties
@@ -0,0 +1,7 @@
+# Generated by camel build tools - do NOT edit this file!
+dev-consoles=dependency-downloader
+groupId=org.apache.camel
+artifactId=camel-kamelet-main
+version=4.5.0-SNAPSHOT
+projectName=Camel :: Kamelet Main
+projectDescription=Main to run Kamelet standalone
diff --git a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/DevConsoleModel.java b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/DevConsoleModel.java
new file mode 100644
index 00000000000..214b958a40d
--- /dev/null
+++ b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/DevConsoleModel.java
@@ -0,0 +1,39 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.tooling.model;
+
+public class DevConsoleModel extends ArtifactModel<BaseOptionModel> {
+
+    protected String group;
+
+    public DevConsoleModel() {
+    }
+
+    public String getGroup() {
+        return group;
+    }
+
+    public void setGroup(String group) {
+        this.group = group;
+    }
+
+    @Override
+    public String getKind() {
+        return "console";
+    }
+
+}
diff --git a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
index 7dbd3b3c493..2cda577d491 100644
--- a/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
+++ b/tooling/camel-tooling-model/src/main/java/org/apache/camel/tooling/model/JsonMapper.java
@@ -65,6 +65,8 @@ public final class JsonMapper {
             return generateDataFormatModel(obj);
         } else if (obj.containsKey("transformer")) {
             return generateTransformerModel(obj);
+        } else if (obj.containsKey("console")) {
+            return generateDevConsoleModel(obj);
         } else if (obj.containsKey("other")) {
             return generateOtherModel(obj);
         } else if (obj.containsKey("model")) {
@@ -406,6 +408,36 @@ public final class JsonMapper {
         return wrapper;
     }
 
+    public static DevConsoleModel generateDevConsoleModel(String json) {
+        JsonObject obj = deserialize(json);
+        return generateDevConsoleModel(obj);
+    }
+
+    public static DevConsoleModel generateDevConsoleModel(JsonObject obj) {
+        JsonObject mobj = (JsonObject) obj.get("console");
+        DevConsoleModel model = new DevConsoleModel();
+        parseModel(mobj, model);
+        model.setGroup(mobj.getString("group"));
+        parseArtifact(mobj, model);
+        return model;
+    }
+
+    public static String createParameterJsonSchema(DevConsoleModel model) {
+        JsonObject wrapper = asJsonObject(model);
+        return serialize(wrapper);
+    }
+
+    public static JsonObject asJsonObject(DevConsoleModel model) {
+        JsonObject obj = new JsonObject();
+        baseToJson(model, obj);
+        artifactToJson(model, obj);
+        obj.put("group", model.getGroup());
+        obj.entrySet().removeIf(e -> e.getValue() == null);
+        JsonObject wrapper = new JsonObject();
+        wrapper.put("console", obj);
+        return wrapper;
+    }
+
     public static OtherModel generateOtherModel(String json) {
         JsonObject obj = deserialize(json);
         return generateOtherModel(obj);
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
index a05b79c117d..212ec1f07e7 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
@@ -179,6 +179,14 @@ public class GenerateDevConsoleMojo extends AbstractGeneratorMojo {
                         getLog().info("Updated dev-console json: " + model.getId());
                     }
                 }
+
+                // generate marker file
+                File camelMetaDir = new File(resourcesOutputDir, "META-INF/services/org/apache/camel/");
+                int count = models.size();
+                String properties = createProperties(project, "dev-consoles", ids.toString());
+                updateResource(camelMetaDir.toPath(), "dev-consoles.properties", properties);
+                getLog().info("Generated dev-consoles.properties containing " + count + " Camel "
+                              + (count > 1 ? "consoles: " : "console: ") + ids);
             } catch (Exception e) {
                 throw new MojoExecutionException(e);
             }
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
index 41007dda5f9..fa2fce2ff38 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/PrepareCatalogMojo.java
@@ -44,6 +44,7 @@ import org.apache.camel.tooling.model.BaseModel;
 import org.apache.camel.tooling.model.BaseOptionModel;
 import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.tooling.model.DataFormatModel;
+import org.apache.camel.tooling.model.DevConsoleModel;
 import org.apache.camel.tooling.model.EipModel;
 import org.apache.camel.tooling.model.JsonMapper;
 import org.apache.camel.tooling.model.LanguageModel;
@@ -118,6 +119,12 @@ public class PrepareCatalogMojo extends AbstractMojo {
     @Parameter(defaultValue = "${project.basedir}/src/generated/resources/org/apache/camel/catalog/transformers")
     protected File transformersOutDir;
 
+    /**
+     * The output directory for dev-consoles catalog
+     */
+    @Parameter(defaultValue = "${project.basedir}/src/generated/resources/org/apache/camel/catalog/dev-consoles")
+    protected File consolesOutDir;
+
     /**
      * The output directory for others catalog
      */
@@ -374,6 +381,7 @@ public class PrepareCatalogMojo extends AbstractMojo {
             Set<String> dataformats = executeDataFormats();
             Set<String> languages = executeLanguages();
             Set<String> transformers = executeTransformers();
+            Set<String> consoles = executeDevConsoles();
             Set<String> others = executeOthers();
             executeDocuments(components, dataformats, languages, others);
             executeXmlSchemas();
@@ -763,6 +771,48 @@ public class PrepareCatalogMojo extends AbstractMojo {
         return transformerNames;
     }
 
+    protected Set<String> executeDevConsoles() throws Exception {
+        Path consolesOutDir = this.consolesOutDir.toPath();
+
+        getLog().info("Copying all Camel dev-consoles json descriptors");
+
+        // lets use sorted set/maps
+        Set<Path> jsonFiles;
+        Set<Path> duplicateJsonFiles;
+        Set<Path> consoleFiles;
+
+        // find all consoles from the components directory
+        consoleFiles = allPropertiesFiles.stream().filter(p -> p.endsWith("dev-console.properties"))
+                .collect(Collectors.toCollection(TreeSet::new));
+        jsonFiles = allJsonFiles.stream().filter(p -> allModels.get(p) instanceof DevConsoleModel)
+                .collect(Collectors.toCollection(TreeSet::new));
+
+        getLog().info("Found " + consoleFiles.size() + " dev-console.properties files");
+        getLog().info("Found " + jsonFiles.size() + " dev-console json files");
+
+        // make sure to create out dir
+        Files.createDirectories(consolesOutDir);
+
+        // Check duplicates
+        duplicateJsonFiles = getDuplicates(jsonFiles);
+
+        // Copy all descriptors
+        Map<Path, Path> newJsons = map(jsonFiles, p -> p, p -> consolesOutDir.resolve(p.getFileName()));
+        try (Stream<Path> stream = list(consolesOutDir).filter(p -> !newJsons.containsValue(p))) {
+            stream.forEach(this::delete);
+        }
+        newJsons.forEach(this::copy);
+
+        Path all = consolesOutDir.resolve("../dev-consoles.properties");
+        Set<String> consoleNames
+                = jsonFiles.stream().map(PrepareCatalogMojo::asComponentName).collect(Collectors.toCollection(TreeSet::new));
+        FileUtil.updateFile(all, String.join("\n", consoleNames) + "\n");
+
+        printConsolesReport(jsonFiles, duplicateJsonFiles);
+
+        return consoleNames;
+    }
+
     private Set<String> executeOthers() throws Exception {
         Path othersOutDir = this.othersOutDir.toPath();
 
@@ -1222,6 +1272,23 @@ public class PrepareCatalogMojo extends AbstractMojo {
         getLog().info(SEPARATOR);
     }
 
+    private void printConsolesReport(
+            Set<Path> json, Set<Path> duplicate) {
+        getLog().info(SEPARATOR);
+        getLog().info("");
+        getLog().info("Camel dev-console catalog report");
+        getLog().info("");
+        getLog().info("\tConsoles found: " + json.size());
+        printComponentDebug(json);
+        if (!duplicate.isEmpty()) {
+            getLog().info("");
+            getLog().warn("\tDuplicate console detected: " + duplicate.size());
+            printComponentWarning(duplicate);
+        }
+        getLog().info("");
+        getLog().info(SEPARATOR);
+    }
+
     private void printOthersReport(
             Set<Path> json, Set<Path> duplicate, Map<String, Set<String>> usedLabels, Set<Path> missingFirstVersions) {
         getLog().info(SEPARATOR);


(camel) 03/04: CAMEL-20531: Include dev-consoles into camel-catalog

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch dc
in repository https://gitbox.apache.org/repos/asf/camel.git

commit a81bf5f72f9af941e01c1a7b3854bb859811b12f
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Mar 9 13:00:18 2024 +0100

    CAMEL-20531: Include dev-consoles into camel-catalog
---
 .../org/apache/camel/catalog/CamelCatalog.java     |  9 ++++
 .../apache/camel/catalog/DefaultCamelCatalog.java  | 12 +++++
 .../main/java/org/apache/camel/catalog/Kind.java   |  1 +
 .../dsl/jbang/core/commands/CamelJBangMain.java    |  2 +
 .../core/commands/catalog/CatalogDevConsole.java   | 57 ++++++++++++++++++++++
 .../maven/packaging/GenerateDevConsoleMojo.java    | 26 +++++-----
 6 files changed, 94 insertions(+), 13 deletions(-)

diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
index 398f5d0f629..9ac41f70363 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/CamelCatalog.java
@@ -26,6 +26,7 @@ import org.apache.camel.tooling.model.ArtifactModel;
 import org.apache.camel.tooling.model.BaseModel;
 import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.tooling.model.DataFormatModel;
+import org.apache.camel.tooling.model.DevConsoleModel;
 import org.apache.camel.tooling.model.EipModel;
 import org.apache.camel.tooling.model.LanguageModel;
 import org.apache.camel.tooling.model.MainModel;
@@ -557,6 +558,12 @@ public interface CamelCatalog {
      */
     TransformerModel transformerModel(String name);
 
+    /**
+     * @param  name the dev-console name to look up
+     * @return      the requested dev-console or {@code null} in case it is not available in this {@link CamelCatalog}
+     */
+    DevConsoleModel devConsoleModel(String name);
+
     /**
      * @param  name the other name to look up
      * @return      the requested other or {@code null} in case it is not available in this {@link CamelCatalog}
@@ -591,6 +598,8 @@ public interface CamelCatalog {
                 return languageModel(name);
             case transformer:
                 return transformerModel(name);
+            case console:
+                return devConsoleModel(name);
             case other:
                 return otherModel(name);
             case eip:
diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
index 17289879a74..adc5e84aa8e 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/DefaultCamelCatalog.java
@@ -38,6 +38,7 @@ import org.apache.camel.tooling.model.ArtifactModel;
 import org.apache.camel.tooling.model.BaseModel;
 import org.apache.camel.tooling.model.ComponentModel;
 import org.apache.camel.tooling.model.DataFormatModel;
+import org.apache.camel.tooling.model.DevConsoleModel;
 import org.apache.camel.tooling.model.EipModel;
 import org.apache.camel.tooling.model.JsonMapper;
 import org.apache.camel.tooling.model.LanguageModel;
@@ -363,6 +364,11 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
         return cache("transformer-model-" + name, name, super::transformerModel);
     }
 
+    @Override
+    public DevConsoleModel devConsoleModel(String name) {
+        return cache("dev-console-model-" + name, name, super::devConsoleModel);
+    }
+
     @Override
     public String otherJSonSchema(String name) {
         return cache("other-" + name, name, super::otherJSonSchema);
@@ -541,6 +547,12 @@ public class DefaultCamelCatalog extends AbstractCamelCatalog implements CamelCa
                 return am;
             }
         }
+        for (String name : findDevConsoleNames()) {
+            ArtifactModel<?> am = devConsoleModel(name);
+            if (matchArtifact(am, groupId, artifactId, version)) {
+                return am;
+            }
+        }
         return null;
     }
 
diff --git a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/Kind.java b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/Kind.java
index 6ca4c43b5ad..c1f589d02ea 100644
--- a/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/Kind.java
+++ b/catalog/camel-catalog/src/main/java/org/apache/camel/catalog/Kind.java
@@ -24,6 +24,7 @@ public enum Kind {
     dataformat,
     language,
     transformer,
+    console,
     other,
     eip
 }
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelJBangMain.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelJBangMain.java
index da0b6af9cca..89ef4cdd0fe 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelJBangMain.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/CamelJBangMain.java
@@ -24,6 +24,7 @@ import org.apache.camel.dsl.jbang.core.commands.action.*;
 import org.apache.camel.dsl.jbang.core.commands.catalog.CatalogCommand;
 import org.apache.camel.dsl.jbang.core.commands.catalog.CatalogComponent;
 import org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDataFormat;
+import org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDevConsole;
 import org.apache.camel.dsl.jbang.core.commands.catalog.CatalogDoc;
 import org.apache.camel.dsl.jbang.core.commands.catalog.CatalogKamelet;
 import org.apache.camel.dsl.jbang.core.commands.catalog.CatalogLanguage;
@@ -127,6 +128,7 @@ public class CamelJBangMain implements Callable<Integer> {
                         .addSubcommand("dataformat", new CommandLine(new CatalogDataFormat(main)))
                         .addSubcommand("language", new CommandLine(new CatalogLanguage(main)))
                         .addSubcommand("transformer", new CommandLine(new CatalogTransformer(main)))
+                        .addSubcommand("dev-console", new CommandLine(new CatalogDevConsole(main)))
                         .addSubcommand("other", new CommandLine(new CatalogOther(main)))
                         .addSubcommand("kamelet", new CommandLine(new CatalogKamelet(main))))
                 .addSubcommand("doc", new CommandLine(new CatalogDoc(main)))
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDevConsole.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDevConsole.java
new file mode 100644
index 00000000000..5c4439700b3
--- /dev/null
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDevConsole.java
@@ -0,0 +1,57 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.camel.dsl.jbang.core.commands.catalog;
+
+import org.apache.camel.dsl.jbang.core.commands.CamelJBangMain;
+import org.apache.camel.tooling.model.DevConsoleModel;
+import org.apache.camel.tooling.model.LanguageModel;
+import picocli.CommandLine;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@CommandLine.Command(name = "dev-console",
+                     description = "List dev-consoles from the Camel Catalog", sortOptions = false)
+public class CatalogDevConsole extends CatalogBaseCommand {
+
+    public CatalogDevConsole(CamelJBangMain main) {
+        super(main);
+    }
+
+    @Override
+    List<Row> collectRows() {
+        List<Row> rows = new ArrayList<>();
+        for (String name : catalog.findDevConsoleNames()) {
+            DevConsoleModel model = catalog.devConsoleModel(name);
+            if (model != null) {
+                Row row = new Row();
+                row.name = model.getName();
+                row.title = model.getTitle();
+                row.level = model.getSupportLevel().name();
+                row.since = fixQuarkusSince(model.getFirstVersionShort());
+                row.description = model.getDescription();
+                row.label = model.getLabel() != null ? model.getLabel() : "";
+                row.deprecated = model.isDeprecated();
+                row.nativeSupported = model.isNativeSupported();
+                row.gav = getGAV(model);
+                rows.add(row);
+            }
+        }
+        return rows;
+    }
+
+}
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
index 212ec1f07e7..97a063fe5b2 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
@@ -64,7 +64,7 @@ public class GenerateDevConsoleMojo extends AbstractGeneratorMojo {
     private static class DevConsoleModel {
         private String className;
         private String group;
-        private String id;
+        private String name;
         private String displayName;
         private String description;
         private boolean deprecated;
@@ -85,12 +85,12 @@ public class GenerateDevConsoleMojo extends AbstractGeneratorMojo {
             this.group = group;
         }
 
-        public String getId() {
-            return id;
+        public String getName() {
+            return name;
         }
 
-        public void setId(String id) {
-            this.id = id;
+        public void setName(String name) {
+            this.name = name;
         }
 
         public String getDisplayName() {
@@ -149,16 +149,16 @@ public class GenerateDevConsoleMojo extends AbstractGeneratorMojo {
             model.setClassName(currentClass);
             model.setDeprecated(deprecated);
             model.setGroup(annotationValue(a, "group"));
-            model.setId(annotationValue(a, "name"));
+            model.setName(annotationValue(a, "name"));
             model.setDisplayName(annotationValue(a, "displayName"));
             model.setDescription(annotationValue(a, "description"));
             // skip default registry
-            boolean skip = "default-registry".equals(model.getId());
+            boolean skip = "default-registry".equals(model.getName());
             if (!skip) {
                 models.add(model);
             }
         });
-        models.sort(Comparator.comparing(DevConsoleModel::getId));
+        models.sort(Comparator.comparing(DevConsoleModel::getName));
 
         // remove default-registry as it's special
 
@@ -166,17 +166,17 @@ public class GenerateDevConsoleMojo extends AbstractGeneratorMojo {
             try {
                 StringJoiner ids = new StringJoiner(" ");
                 for (var model : models) {
-                    ids.add(model.getId());
+                    ids.add(model.getName());
 
                     JsonObject jo = asJsonObject(model);
                     String json = jo.toJson();
                     json = Jsoner.prettyPrint(json, 2);
-                    String fn = sanitizeFileName(model.getId()) + PackageHelper.JSON_SUFIX;
+                    String fn = sanitizeFileName(model.getName()) + PackageHelper.JSON_SUFIX;
                     boolean updated = updateResource(resourcesOutputDir.toPath(),
                             "META-INF/org/apache/camel/dev-console/" + fn,
                             json + NL);
                     if (updated) {
-                        getLog().info("Updated dev-console json: " + model.getId());
+                        getLog().info("Updated dev-console json: " + model.getName());
                     }
                 }
 
@@ -202,11 +202,11 @@ public class GenerateDevConsoleMojo extends AbstractGeneratorMojo {
         } else {
             jo.put("group", "camel");
         }
-        jo.put("id", model.getId());
+        jo.put("name", model.getName());
         if (model.getDisplayName() != null) {
             jo.put("title", asTitle(model.getDisplayName()));
         } else {
-            jo.put("title", asTitle(model.getId()));
+            jo.put("title", asTitle(model.getName()));
         }
         jo.put("description", model.getDescription());
         jo.put("deprecated", model.isDeprecated());


(camel) 01/04: CAMEL-20531: camel-console - Add metadata for camel-catalog about dev consoles

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch dc
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 876f092d630e22315ef1c6e4a259b9537d51f8f9
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Mar 9 11:46:53 2024 +0100

    CAMEL-20531: camel-console - Add metadata for camel-catalog about dev consoles
---
 .../org/apache/camel/dev-console/catalog.json      |  15 +++
 .../camel/catalog/console/CatalogConsole.java      |   4 +-
 .../org/apache/camel/dev-console/aws-secrets.json  |  15 +++
 .../aws/secretsmanager/SecretsDevConsole.java      |   2 +-
 .../org/apache/camel/dev-console/aws2-s3.json      |  15 +++
 .../camel/component/aws2/s3/AWS2S3Console.java     |   2 +-
 .../apache/camel/dev-console/azure-secrets.json    |  15 +++
 .../key/vault/AzureKeyVaultManagerDevConsole.java  |   2 +-
 .../org/apache/camel/dev-console/gcp-secrets.json  |  15 +++
 .../manager/GoogleSecretManagerDevConsole.java     |   2 +-
 .../org/apache/camel/dev-console/knative.json      |  15 +++
 .../component/knative/http/KnativeHttpConsole.java |   2 +-
 .../org/apache/camel/dev-console/micrometer.json   |  15 +++
 .../component/micrometer/MicrometerConsole.java    |   2 +-
 .../apache/camel/dev-console/fault-tolerance.json  |  15 +++
 .../faulttolerance/FaultToleranceConsole.java      |   4 +-
 .../org/apache/camel/dev-console/mina.json         |  15 +++
 .../apache/camel/component/mina/MinaConsole.java   |   2 +-
 .../org/apache/camel/dev-console/mllp.json         |  15 +++
 .../apache/camel/component/mllp/MllpConsole.java   |   2 +-
 .../org/apache/camel/dev-console/netty.json        |  15 +++
 .../apache/camel/component/netty/NettyConsole.java |   2 +-
 .../apache/camel/dev-console/platform-http.json    |  15 +++
 .../platform/http/PlatformHttpConsole.java         |   2 +-
 .../org/apache/camel/dev-console/quartz.json       |  15 +++
 .../camel/component/quartz/QuartzConsole.java      |   2 +-
 .../org/apache/camel/dev-console/resilience4j.json |  15 +++
 .../component/resilience4j/ResilienceConsole.java  |   2 +-
 .../org/apache/camel/dev-console/stub.json         |  15 +++
 .../apache/camel/component/stub/StubConsole.java   |   4 +-
 .../apache/camel/spi/annotations/DevConsole.java   |  17 ++-
 .../org/apache/camel/dev-console/bean.json         |  15 +++
 .../org/apache/camel/dev-console/blocked.json      |  15 +++
 .../apache/camel/dev-console/circuit-breaker.json  |  15 +++
 .../org/apache/camel/dev-console/consumer.json     |  15 +++
 .../org/apache/camel/dev-console/context.json      |  15 +++
 .../org/apache/camel/dev-console/debug.json        |  15 +++
 .../org/apache/camel/dev-console/endpoint.json     |  15 +++
 .../org/apache/camel/dev-console/event.json        |  15 +++
 .../META-INF/org/apache/camel/dev-console/gc.json  |  15 +++
 .../org/apache/camel/dev-console/health.json       |  15 +++
 .../org/apache/camel/dev-console/inflight.json     |  15 +++
 .../apache/camel/dev-console/java-security.json    |  15 +++
 .../META-INF/org/apache/camel/dev-console/jvm.json |  15 +++
 .../META-INF/org/apache/camel/dev-console/log.json |  15 +++
 .../org/apache/camel/dev-console/memory.json       |  15 +++
 .../org/apache/camel/dev-console/properties.json   |  15 +++
 .../org/apache/camel/dev-console/reload.json       |  15 +++
 .../apache/camel/dev-console/route-controller.json |  15 +++
 .../org/apache/camel/dev-console/route-dump.json   |  15 +++
 .../org/apache/camel/dev-console/route.json        |  15 +++
 .../org/apache/camel/dev-console/source.json       |  15 +++
 .../apache/camel/dev-console/startup-recorder.json |  15 +++
 .../org/apache/camel/dev-console/thread.json       |  15 +++
 .../META-INF/org/apache/camel/dev-console/top.json |  15 +++
 .../org/apache/camel/dev-console/trace.json        |  15 +++
 .../org/apache/camel/dev-console/transformers.json |  15 +++
 .../apache/camel/dev-console/type-converters.json  |  15 +++
 .../org/apache/camel/dev-console/variables.json    |  15 +++
 .../org/apache/camel/dev-console/circuit-breaker   |   2 +
 .../apache/camel/dev-console/route-circuit-breaker |   2 -
 .../apache/camel/impl/console/BeanDevConsole.java  |   2 +-
 .../apache/camel/impl/console/BlockedConsole.java  |   2 +-
 ...vConsole.java => CircuitBreakerDevConsole.java} |   8 +-
 .../camel/impl/console/ConsumerDevConsole.java     |   2 +-
 .../camel/impl/console/ContextDevConsole.java      |   2 +-
 .../apache/camel/impl/console/DebugDevConsole.java |   2 +-
 .../impl/console/DefaultDevConsoleRegistry.java    |   2 +-
 .../camel/impl/console/EndpointDevConsole.java     |   2 +-
 .../apache/camel/impl/console/EventConsole.java    |   2 +-
 .../impl/console/GarbageCollectorDevConsole.java   |   2 +-
 .../camel/impl/console/HealthDevConsole.java       |   2 +-
 .../apache/camel/impl/console/InflightConsole.java |   2 +-
 .../camel/impl/console/JavaSecurityDevConsole.java |   2 +-
 .../apache/camel/impl/console/JvmDevConsole.java   |   2 +-
 .../apache/camel/impl/console/LogDevConsole.java   |   2 +-
 .../camel/impl/console/MemoryDevConsole.java       |   2 +-
 .../camel/impl/console/PropertiesDevConsole.java   |   2 +-
 .../camel/impl/console/ReloadDevConsole.java       |   2 +-
 .../camel/impl/console/RouteControllerConsole.java |   4 +-
 .../apache/camel/impl/console/RouteDevConsole.java |   2 +-
 .../camel/impl/console/RouteDumpDevConsole.java    |   4 +-
 .../camel/impl/console/SourceDevConsole.java       |   4 +-
 .../impl/console/StartupRecorderDevConsole.java    |   4 +-
 .../camel/impl/console/ThreadDevConsole.java       |   4 +-
 .../apache/camel/impl/console/TopDevConsole.java   |   4 +-
 .../apache/camel/impl/console/TraceDevConsole.java |   2 +-
 .../camel/impl/console/TransformerConsole.java     |   4 +-
 .../camel/impl/console/TypeConverterConsole.java   |   2 +-
 .../camel/impl/console/VariablesDevConsole.java    |   2 +-
 .../ROOT/pages/camel-4x-upgrade-guide-4_5.adoc     |  20 ++++
 .../camel/cli/connector/LocalCliConnector.java     |   4 +-
 .../org/apache/camel/dev-console/jbang.json        |  15 +++
 .../org/apache/camel/dev-console/source-dir.json   |  15 +++
 .../camel/jbang/console/JBangDevConsole.java       |   4 +-
 .../camel/jbang/console/SourceDirDevConsole.java   |   5 +-
 .../core/commands/process/ListCircuitBreaker.java  |   2 +-
 .../camel/dev-console/dependency-downloader.json   |  15 +++
 .../main/console/DependencyDownloaderConsole.java  |   4 +-
 .../maven/packaging/GenerateComponentMojo.java     |   2 +
 .../packaging/GenerateDataTypeTransformerMojo.java |  22 +---
 ...formerMojo.java => GenerateDevConsoleMojo.java} | 128 ++++++++++-----------
 .../apache/camel/maven/packaging/GenerateMojo.java |   2 +
 .../apache/camel/maven/packaging/MojoHelper.java   |  18 +++
 .../camel/maven/packaging/SpiGeneratorMojo.java    |   2 +-
 .../apache/camel/spi/annotations/DevConsole.java   |  17 ++-
 106 files changed, 900 insertions(+), 155 deletions(-)

diff --git a/catalog/camel-catalog-console/src/generated/resources/META-INF/org/apache/camel/dev-console/catalog.json b/catalog/camel-catalog-console/src/generated/resources/META-INF/org/apache/camel/dev-console/catalog.json
new file mode 100644
index 00000000000..e435fee8c40
--- /dev/null
+++ b/catalog/camel-catalog-console/src/generated/resources/META-INF/org/apache/camel/dev-console/catalog.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "catalog",
+    "title": "Catalog",
+    "description": "Information about used Camel artifacts",
+    "deprecated": false,
+    "javaType": "org.apache.camel.catalog.console.CatalogConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-catalog-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java b/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java
index 6b01274c834..97475eab8c6 100644
--- a/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java
+++ b/catalog/camel-catalog-console/src/main/java/org/apache/camel/catalog/console/CatalogConsole.java
@@ -29,14 +29,14 @@ import org.apache.camel.tooling.model.ArtifactModel;
 import org.apache.camel.tooling.model.OtherModel;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("catalog")
+@DevConsole(name = "catalog", description = "Information about used Camel artifacts")
 public class CatalogConsole extends AbstractDevConsole {
 
     private static final String CP = System.getProperty("java.class.path");
     private final CamelCatalog catalog = new DefaultCamelCatalog(true);
 
     public CatalogConsole() {
-        super("camel", "catalog", "Catalog", "Lists all the used Camel Components");
+        super("camel", "catalog", "Catalog", "Information about used Camel artifacts");
     }
 
     @Override
diff --git a/components/camel-aws/camel-aws-secrets-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/aws-secrets.json b/components/camel-aws/camel-aws-secrets-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/aws-secrets.json
new file mode 100644
index 00000000000..8da0b8d47e9
--- /dev/null
+++ b/components/camel-aws/camel-aws-secrets-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/aws-secrets.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "aws-secrets",
+    "title": "AWS Secrets",
+    "description": "AWS Secrets Manager",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.aws.secretsmanager.SecretsDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-aws-secrets-manager",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
index a3c64de24a5..b37baabc967 100644
--- a/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
+++ b/components/camel-aws/camel-aws-secrets-manager/src/main/java/org/apache/camel/component/aws/secretsmanager/SecretsDevConsole.java
@@ -33,7 +33,7 @@ import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 import org.apache.camel.vault.AwsVaultConfiguration;
 
-@DevConsole("aws-secrets")
+@DevConsole(name = "aws-secrets", displayName = "AWS Secrets", description = "AWS Secrets Manager")
 public class SecretsDevConsole extends AbstractDevConsole {
 
     private SecretsManagerPropertiesFunction propertiesFunction;
diff --git a/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/org/apache/camel/dev-console/aws2-s3.json b/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/org/apache/camel/dev-console/aws2-s3.json
new file mode 100644
index 00000000000..98c0413fdec
--- /dev/null
+++ b/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/org/apache/camel/dev-console/aws2-s3.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "aws2-s3",
+    "title": "AWS S3",
+    "description": "AWS S3 Consumer",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.aws2.s3.AWS2S3Console",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-aws2-s3",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Console.java b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Console.java
index 50711ad24ee..b205d40a25e 100644
--- a/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Console.java
+++ b/components/camel-aws/camel-aws2-s3/src/main/java/org/apache/camel/component/aws2/s3/AWS2S3Console.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("aws2-s3")
+@DevConsole(name = "aws2-s3", displayName = "AWS S3", description = "AWS S3 Consumer")
 public class AWS2S3Console extends AbstractDevConsole {
 
     public AWS2S3Console() {
diff --git a/components/camel-azure/camel-azure-key-vault/src/generated/resources/META-INF/org/apache/camel/dev-console/azure-secrets.json b/components/camel-azure/camel-azure-key-vault/src/generated/resources/META-INF/org/apache/camel/dev-console/azure-secrets.json
new file mode 100644
index 00000000000..a7665eaceea
--- /dev/null
+++ b/components/camel-azure/camel-azure-key-vault/src/generated/resources/META-INF/org/apache/camel/dev-console/azure-secrets.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "azure-secrets",
+    "title": "Azure Key Vault Secrets",
+    "description": "Azure Key Vault Secret Manager",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.azure.key.vault.AzureKeyVaultManagerDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-azure-key-vault",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java b/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java
index e995b197927..733efdcb62e 100644
--- a/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java
+++ b/components/camel-azure/camel-azure-key-vault/src/main/java/org/apache/camel/component/azure/key/vault/AzureKeyVaultManagerDevConsole.java
@@ -32,7 +32,7 @@ import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 import org.apache.camel.vault.AzureVaultConfiguration;
 
-@DevConsole("azure-secrets")
+@DevConsole(name = "azure-secrets", displayName = "Azure Key Vault Secrets", description = "Azure Key Vault Secret Manager")
 public class AzureKeyVaultManagerDevConsole extends AbstractDevConsole {
 
     private KeyVaultPropertiesFunction propertiesFunction;
diff --git a/components/camel-google/camel-google-secret-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/gcp-secrets.json b/components/camel-google/camel-google-secret-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/gcp-secrets.json
new file mode 100644
index 00000000000..8c93a8fe303
--- /dev/null
+++ b/components/camel-google/camel-google-secret-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/gcp-secrets.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "gcp-secrets",
+    "title": "GCP Secrets",
+    "description": "GCP Secret Manager",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.google.secret.manager.GoogleSecretManagerDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-google-secret-manager",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java b/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
index 89072482f2f..34fbe100861 100644
--- a/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
+++ b/components/camel-google/camel-google-secret-manager/src/main/java/org/apache/camel/component/google/secret/manager/GoogleSecretManagerDevConsole.java
@@ -33,7 +33,7 @@ import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 import org.apache.camel.vault.GcpVaultConfiguration;
 
-@DevConsole("gcp-secrets")
+@DevConsole(name = "gcp-secrets", displayName = "GCP Secrets", description = "GCP Secret Manager")
 public class GoogleSecretManagerDevConsole extends AbstractDevConsole {
 
     private GoogleSecretManagerPropertiesFunction propertiesFunction;
diff --git a/components/camel-knative/camel-knative-http/src/generated/resources/META-INF/org/apache/camel/dev-console/knative.json b/components/camel-knative/camel-knative-http/src/generated/resources/META-INF/org/apache/camel/dev-console/knative.json
new file mode 100644
index 00000000000..f4af8bc4015
--- /dev/null
+++ b/components/camel-knative/camel-knative-http/src/generated/resources/META-INF/org/apache/camel/dev-console/knative.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "knative",
+    "title": "Knative",
+    "description": "Knative HTTP Service",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.knative.http.KnativeHttpConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-knative-http",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsole.java b/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsole.java
index 324d6745586..457c6a12c3f 100644
--- a/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsole.java
+++ b/components/camel-knative/camel-knative-http/src/main/java/org/apache/camel/component/knative/http/KnativeHttpConsole.java
@@ -32,7 +32,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.StringHelper;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("knative")
+@DevConsole(name = "knative", displayName = "Knative", description = "Knative HTTP Service")
 public class KnativeHttpConsole extends AbstractDevConsole {
 
     public KnativeHttpConsole() {
diff --git a/components/camel-micrometer/src/generated/resources/META-INF/org/apache/camel/dev-console/micrometer.json b/components/camel-micrometer/src/generated/resources/META-INF/org/apache/camel/dev-console/micrometer.json
new file mode 100644
index 00000000000..2b26acc7c74
--- /dev/null
+++ b/components/camel-micrometer/src/generated/resources/META-INF/org/apache/camel/dev-console/micrometer.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "micrometer",
+    "title": "Micrometer",
+    "description": "Display runtime metrics",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.micrometer.MicrometerConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-micrometer",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConsole.java b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConsole.java
index a4c869a6275..699b6b7faec 100644
--- a/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConsole.java
+++ b/components/camel-micrometer/src/main/java/org/apache/camel/component/micrometer/MicrometerConsole.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("micrometer")
+@DevConsole(name = "micrometer", description = "Display runtime metrics")
 public class MicrometerConsole extends AbstractDevConsole {
 
     /**
diff --git a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/generated/resources/META-INF/org/apache/camel/dev-console/fault-tolerance.json b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/generated/resources/META-INF/org/apache/camel/dev-console/fault-tolerance.json
new file mode 100644
index 00000000000..f4b53fbf88a
--- /dev/null
+++ b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/generated/resources/META-INF/org/apache/camel/dev-console/fault-tolerance.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "fault-tolerance",
+    "title": "MicroProfile Circuit Breaker",
+    "description": "Display circuit breaker information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.microprofile.faulttolerance.FaultToleranceConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-microprofile-fault-tolerance",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceConsole.java b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceConsole.java
index 1713376d79f..8f9a7fbd172 100644
--- a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceConsole.java
+++ b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/main/java/org/apache/camel/component/microprofile/faulttolerance/FaultToleranceConsole.java
@@ -27,11 +27,11 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("fault-tolerance")
+@DevConsole(name = "fault-tolerance", displayName = "MicroProfile Circuit Breaker", description = "Display circuit breaker information")
 public class FaultToleranceConsole extends AbstractDevConsole {
 
     public FaultToleranceConsole() {
-        super("camel", "fault-tolerance", "MicroProfile Fault Tolerance Circuit Breaker",
+        super("camel", "fault-tolerance", "MicroProfile Circuit Breaker",
               "Display circuit breaker information");
     }
 
diff --git a/components/camel-mina/src/generated/resources/META-INF/org/apache/camel/dev-console/mina.json b/components/camel-mina/src/generated/resources/META-INF/org/apache/camel/dev-console/mina.json
new file mode 100644
index 00000000000..f37d1749e16
--- /dev/null
+++ b/components/camel-mina/src/generated/resources/META-INF/org/apache/camel/dev-console/mina.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "mina",
+    "title": "Mina",
+    "description": "Embedded Mina Server",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.mina.MinaConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-mina",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsole.java b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsole.java
index 7a240b03bc5..cafde44205e 100644
--- a/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsole.java
+++ b/components/camel-mina/src/main/java/org/apache/camel/component/mina/MinaConsole.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("mina")
+@DevConsole(name = "mina", description = "Embedded Mina Server")
 public class MinaConsole extends AbstractDevConsole {
 
     public MinaConsole() {
diff --git a/components/camel-mllp/src/generated/resources/META-INF/org/apache/camel/dev-console/mllp.json b/components/camel-mllp/src/generated/resources/META-INF/org/apache/camel/dev-console/mllp.json
new file mode 100644
index 00000000000..2d19aa5ee66
--- /dev/null
+++ b/components/camel-mllp/src/generated/resources/META-INF/org/apache/camel/dev-console/mllp.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "mllp",
+    "title": "MLLP",
+    "description": "Embedded MLLP Server",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.mllp.MllpConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-mllp",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpConsole.java b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpConsole.java
index 456c46d2196..d3beedc2423 100644
--- a/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpConsole.java
+++ b/components/camel-mllp/src/main/java/org/apache/camel/component/mllp/MllpConsole.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("mllp")
+@DevConsole(name = "mllp", displayName = "MLLP", description = "Embedded MLLP Server")
 public class MllpConsole extends AbstractDevConsole {
 
     public MllpConsole() {
diff --git a/components/camel-netty/src/generated/resources/META-INF/org/apache/camel/dev-console/netty.json b/components/camel-netty/src/generated/resources/META-INF/org/apache/camel/dev-console/netty.json
new file mode 100644
index 00000000000..3fcebdfe3d5
--- /dev/null
+++ b/components/camel-netty/src/generated/resources/META-INF/org/apache/camel/dev-console/netty.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "netty",
+    "title": "Netty",
+    "description": "Embedded Netty Server",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.netty.NettyConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-netty",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsole.java b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsole.java
index fe042f77f2b..c99c2357adf 100644
--- a/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsole.java
+++ b/components/camel-netty/src/main/java/org/apache/camel/component/netty/NettyConsole.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("netty")
+@DevConsole(name = "netty", description = "Embedded Netty Server")
 public class NettyConsole extends AbstractDevConsole {
 
     public NettyConsole() {
diff --git a/components/camel-platform-http/src/generated/resources/META-INF/org/apache/camel/dev-console/platform-http.json b/components/camel-platform-http/src/generated/resources/META-INF/org/apache/camel/dev-console/platform-http.json
new file mode 100644
index 00000000000..34cbd2da7e2
--- /dev/null
+++ b/components/camel-platform-http/src/generated/resources/META-INF/org/apache/camel/dev-console/platform-http.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "platform-http",
+    "title": "Platform HTTP",
+    "description": "Embedded HTTP Server",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.platform.http.PlatformHttpConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-platform-http",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpConsole.java b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpConsole.java
index e4c47ba15b7..3263348f505 100644
--- a/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpConsole.java
+++ b/components/camel-platform-http/src/main/java/org/apache/camel/component/platform/http/PlatformHttpConsole.java
@@ -25,7 +25,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("platform-http")
+@DevConsole(name = "platform-http", displayName = "Platform HTTP", description = "Embedded HTTP Server")
 public class PlatformHttpConsole extends AbstractDevConsole {
 
     public PlatformHttpConsole() {
diff --git a/components/camel-quartz/src/generated/resources/META-INF/org/apache/camel/dev-console/quartz.json b/components/camel-quartz/src/generated/resources/META-INF/org/apache/camel/dev-console/quartz.json
new file mode 100644
index 00000000000..acbc204a098
--- /dev/null
+++ b/components/camel-quartz/src/generated/resources/META-INF/org/apache/camel/dev-console/quartz.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "quartz",
+    "title": "Quartz",
+    "description": "Quartz Scheduler",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.quartz.QuartzConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-quartz",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsole.java b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsole.java
index 3fdbcfcf97c..a02280551ce 100644
--- a/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsole.java
+++ b/components/camel-quartz/src/main/java/org/apache/camel/component/quartz/QuartzConsole.java
@@ -29,7 +29,7 @@ import org.quartz.JobExecutionContext;
 import org.quartz.Scheduler;
 import org.quartz.SchedulerMetaData;
 
-@DevConsole("quartz")
+@DevConsole(name = "quartz", description = "Quartz Scheduler")
 public class QuartzConsole extends AbstractDevConsole {
 
     public QuartzConsole() {
diff --git a/components/camel-resilience4j/src/generated/resources/META-INF/org/apache/camel/dev-console/resilience4j.json b/components/camel-resilience4j/src/generated/resources/META-INF/org/apache/camel/dev-console/resilience4j.json
new file mode 100644
index 00000000000..ed28864d270
--- /dev/null
+++ b/components/camel-resilience4j/src/generated/resources/META-INF/org/apache/camel/dev-console/resilience4j.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "resilience4j",
+    "title": "Resilience Circuit Breaker",
+    "description": "Display circuit breaker information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.resilience4j.ResilienceConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-resilience4j",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceConsole.java b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceConsole.java
index f74485b52a0..e7485ea7100 100644
--- a/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceConsole.java
+++ b/components/camel-resilience4j/src/main/java/org/apache/camel/component/resilience4j/ResilienceConsole.java
@@ -27,7 +27,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("resilience4j")
+@DevConsole(name = "resilience4j", displayName = "Resilience Circuit Breaker", description = "Display circuit breaker information")
 public class ResilienceConsole extends AbstractDevConsole {
 
     public ResilienceConsole() {
diff --git a/components/camel-stub/src/generated/resources/META-INF/org/apache/camel/dev-console/stub.json b/components/camel-stub/src/generated/resources/META-INF/org/apache/camel/dev-console/stub.json
new file mode 100644
index 00000000000..609d3e43dbf
--- /dev/null
+++ b/components/camel-stub/src/generated/resources/META-INF/org/apache/camel/dev-console/stub.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "stub",
+    "title": "Stub",
+    "description": "Browse messages on stub endpoints",
+    "deprecated": false,
+    "javaType": "org.apache.camel.component.stub.StubConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-stub",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/components/camel-stub/src/main/java/org/apache/camel/component/stub/StubConsole.java b/components/camel-stub/src/main/java/org/apache/camel/component/stub/StubConsole.java
index 8a645f414b1..b05d66e24f7 100644
--- a/components/camel-stub/src/main/java/org/apache/camel/component/stub/StubConsole.java
+++ b/components/camel-stub/src/main/java/org/apache/camel/component/stub/StubConsole.java
@@ -31,7 +31,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("stub")
+@DevConsole(name = "stub", description = "Browse messages on stub endpoints")
 public class StubConsole extends AbstractDevConsole {
 
     /**
@@ -55,7 +55,7 @@ public class StubConsole extends AbstractDevConsole {
     public static final String BROWSE = "browse";
 
     public StubConsole() {
-        super("camel", "stub", "Stub", "Browse messages on stub");
+        super("camel", "stub", "Stub", "Browse messages on stub endpoints");
     }
 
     @Override
diff --git a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/DevConsole.java b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/DevConsole.java
index f504ea000b2..337360203da 100644
--- a/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/DevConsole.java
+++ b/core/camel-api/src/generated/java/org/apache/camel/spi/annotations/DevConsole.java
@@ -31,9 +31,24 @@ import java.lang.annotation.Target;
 @ServiceFactory("dev-console")
 public @interface DevConsole {
 
+    /**
+     * The group of the dev console
+     */
+    String group() default "camel";
+
     /**
      * The ID of the dev console.
      */
-    String value();
+    String name();
+
+    /**
+     * Display name (title)
+     */
+    String displayName() default "";
+
+    /**
+     * Description of the console
+     */
+    String description();
 
 }
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/bean.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/bean.json
new file mode 100644
index 00000000000..73b15a92789
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/bean.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "bean",
+    "title": "Bean",
+    "description": "Displays Java beans from the registry",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.BeanDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/blocked.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/blocked.json
new file mode 100644
index 00000000000..eea12840c2f
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/blocked.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "blocked",
+    "title": "Blocked Exchanges",
+    "description": "Display blocked exchanges",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.BlockedConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/circuit-breaker.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/circuit-breaker.json
new file mode 100644
index 00000000000..2b2f20277a1
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/circuit-breaker.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "circuit-breaker",
+    "title": "Circuit Breaker",
+    "description": "Display circuit breaker information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.CircuitBreakerDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/consumer.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/consumer.json
new file mode 100644
index 00000000000..94cc1673ced
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/consumer.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "consumer",
+    "title": "Consumers",
+    "description": "Display information about Camel consumers",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.ConsumerDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/context.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/context.json
new file mode 100644
index 00000000000..634473f6df2
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/context.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "context",
+    "title": "CamelContext",
+    "description": "Overall information about the CamelContext",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.ContextDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/debug.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/debug.json
new file mode 100644
index 00000000000..1741c47718b
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/debug.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "debug",
+    "title": "Debug",
+    "description": "Camel route debugger",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.DebugDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/endpoint.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/endpoint.json
new file mode 100644
index 00000000000..f26b0f6e877
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/endpoint.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "endpoint",
+    "title": "Endpoints",
+    "description": "Endpoint Registry information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.EndpointDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/event.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/event.json
new file mode 100644
index 00000000000..7ff5a6209ba
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/event.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "event",
+    "title": "Camel Events",
+    "description": "The most recent Camel events",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.EventConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/gc.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/gc.json
new file mode 100644
index 00000000000..59e73b1d857
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/gc.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "gc",
+    "title": "Garbage Collector",
+    "description": "Displays Garbage Collector information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.GarbageCollectorDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/health.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/health.json
new file mode 100644
index 00000000000..d66ff7c1cb6
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/health.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "health",
+    "title": "Health Check",
+    "description": "Health Check Status",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.HealthDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/inflight.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/inflight.json
new file mode 100644
index 00000000000..55bf27070f9
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/inflight.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "inflight",
+    "title": "Inflight Exchanges",
+    "description": "Display inflight exchanges",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.InflightConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/java-security.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/java-security.json
new file mode 100644
index 00000000000..ff13d144970
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/java-security.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "java-security",
+    "title": "Java Security",
+    "description": "Displays Java Security (JSSE) information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.JavaSecurityDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jvm.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jvm.json
new file mode 100644
index 00000000000..0b95f9f20f1
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jvm.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "jvm",
+    "title": "JVM",
+    "description": "Displays JVM information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.JvmDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/log.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/log.json
new file mode 100644
index 00000000000..93c4b4868e1
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/log.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "log",
+    "title": "Log",
+    "description": "Logging framework",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.LogDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/memory.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/memory.json
new file mode 100644
index 00000000000..88031548edf
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/memory.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "memory",
+    "title": "JVM Memory",
+    "description": "Displays JVM memory information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.MemoryDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/properties.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/properties.json
new file mode 100644
index 00000000000..0d248c543b9
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/properties.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "properties",
+    "title": "Properties",
+    "description": "Displays the properties loaded by Camel",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.PropertiesDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/reload.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/reload.json
new file mode 100644
index 00000000000..ed0fc201bfe
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/reload.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "reload",
+    "title": "Reload",
+    "description": "Console for reloading running Camel",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.ReloadDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-controller.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-controller.json
new file mode 100644
index 00000000000..d29993d28a6
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-controller.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "route-controller",
+    "title": "Route Controller",
+    "description": "Route controller information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.RouteControllerConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-dump.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-dump.json
new file mode 100644
index 00000000000..559adade159
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-dump.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "route-dump",
+    "title": "Route Dump",
+    "description": "Dump route in XML or YAML format",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.RouteDumpDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route.json
new file mode 100644
index 00000000000..534d51296a8
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "route",
+    "title": "Route",
+    "description": "Route information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.RouteDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source.json
new file mode 100644
index 00000000000..d65b96705cd
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "source",
+    "title": "Source",
+    "description": "Dump route source code",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.SourceDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/startup-recorder.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/startup-recorder.json
new file mode 100644
index 00000000000..3b953a98cfa
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/startup-recorder.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "startup-recorder",
+    "title": "Startup Recorder",
+    "description": "Starting recording information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.StartupRecorderDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/thread.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/thread.json
new file mode 100644
index 00000000000..28f2a2ceca0
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/thread.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "thread",
+    "title": "Thread",
+    "description": "Displays JVM Threads information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.ThreadDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/top.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/top.json
new file mode 100644
index 00000000000..97ebc7895e0
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/top.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "top",
+    "title": "Top Routes",
+    "description": "Display the top routes",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.TopDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/trace.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/trace.json
new file mode 100644
index 00000000000..20ad3e0ba8f
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/trace.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "trace",
+    "title": "Camel Tracing",
+    "description": "Trace routed messages",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.TraceDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/transformers.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/transformers.json
new file mode 100644
index 00000000000..f4a6cc28393
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/transformers.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "transformers",
+    "title": "Data Type Transformers",
+    "description": "Data-type transformer information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.TransformerConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/type-converters.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/type-converters.json
new file mode 100644
index 00000000000..69c213b9a30
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/type-converters.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "type-converters",
+    "title": "Type Converters",
+    "description": "Camel Type Converter information",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.TypeConverterConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/variables.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/variables.json
new file mode 100644
index 00000000000..d44adeff7fb
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/variables.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "variables",
+    "title": "Variables",
+    "description": "Displays variables",
+    "deprecated": false,
+    "javaType": "org.apache.camel.impl.console.VariablesDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/core/camel-console/src/generated/resources/META-INF/services/org/apache/camel/dev-console/circuit-breaker b/core/camel-console/src/generated/resources/META-INF/services/org/apache/camel/dev-console/circuit-breaker
new file mode 100644
index 00000000000..62c91276e87
--- /dev/null
+++ b/core/camel-console/src/generated/resources/META-INF/services/org/apache/camel/dev-console/circuit-breaker
@@ -0,0 +1,2 @@
+# Generated by camel build tools - do NOT edit this file!
+class=org.apache.camel.impl.console.CircuitBreakerDevConsole
diff --git a/core/camel-console/src/generated/resources/META-INF/services/org/apache/camel/dev-console/route-circuit-breaker b/core/camel-console/src/generated/resources/META-INF/services/org/apache/camel/dev-console/route-circuit-breaker
deleted file mode 100644
index 8500cb624bb..00000000000
--- a/core/camel-console/src/generated/resources/META-INF/services/org/apache/camel/dev-console/route-circuit-breaker
+++ /dev/null
@@ -1,2 +0,0 @@
-# Generated by camel build tools - do NOT edit this file!
-class=org.apache.camel.impl.console.RouteCircuitBreakerDevConsole
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/BeanDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/BeanDevConsole.java
index f94dd336421..ad74cb0c332 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/BeanDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/BeanDevConsole.java
@@ -23,7 +23,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("bean")
+@DevConsole(name = "bean", description = "Displays Java beans from the registry")
 public class BeanDevConsole extends AbstractDevConsole {
 
     public BeanDevConsole() {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/BlockedConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/BlockedConsole.java
index 8c897dc9b93..b641ade3012 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/BlockedConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/BlockedConsole.java
@@ -27,7 +27,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.TimeUtils;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("blocked")
+@DevConsole(name = "blocked", displayName = "Blocked Exchanges", description = "Display blocked exchanges")
 public class BlockedConsole extends AbstractDevConsole {
 
     public BlockedConsole() {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteCircuitBreakerDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/CircuitBreakerDevConsole.java
similarity index 90%
rename from core/camel-console/src/main/java/org/apache/camel/impl/console/RouteCircuitBreakerDevConsole.java
rename to core/camel-console/src/main/java/org/apache/camel/impl/console/CircuitBreakerDevConsole.java
index ce0ec6061b6..27f5a0dfda1 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteCircuitBreakerDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/CircuitBreakerDevConsole.java
@@ -28,11 +28,11 @@ import org.apache.camel.throttling.ThrottlingExceptionRoutePolicy;
 import org.apache.camel.util.TimeUtils;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("route-circuit-breaker")
-public class RouteCircuitBreakerDevConsole extends AbstractDevConsole {
+@DevConsole(name = "circuit-breaker", description = "Display circuit breaker information")
+public class CircuitBreakerDevConsole extends AbstractDevConsole {
 
-    public RouteCircuitBreakerDevConsole() {
-        super("camel", "route-circuit-breaker", "Route Circuit Breaker", "Display circuit breaker information");
+    public CircuitBreakerDevConsole() {
+        super("camel", "circuit-breaker", "Circuit Breaker", "Display circuit breaker information");
     }
 
     @Override
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java
index a75ea58d2fb..1fa40f79cb8 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/ConsumerDevConsole.java
@@ -34,7 +34,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("consumer")
+@DevConsole(name = "consumer", displayName = "Consumers", description = "Display information about Camel consumers")
 public class ConsumerDevConsole extends AbstractDevConsole {
 
     public ConsumerDevConsole() {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java
index 3b332b769ee..0f80a08d782 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/ContextDevConsole.java
@@ -29,7 +29,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.TimeUtils;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("context")
+@DevConsole(name = "context", displayName = "CamelContext", description = "Overall information about the CamelContext")
 public class ContextDevConsole extends AbstractDevConsole {
 
     public ContextDevConsole() {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/DebugDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/DebugDevConsole.java
index 72100c0295a..2d1a542747c 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/DebugDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/DebugDevConsole.java
@@ -39,7 +39,7 @@ import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 import org.apache.camel.util.json.Jsoner;
 
-@DevConsole("debug")
+@DevConsole(name = "debug", description = "Camel route debugger")
 public class DebugDevConsole extends AbstractDevConsole {
 
     public static final String COMMAND = "command";
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsoleRegistry.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsoleRegistry.java
index 159590ed284..8b6c2b882c3 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsoleRegistry.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/DefaultDevConsoleRegistry.java
@@ -39,7 +39,7 @@ import org.slf4j.LoggerFactory;
 /**
  * Default {@link org.apache.camel.console.DevConsoleRegistry}.
  */
-@org.apache.camel.spi.annotations.DevConsole(DevConsoleRegistry.NAME)
+@org.apache.camel.spi.annotations.DevConsole(name = DevConsoleRegistry.NAME, description = "Default Console Registry")
 @DeferredContextBinding
 public class DefaultDevConsoleRegistry extends ServiceSupport implements DevConsoleRegistry {
 
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/EndpointDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/EndpointDevConsole.java
index d5180306d91..a6343a7070a 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/EndpointDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/EndpointDevConsole.java
@@ -29,7 +29,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("endpoint")
+@DevConsole(name = "endpoint", displayName = "Endpoints", description = "Endpoint Registry information")
 public class EndpointDevConsole extends AbstractDevConsole {
 
     public EndpointDevConsole() {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/EventConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/EventConsole.java
index 1415ec7ccc5..106472c9416 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/EventConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/EventConsole.java
@@ -30,7 +30,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.TimeUtils;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("event")
+@DevConsole(name = "event", displayName = "Camel Events", description = "The most recent Camel events")
 @Configurer(bootstrap = true)
 public class EventConsole extends AbstractDevConsole {
 
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/GarbageCollectorDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/GarbageCollectorDevConsole.java
index cd7ebb7a01d..3a4252f7239 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/GarbageCollectorDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/GarbageCollectorDevConsole.java
@@ -28,7 +28,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("gc")
+@DevConsole(name = "gc", displayName = "Garbage Collector", description = "Displays Garbage Collector information")
 @Configurer(bootstrap = true)
 public class GarbageCollectorDevConsole extends AbstractDevConsole {
 
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/HealthDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/HealthDevConsole.java
index 75aca65610a..b71b44322e6 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/HealthDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/HealthDevConsole.java
@@ -30,7 +30,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("health")
+@DevConsole(name = "health", displayName = "Health Check", description = "Health Check Status")
 public class HealthDevConsole extends AbstractDevConsole {
 
     public HealthDevConsole() {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/InflightConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/InflightConsole.java
index bc4adeea440..3ad4d5f2583 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/InflightConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/InflightConsole.java
@@ -26,7 +26,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.TimeUtils;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("inflight")
+@DevConsole(name = "inflight", displayName = "Inflight Exchanges", description = "Display inflight exchanges")
 public class InflightConsole extends AbstractDevConsole {
 
     /**
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/JavaSecurityDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/JavaSecurityDevConsole.java
index b4aa19e2ff5..8feb6c7637b 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/JavaSecurityDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/JavaSecurityDevConsole.java
@@ -27,7 +27,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("java-security")
+@DevConsole(name = "java-security", description = "Displays Java Security (JSSE) information")
 @Configurer(bootstrap = true)
 public class JavaSecurityDevConsole extends AbstractDevConsole {
 
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/JvmDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/JvmDevConsole.java
index 22a991a98cb..a89fa7c7e5b 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/JvmDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/JvmDevConsole.java
@@ -27,7 +27,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.TimeUtils;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("jvm")
+@DevConsole(name = "jvm", displayName = "JVM", description = "Displays JVM information")
 @Configurer(bootstrap = true)
 public class JvmDevConsole extends AbstractDevConsole {
 
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/LogDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/LogDevConsole.java
index a4ba2053d5b..3e90ae12ff5 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/LogDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/LogDevConsole.java
@@ -28,7 +28,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("log")
+@DevConsole(name = "log", description = "Logging framework")
 public class LogDevConsole extends AbstractDevConsole {
 
     // log4j support
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/MemoryDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/MemoryDevConsole.java
index f5007abdce3..f02708dfb80 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/MemoryDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/MemoryDevConsole.java
@@ -27,7 +27,7 @@ import org.apache.camel.util.json.JsonObject;
 
 import static org.apache.camel.util.UnitUtils.printUnitFromBytesDot;
 
-@DevConsole("memory")
+@DevConsole(name = "memory", displayName = "JVM Memory", description = "Displays JVM memory information")
 @Configurer(bootstrap = true)
 public class MemoryDevConsole extends AbstractDevConsole {
 
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/PropertiesDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/PropertiesDevConsole.java
index abde673d4eb..a539b893036 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/PropertiesDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/PropertiesDevConsole.java
@@ -23,7 +23,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("properties")
+@DevConsole(name = "properties", description = "Displays the properties loaded by Camel")
 public class PropertiesDevConsole extends AbstractDevConsole {
 
     public PropertiesDevConsole() {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/ReloadDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/ReloadDevConsole.java
index 83057664c3d..8d82525d202 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/ReloadDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/ReloadDevConsole.java
@@ -26,7 +26,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("reload")
+@DevConsole(name = "reload", description = "Console for reloading running Camel")
 public class ReloadDevConsole extends AbstractDevConsole {
 
     /**
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteControllerConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteControllerConsole.java
index f727cdd5e38..5a9264857a4 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteControllerConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteControllerConsole.java
@@ -38,14 +38,14 @@ import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 import org.apache.camel.util.json.Jsoner;
 
-@DevConsole("route-controller")
+@DevConsole(name = "route-controller", description = "Route controller information")
 public class RouteControllerConsole extends AbstractDevConsole {
 
     public static final String STACKTRACE = "stacktrace";
     public static final String ERROR = "error";
 
     public RouteControllerConsole() {
-        super("camel", "route-controller", "Route Controller", "Route startup information");
+        super("camel", "route-controller", "Route Controller", "Route controller information");
     }
 
     @Override
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
index a289c96982e..3f53ba6a20d 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDevConsole.java
@@ -40,7 +40,7 @@ import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 import org.apache.camel.util.json.Jsoner;
 
-@DevConsole("route")
+@DevConsole(name = "route", description = "Route information")
 public class RouteDevConsole extends AbstractDevConsole {
 
     /**
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDumpDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDumpDevConsole.java
index 63c127b0d82..65b46aeb838 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDumpDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/RouteDumpDevConsole.java
@@ -33,7 +33,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.StringHelper;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("route-dump")
+@DevConsole(name = "route-dump", description = "Dump route in XML or YAML format")
 public class RouteDumpDevConsole extends AbstractDevConsole {
 
     /**
@@ -57,7 +57,7 @@ public class RouteDumpDevConsole extends AbstractDevConsole {
     public static final String URI_AS_PARAMETERS = "uriAsParameters";
 
     public RouteDumpDevConsole() {
-        super("camel", "route-dump", "Route Dump", "Dump route structure in XML or YAML format");
+        super("camel", "route-dump", "Route Dump", "Dump route in XML or YAML format");
     }
 
     @Override
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
index ba7faf6e3d5..82c7f57fbee 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
@@ -37,7 +37,7 @@ import org.apache.camel.util.IOHelper;
 import org.apache.camel.util.StringHelper;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("source")
+@DevConsole(name = "source", description = "Dump route source code")
 public class SourceDevConsole extends AbstractDevConsole {
 
     /**
@@ -51,7 +51,7 @@ public class SourceDevConsole extends AbstractDevConsole {
     public static final String LIMIT = "limit";
 
     public SourceDevConsole() {
-        super("camel", "source", "Source", "Display route source code");
+        super("camel", "source", "Source", "Dump route source code");
     }
 
     @Override
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
index c67b8499fc6..e2130cb157a 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/StartupRecorderDevConsole.java
@@ -27,11 +27,11 @@ import org.apache.camel.util.StringHelper;
 import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("startup-recorder")
+@DevConsole(name = "startup-recorder", description = "Starting recording information")
 public class StartupRecorderDevConsole extends AbstractDevConsole {
 
     public StartupRecorderDevConsole() {
-        super("camel", "startup-recorder", "Startup Recorder", "Display startup recording");
+        super("camel", "startup-recorder", "Startup Recorder", "Starting recording information");
     }
 
     @Override
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/ThreadDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/ThreadDevConsole.java
index 3deb5a82bcb..8f7680392f3 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/ThreadDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/ThreadDevConsole.java
@@ -28,12 +28,12 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("thread")
+@DevConsole(name = "thread", description = "Displays JVM Threads information")
 @Configurer(bootstrap = true)
 public class ThreadDevConsole extends AbstractDevConsole {
 
     public ThreadDevConsole() {
-        super("jvm", "thread", "Thread", "Displays Threads information");
+        super("jvm", "thread", "Thread", "Displays JVM Threads information");
     }
 
     @Override
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
index 54358b71059..f17264715b3 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/TopDevConsole.java
@@ -42,7 +42,7 @@ import org.apache.camel.util.TimeUtils;
 import org.apache.camel.util.json.JsonObject;
 import org.apache.camel.util.json.Jsoner;
 
-@DevConsole("top")
+@DevConsole(name = "top", displayName = "Top Routes", description = "Display the top routes")
 public class TopDevConsole extends AbstractDevConsole {
 
     /**
@@ -56,7 +56,7 @@ public class TopDevConsole extends AbstractDevConsole {
     public static final String LIMIT = "limit";
 
     public TopDevConsole() {
-        super("camel", "top", "Top", "Display the top routes");
+        super("camel", "top", "Top Routes", "Display the top routes");
     }
 
     @Override
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/TraceDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/TraceDevConsole.java
index 771c472dda6..8fea16ac83a 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/TraceDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/TraceDevConsole.java
@@ -29,7 +29,7 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("trace")
+@DevConsole(name = "trace", displayName = "Camel Tracing", description = "Trace routed messages")
 @Configurer(bootstrap = true)
 public class TraceDevConsole extends AbstractDevConsole {
 
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/TransformerConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/TransformerConsole.java
index ebb6e65b18c..d400f81fc5d 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/TransformerConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/TransformerConsole.java
@@ -25,11 +25,11 @@ import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("transformers")
+@DevConsole(name = "transformers", displayName = "Data Type Transformers", description = "Data-type transformer information")
 public class TransformerConsole extends AbstractDevConsole {
 
     public TransformerConsole() {
-        super("camel", "transformers", "Data Type Transformers", "Camel Data Type Transformer information");
+        super("camel", "transformers", "Data Type Transformers", "Data-type transformer information");
     }
 
     @Override
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/TypeConverterConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/TypeConverterConsole.java
index dd28b9b3d10..c13365853c9 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/TypeConverterConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/TypeConverterConsole.java
@@ -23,7 +23,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("type-converters")
+@DevConsole(name = "type-converters", description = "Camel Type Converter information")
 public class TypeConverterConsole extends AbstractDevConsole {
 
     public TypeConverterConsole() {
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/VariablesDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/VariablesDevConsole.java
index 3769cd57a8e..26f0599ade0 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/VariablesDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/VariablesDevConsole.java
@@ -26,7 +26,7 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("variables")
+@DevConsole(name = "variables", description = "Displays variables")
 public class VariablesDevConsole extends AbstractDevConsole {
 
     public VariablesDevConsole() {
diff --git a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_5.adoc b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_5.adoc
index 7b204466ca6..98e2921388b 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_5.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_5.adoc
@@ -139,6 +139,26 @@ moved into a new group `camel.debug` with more options to configure the backlog
 
 To enable backlog tracing you should now set `camel.trace.enabled=true` instead of `camel.main.backlogTracing=true`.
 
+=== camel-console
+
+The `@DevConsole` annotation has been enhanced to include more information.
+
+Migrate from
+
+[source,java]
+----
+@DevConsole("stub")
+----
+
+To
+
+[source,java]
+----
+@DevConsole(name = "stub", description = "Browse messages on stub endpoints")
+----
+
+We also renamed the `route-curcuit-breaker` console to `circuit-breaker`.
+
 === camel-jsonpath
 
 The `camel-jsonpath` will now work more similar as `camel-jq` when you specify a `resultType` and have a list of entities.
diff --git a/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java b/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java
index 593f8369f71..069dd3946ca 100644
--- a/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java
+++ b/dsl/camel-cli-connector/src/main/java/org/apache/camel/cli/connector/LocalCliConnector.java
@@ -899,11 +899,11 @@ public class LocalCliConnector extends ServiceSupport implements CliConnector, C
                         root.put("fault-tolerance", json);
                     }
                 }
-                DevConsole dc12a = dcr.resolveById("route-circuit-breaker");
+                DevConsole dc12a = dcr.resolveById("circuit-breaker");
                 if (dc12a != null) {
                     JsonObject json = (JsonObject) dc12a.call(DevConsole.MediaType.JSON);
                     if (json != null && !json.isEmpty()) {
-                        root.put("route-circuit-breaker", json);
+                        root.put("circuit-breaker", json);
                     }
                 }
                 DevConsole dc12 = camelContext.getCamelContextExtension().getContextPlugin(DevConsoleRegistry.class)
diff --git a/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jbang.json b/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jbang.json
new file mode 100644
index 00000000000..27208977c68
--- /dev/null
+++ b/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jbang.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel-jbang",
+    "id": "jbang",
+    "title": "Camel JBang",
+    "description": "Information about Camel JBang",
+    "deprecated": false,
+    "javaType": "org.apache.camel.jbang.console.JBangDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-jbang-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source-dir.json b/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source-dir.json
new file mode 100644
index 00000000000..9d3b0775845
--- /dev/null
+++ b/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source-dir.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel-jbang",
+    "id": "source-dir",
+    "title": "Source Directory",
+    "description": "Information about Camel JBang source files",
+    "deprecated": false,
+    "javaType": "org.apache.camel.jbang.console.SourceDirDevConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-jbang-console",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/JBangDevConsole.java b/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/JBangDevConsole.java
index 9645b901540..b81f10c14d1 100644
--- a/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/JBangDevConsole.java
+++ b/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/JBangDevConsole.java
@@ -22,11 +22,11 @@ import org.apache.camel.spi.annotations.DevConsole;
 import org.apache.camel.support.console.AbstractDevConsole;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("jbang")
+@DevConsole(name = "jbang", group = "camel-jbang", displayName = "Camel JBang", description = "Information about Camel JBang")
 public class JBangDevConsole extends AbstractDevConsole {
 
     public JBangDevConsole() {
-        super("camel", "jbang", "Camel JBang", "Information about Camel JBang");
+        super("camel-jbang", "jbang", "Camel JBang", "Information about Camel JBang");
     }
 
     @Override
diff --git a/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/SourceDirDevConsole.java b/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/SourceDirDevConsole.java
index 87e2bf48ba3..6ad7a2b9e6a 100644
--- a/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/SourceDirDevConsole.java
+++ b/dsl/camel-jbang/camel-jbang-console/src/main/java/org/apache/camel/jbang/console/SourceDirDevConsole.java
@@ -35,7 +35,8 @@ import org.apache.camel.util.TimeUtils;
 import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("source-dir")
+@DevConsole(name = "source-dir", group = "camel-jbang", displayName = "Source Directory",
+            description = "Information about Camel JBang source files")
 public class SourceDirDevConsole extends AbstractDevConsole {
 
     /**
@@ -44,7 +45,7 @@ public class SourceDirDevConsole extends AbstractDevConsole {
     public static final String SOURCE = "source";
 
     public SourceDirDevConsole() {
-        super("camel", "source-dir", "Source Directory", "Information about Camel JBang source files");
+        super("camel-jbang", "source-dir", "Source Directory", "Information about Camel JBang source files");
     }
 
     @Override
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListCircuitBreaker.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListCircuitBreaker.java
index 7f81185d02a..7d86cb9552d 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListCircuitBreaker.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/ListCircuitBreaker.java
@@ -108,7 +108,7 @@ public class ListCircuitBreaker extends ProcessWatchCommand {
                                 }
                             }
                         }
-                        mo = (JsonObject) root.get("route-circuit-breaker");
+                        mo = (JsonObject) root.get("circuit-breaker");
                         if (mo != null) {
                             JsonArray arr = (JsonArray) mo.get("circuitBreakers");
                             if (arr != null) {
diff --git a/dsl/camel-kamelet-main/src/generated/resources/META-INF/org/apache/camel/dev-console/dependency-downloader.json b/dsl/camel-kamelet-main/src/generated/resources/META-INF/org/apache/camel/dev-console/dependency-downloader.json
new file mode 100644
index 00000000000..89d90a4eae6
--- /dev/null
+++ b/dsl/camel-kamelet-main/src/generated/resources/META-INF/org/apache/camel/dev-console/dependency-downloader.json
@@ -0,0 +1,15 @@
+{
+  "console": {
+    "kind": "console",
+    "group": "camel",
+    "id": "dependency-downloader",
+    "title": "Maven Dependency Downloader",
+    "description": "Displays information about dependencies downloaded at runtime",
+    "deprecated": false,
+    "javaType": "org.apache.camel.main.console.DependencyDownloaderConsole",
+    "groupId": "org.apache.camel",
+    "artifactId": "camel-kamelet-main",
+    "version": "4.5.0-SNAPSHOT"
+  }
+}
+
diff --git a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/console/DependencyDownloaderConsole.java b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/console/DependencyDownloaderConsole.java
index e08afe95620..21a585f056b 100644
--- a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/console/DependencyDownloaderConsole.java
+++ b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/console/DependencyDownloaderConsole.java
@@ -27,11 +27,11 @@ import org.apache.camel.util.TimeUtils;
 import org.apache.camel.util.json.JsonArray;
 import org.apache.camel.util.json.JsonObject;
 
-@DevConsole("dependency-downloader")
+@DevConsole(name = "dependency-downloader", group = "camel-jbang", displayName = "Maven Dependency Downloader", description = "Displays information about dependencies downloaded at runtime")
 public class DependencyDownloaderConsole extends AbstractDevConsole {
 
     public DependencyDownloaderConsole() {
-        super("jvm", "dependency-downloader", "Maven Dependency Downloader",
+        super("camel-jbang", "dependency-downloader", "Maven Dependency Downloader",
               "Displays information about dependencies downloaded at runtime");
     }
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateComponentMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateComponentMojo.java
index 39e69a47d0a..54e8563c891 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateComponentMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateComponentMojo.java
@@ -50,6 +50,8 @@ public class GenerateComponentMojo extends AbstractGenerateMojo {
         invoke(GenerateInvokeOnHeaderMojo.class);
         // generate data-type-transformer
         invoke(GenerateDataTypeTransformerMojo.class);
+        // generate dev-console
+        invoke(GenerateDevConsoleMojo.class);
         // prepare-components
         invoke(PrepareComponentMojo.class);
         // validate-components
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
index bf93e9984c2..39525ac332c 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
@@ -37,6 +37,8 @@ import org.jboss.jandex.AnnotationInstance;
 import org.jboss.jandex.DotName;
 import org.jboss.jandex.Index;
 
+import static org.apache.camel.maven.packaging.MojoHelper.annotationValue;
+
 /**
  * Factory for generating code for @DataTypeTransformer.
  */
@@ -143,22 +145,10 @@ public class GenerateDataTypeTransformerMojo extends AbstractGeneratorMojo {
                     = a.target().asClass().hasAnnotation(Deprecated.class) || project.getName().contains("(deprecated)");
             model.setClassName(currentClass);
             model.setDeprecated(deprecated);
-            var name = a.value("name");
-            if (name != null) {
-                model.setName(name.value().toString());
-            }
-            var from = a.value("from");
-            if (from != null) {
-                model.setFrom(from.value().toString());
-            }
-            var to = a.value("to");
-            if (to != null) {
-                model.setFrom(to.value().toString());
-            }
-            var desc = a.value("description");
-            if (desc != null) {
-                model.setDescription(desc.value().toString());
-            }
+            model.setName(annotationValue(a, "name"));
+            model.setFrom(annotationValue(a, "from"));
+            model.setTo(annotationValue(a, "to"));
+            model.setDescription(annotationValue(a, "description"));
             models.add(model);
         });
         models.sort(Comparator.comparing(DataTypeTransformerModel::getName));
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
similarity index 61%
copy from tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
copy to tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
index bf93e9984c2..a05b79c117d 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDataTypeTransformerMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateDevConsoleMojo.java
@@ -37,15 +37,20 @@ import org.jboss.jandex.AnnotationInstance;
 import org.jboss.jandex.DotName;
 import org.jboss.jandex.Index;
 
+import static org.apache.camel.maven.packaging.MojoHelper.annotationValue;
+
 /**
- * Factory for generating code for @DataTypeTransformer.
+ * Factory for generating metadata for @DevConsole.
+ *
+ * This mojo will only generate json metadata with details of the dev consoles. The general spi-generator will generate
+ * the marker files
  */
-@Mojo(name = "generate-data-type-transformer", threadSafe = true, defaultPhase = LifecyclePhase.PROCESS_CLASSES,
+@Mojo(name = "generate-dev-console", threadSafe = true, defaultPhase = LifecyclePhase.PROCESS_CLASSES,
       requiresDependencyCollection = ResolutionScope.COMPILE,
       requiresDependencyResolution = ResolutionScope.COMPILE)
-public class GenerateDataTypeTransformerMojo extends AbstractGeneratorMojo {
+public class GenerateDevConsoleMojo extends AbstractGeneratorMojo {
 
-    public static final DotName DATA_TYPE_ANNOTATION = DotName.createSimple("org.apache.camel.spi.DataTypeTransformer");
+    public static final DotName DEV_CONSOLE_ANNOTATION = DotName.createSimple("org.apache.camel.spi.annotations.DevConsole");
 
     /**
      * The project build directory
@@ -56,11 +61,11 @@ public class GenerateDataTypeTransformerMojo extends AbstractGeneratorMojo {
     @Parameter(defaultValue = "${project.basedir}/src/generated/resources")
     protected File resourcesOutputDir;
 
-    private static class DataTypeTransformerModel {
+    private static class DevConsoleModel {
         private String className;
-        private String name;
-        private String from;
-        private String to;
+        private String group;
+        private String id;
+        private String displayName;
         private String description;
         private boolean deprecated;
 
@@ -72,28 +77,28 @@ public class GenerateDataTypeTransformerMojo extends AbstractGeneratorMojo {
             this.className = className;
         }
 
-        public String getName() {
-            return name;
+        public String getGroup() {
+            return group;
         }
 
-        public void setName(String name) {
-            this.name = name;
+        public void setGroup(String group) {
+            this.group = group;
         }
 
-        public String getFrom() {
-            return from;
+        public String getId() {
+            return id;
         }
 
-        public void setFrom(String from) {
-            this.from = from;
+        public void setId(String id) {
+            this.id = id;
         }
 
-        public String getTo() {
-            return to;
+        public String getDisplayName() {
+            return displayName;
         }
 
-        public void setTo(String to) {
-            this.to = to;
+        public void setDisplayName(String displayName) {
+            this.displayName = displayName;
         }
 
         public String getDescription() {
@@ -113,7 +118,7 @@ public class GenerateDataTypeTransformerMojo extends AbstractGeneratorMojo {
         }
     }
 
-    public GenerateDataTypeTransformerMojo() {
+    public GenerateDevConsoleMojo() {
     }
 
     @Override
@@ -133,89 +138,76 @@ public class GenerateDataTypeTransformerMojo extends AbstractGeneratorMojo {
             return;
         }
 
-        List<DataTypeTransformerModel> models = new ArrayList<>();
-        List<AnnotationInstance> annotations = index.getAnnotations(DATA_TYPE_ANNOTATION);
+        List<DevConsoleModel> models = new ArrayList<>();
+        List<AnnotationInstance> annotations = index.getAnnotations(DEV_CONSOLE_ANNOTATION);
         annotations.forEach(a -> {
-            DataTypeTransformerModel model = new DataTypeTransformerModel();
+            DevConsoleModel model = new DevConsoleModel();
 
             String currentClass = a.target().asClass().name().toString();
             boolean deprecated
                     = a.target().asClass().hasAnnotation(Deprecated.class) || project.getName().contains("(deprecated)");
             model.setClassName(currentClass);
             model.setDeprecated(deprecated);
-            var name = a.value("name");
-            if (name != null) {
-                model.setName(name.value().toString());
-            }
-            var from = a.value("from");
-            if (from != null) {
-                model.setFrom(from.value().toString());
-            }
-            var to = a.value("to");
-            if (to != null) {
-                model.setFrom(to.value().toString());
-            }
-            var desc = a.value("description");
-            if (desc != null) {
-                model.setDescription(desc.value().toString());
+            model.setGroup(annotationValue(a, "group"));
+            model.setId(annotationValue(a, "name"));
+            model.setDisplayName(annotationValue(a, "displayName"));
+            model.setDescription(annotationValue(a, "description"));
+            // skip default registry
+            boolean skip = "default-registry".equals(model.getId());
+            if (!skip) {
+                models.add(model);
             }
-            models.add(model);
         });
-        models.sort(Comparator.comparing(DataTypeTransformerModel::getName));
+        models.sort(Comparator.comparing(DevConsoleModel::getId));
+
+        // remove default-registry as it's special
 
         if (!models.isEmpty()) {
             try {
-                StringJoiner names = new StringJoiner(" ");
+                StringJoiner ids = new StringJoiner(" ");
                 for (var model : models) {
-                    names.add(model.getName());
+                    ids.add(model.getId());
 
                     JsonObject jo = asJsonObject(model);
                     String json = jo.toJson();
                     json = Jsoner.prettyPrint(json, 2);
-                    String fn = sanitizeFileName(model.getName()) + PackageHelper.JSON_SUFIX;
+                    String fn = sanitizeFileName(model.getId()) + PackageHelper.JSON_SUFIX;
                     boolean updated = updateResource(resourcesOutputDir.toPath(),
-                            "META-INF/services/org/apache/camel/transformer/" + fn,
+                            "META-INF/org/apache/camel/dev-console/" + fn,
                             json + NL);
                     if (updated) {
-                        getLog().info("Updated transformer json: " + model.getName());
+                        getLog().info("Updated dev-console json: " + model.getId());
                     }
                 }
-
-                // generate marker file
-                File camelMetaDir = new File(resourcesOutputDir, "META-INF/services/org/apache/camel/");
-                int count = models.size();
-                String properties = createProperties(project, "transformers", names.toString());
-                updateResource(camelMetaDir.toPath(), "transformer.properties", properties);
-                getLog().info("Generated transformer.properties containing " + count + " Camel "
-                              + (count > 1 ? "transformers: " : "transformer: ") + names);
             } catch (Exception e) {
                 throw new MojoExecutionException(e);
             }
         }
     }
 
-    private JsonObject asJsonObject(DataTypeTransformerModel model) {
+    private JsonObject asJsonObject(DevConsoleModel model) {
         JsonObject jo = new JsonObject();
         // we need to know the maven GAV also
-        jo.put("kind", "transformer");
-        jo.put("name", model.getName());
-        jo.put("title", asTitle(model.getName()));
-        if (model.getDescription() != null) {
-            jo.put("description", model.getDescription());
-        }
+        jo.put("kind", "console");
+        if (model.group != null) {
+            jo.put("group", model.getGroup());
+        } else {
+            jo.put("group", "camel");
+        }
+        jo.put("id", model.getId());
+        if (model.getDisplayName() != null) {
+            jo.put("title", asTitle(model.getDisplayName()));
+        } else {
+            jo.put("title", asTitle(model.getId()));
+        }
+        jo.put("description", model.getDescription());
         jo.put("deprecated", model.isDeprecated());
         jo.put("javaType", model.getClassName());
-        if (model.getFrom() != null) {
-            jo.put("from", model.getFrom());
-        }
-        if (model.getTo() != null) {
-            jo.put("to", model.getTo());
-        }
         jo.put("groupId", project.getGroupId());
         jo.put("artifactId", project.getArtifactId());
         jo.put("version", project.getVersion());
         JsonObject root = new JsonObject();
-        root.put("transformer", jo);
+        root.put("console", jo);
         return root;
     }
 
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateMojo.java
index b93ce0826ce..982f872be20 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/GenerateMojo.java
@@ -52,6 +52,8 @@ public class GenerateMojo extends AbstractGenerateMojo {
         invoke(GenerateInvokeOnHeaderMojo.class);
         // generate data-type-transformer
         invoke(GenerateDataTypeTransformerMojo.class);
+        // generate dev-console
+        invoke(GenerateDevConsoleMojo.class);
         // prepare-components
         invoke(PrepareComponentMojo.class);
         // prepare-main
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
index a2f85b5f116..f4b742e9985 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/MojoHelper.java
@@ -21,6 +21,8 @@ import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
 
+import org.jboss.jandex.AnnotationInstance;
+
 public final class MojoHelper {
 
     private MojoHelper() {
@@ -113,4 +115,20 @@ public final class MojoHelper {
         }
     }
 
+    public static String annotationValue(AnnotationInstance ann, String key) {
+        if (ann == null) {
+            return null;
+        }
+        var v = ann.value(key);
+        if (v == null) {
+            return null;
+        }
+        var o = v.value();
+        if (o == null) {
+            return null;
+        }
+        var s = o.toString();
+        return s == null || s.isBlank() ? null : s;
+    }
+
 }
diff --git a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpiGeneratorMojo.java b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpiGeneratorMojo.java
index 8dee2695138..1b5e953ef5d 100644
--- a/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpiGeneratorMojo.java
+++ b/tooling/maven/camel-package-maven-plugin/src/main/java/org/apache/camel/maven/packaging/SpiGeneratorMojo.java
@@ -135,7 +135,7 @@ public class SpiGeneratorMojo extends AbstractGeneratorMojo {
                     continue;
                 }
                 String pvals;
-                // @DataTypeTransformer uses name instead of value
+                // @DataTypeTransformer/@DevConsole uses name instead of value
                 if (annotation.value() == null) {
                     pvals = annotation.values().stream()
                             .filter(annotationValue -> "name".equals(annotationValue.name()))
diff --git a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/DevConsole.java b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/DevConsole.java
index f504ea000b2..337360203da 100644
--- a/tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/DevConsole.java
+++ b/tooling/spi-annotations/src/main/java/org/apache/camel/spi/annotations/DevConsole.java
@@ -31,9 +31,24 @@ import java.lang.annotation.Target;
 @ServiceFactory("dev-console")
 public @interface DevConsole {
 
+    /**
+     * The group of the dev console
+     */
+    String group() default "camel";
+
     /**
      * The ID of the dev console.
      */
-    String value();
+    String name();
+
+    /**
+     * Display name (title)
+     */
+    String displayName() default "";
+
+    /**
+     * Description of the console
+     */
+    String description();
 
 }


(camel) 04/04: CAMEL-20531: Include dev-consoles into camel-catalog

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch dc
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 3bc706ad15535e568b4e79dfc6ed87a5b2090e93
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Sat Mar 9 13:01:18 2024 +0100

    CAMEL-20531: Include dev-consoles into camel-catalog
---
 .../resources/META-INF/org/apache/camel/dev-console/catalog.json        | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/aws-secrets.json    | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/aws2-s3.json        | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/azure-secrets.json  | 2 +-
 .../generated/resources/org/apache/camel/catalog/dev-consoles/bean.json | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/blocked.json        | 2 +-
 .../org/apache/camel/catalog/dev-consoles/circuit-breaker.json          | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/consumer.json       | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/context.json        | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/debug.json          | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/endpoint.json       | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/event.json          | 2 +-
 .../org/apache/camel/catalog/dev-consoles/fault-tolerance.json          | 2 +-
 .../generated/resources/org/apache/camel/catalog/dev-consoles/gc.json   | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/gcp-secrets.json    | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/health.json         | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/inflight.json       | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/java-security.json  | 2 +-
 .../generated/resources/org/apache/camel/catalog/dev-consoles/jvm.json  | 2 +-
 .../generated/resources/org/apache/camel/catalog/dev-consoles/log.json  | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/memory.json         | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/micrometer.json     | 2 +-
 .../generated/resources/org/apache/camel/catalog/dev-consoles/mina.json | 2 +-
 .../generated/resources/org/apache/camel/catalog/dev-consoles/mllp.json | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/netty.json          | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/platform-http.json  | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/properties.json     | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/quartz.json         | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/reload.json         | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/resilience4j.json   | 2 +-
 .../org/apache/camel/catalog/dev-consoles/route-controller.json         | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/route-dump.json     | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/route.json          | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/source.json         | 2 +-
 .../org/apache/camel/catalog/dev-consoles/startup-recorder.json         | 2 +-
 .../generated/resources/org/apache/camel/catalog/dev-consoles/stub.json | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/thread.json         | 2 +-
 .../generated/resources/org/apache/camel/catalog/dev-consoles/top.json  | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/trace.json          | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/transformers.json   | 2 +-
 .../org/apache/camel/catalog/dev-consoles/type-converters.json          | 2 +-
 .../resources/org/apache/camel/catalog/dev-consoles/variables.json      | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/aws-secrets.json    | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/aws2-s3.json        | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/azure-secrets.json  | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/gcp-secrets.json    | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/knative.json        | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/micrometer.json     | 2 +-
 .../META-INF/org/apache/camel/dev-console/fault-tolerance.json          | 2 +-
 .../generated/resources/META-INF/org/apache/camel/dev-console/mina.json | 2 +-
 .../generated/resources/META-INF/org/apache/camel/dev-console/mllp.json | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/netty.json          | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/platform-http.json  | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/quartz.json         | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/resilience4j.json   | 2 +-
 .../generated/resources/META-INF/org/apache/camel/dev-console/stub.json | 2 +-
 .../generated/resources/META-INF/org/apache/camel/dev-console/bean.json | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/blocked.json        | 2 +-
 .../META-INF/org/apache/camel/dev-console/circuit-breaker.json          | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/consumer.json       | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/context.json        | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/debug.json          | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/endpoint.json       | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/event.json          | 2 +-
 .../generated/resources/META-INF/org/apache/camel/dev-console/gc.json   | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/health.json         | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/inflight.json       | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/java-security.json  | 2 +-
 .../generated/resources/META-INF/org/apache/camel/dev-console/jvm.json  | 2 +-
 .../generated/resources/META-INF/org/apache/camel/dev-console/log.json  | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/memory.json         | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/properties.json     | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/reload.json         | 2 +-
 .../META-INF/org/apache/camel/dev-console/route-controller.json         | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/route-dump.json     | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/route.json          | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/source.json         | 2 +-
 .../META-INF/org/apache/camel/dev-console/startup-recorder.json         | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/thread.json         | 2 +-
 .../generated/resources/META-INF/org/apache/camel/dev-console/top.json  | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/trace.json          | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/transformers.json   | 2 +-
 .../META-INF/org/apache/camel/dev-console/type-converters.json          | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/variables.json      | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/jbang.json          | 2 +-
 .../resources/META-INF/org/apache/camel/dev-console/source-dir.json     | 2 +-
 .../META-INF/org/apache/camel/dev-console/dependency-downloader.json    | 2 +-
 87 files changed, 87 insertions(+), 87 deletions(-)

diff --git a/catalog/camel-catalog-console/src/generated/resources/META-INF/org/apache/camel/dev-console/catalog.json b/catalog/camel-catalog-console/src/generated/resources/META-INF/org/apache/camel/dev-console/catalog.json
index e435fee8c40..2a6c58aea19 100644
--- a/catalog/camel-catalog-console/src/generated/resources/META-INF/org/apache/camel/dev-console/catalog.json
+++ b/catalog/camel-catalog-console/src/generated/resources/META-INF/org/apache/camel/dev-console/catalog.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "catalog",
+    "name": "catalog",
     "title": "Catalog",
     "description": "Information about used Camel artifacts",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws-secrets.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws-secrets.json
index 8da0b8d47e9..40eec35602f 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws-secrets.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws-secrets.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "aws-secrets",
+    "name": "aws-secrets",
     "title": "AWS Secrets",
     "description": "AWS Secrets Manager",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws2-s3.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws2-s3.json
index 98c0413fdec..c079f636c25 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws2-s3.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/aws2-s3.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "aws2-s3",
+    "name": "aws2-s3",
     "title": "AWS S3",
     "description": "AWS S3 Consumer",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/azure-secrets.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/azure-secrets.json
index a7665eaceea..76f4d498ac9 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/azure-secrets.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/azure-secrets.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "azure-secrets",
+    "name": "azure-secrets",
     "title": "Azure Key Vault Secrets",
     "description": "Azure Key Vault Secret Manager",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/bean.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/bean.json
index 73b15a92789..d7653bec27d 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/bean.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/bean.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "bean",
+    "name": "bean",
     "title": "Bean",
     "description": "Displays Java beans from the registry",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/blocked.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/blocked.json
index eea12840c2f..81213ab7bc8 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/blocked.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/blocked.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "blocked",
+    "name": "blocked",
     "title": "Blocked Exchanges",
     "description": "Display blocked exchanges",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/circuit-breaker.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/circuit-breaker.json
index 2b2f20277a1..6caa284f69a 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/circuit-breaker.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/circuit-breaker.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "circuit-breaker",
+    "name": "circuit-breaker",
     "title": "Circuit Breaker",
     "description": "Display circuit breaker information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/consumer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/consumer.json
index 94cc1673ced..5cf8731b25e 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/consumer.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/consumer.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "consumer",
+    "name": "consumer",
     "title": "Consumers",
     "description": "Display information about Camel consumers",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/context.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/context.json
index 634473f6df2..a6ef2bbaafc 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/context.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/context.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "context",
+    "name": "context",
     "title": "CamelContext",
     "description": "Overall information about the CamelContext",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/debug.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/debug.json
index 1741c47718b..31f2c2565b0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/debug.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/debug.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "debug",
+    "name": "debug",
     "title": "Debug",
     "description": "Camel route debugger",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/endpoint.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/endpoint.json
index f26b0f6e877..1c009d5db68 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/endpoint.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/endpoint.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "endpoint",
+    "name": "endpoint",
     "title": "Endpoints",
     "description": "Endpoint Registry information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/event.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/event.json
index 7ff5a6209ba..08c68178984 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/event.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/event.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "event",
+    "name": "event",
     "title": "Camel Events",
     "description": "The most recent Camel events",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/fault-tolerance.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/fault-tolerance.json
index f4b53fbf88a..7ac2091fbf0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/fault-tolerance.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/fault-tolerance.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "fault-tolerance",
+    "name": "fault-tolerance",
     "title": "MicroProfile Circuit Breaker",
     "description": "Display circuit breaker information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gc.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gc.json
index 59e73b1d857..1d9ec216984 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gc.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gc.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "gc",
+    "name": "gc",
     "title": "Garbage Collector",
     "description": "Displays Garbage Collector information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gcp-secrets.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gcp-secrets.json
index 8c93a8fe303..74ebae13b00 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gcp-secrets.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/gcp-secrets.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "gcp-secrets",
+    "name": "gcp-secrets",
     "title": "GCP Secrets",
     "description": "GCP Secret Manager",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/health.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/health.json
index d66ff7c1cb6..7135acdc3f0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/health.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/health.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "health",
+    "name": "health",
     "title": "Health Check",
     "description": "Health Check Status",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/inflight.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/inflight.json
index 55bf27070f9..3f1ed7f85c0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/inflight.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/inflight.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "inflight",
+    "name": "inflight",
     "title": "Inflight Exchanges",
     "description": "Display inflight exchanges",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/java-security.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/java-security.json
index ff13d144970..8f78ece00b9 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/java-security.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/java-security.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "java-security",
+    "name": "java-security",
     "title": "Java Security",
     "description": "Displays Java Security (JSSE) information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/jvm.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/jvm.json
index 0b95f9f20f1..2dddb0a85cf 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/jvm.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/jvm.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "jvm",
+    "name": "jvm",
     "title": "JVM",
     "description": "Displays JVM information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/log.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/log.json
index 93c4b4868e1..5b6b4fb82d1 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/log.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/log.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "log",
+    "name": "log",
     "title": "Log",
     "description": "Logging framework",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/memory.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/memory.json
index 88031548edf..21b73f22d48 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/memory.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/memory.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "memory",
+    "name": "memory",
     "title": "JVM Memory",
     "description": "Displays JVM memory information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/micrometer.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/micrometer.json
index 2b26acc7c74..3e223a870a0 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/micrometer.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/micrometer.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "micrometer",
+    "name": "micrometer",
     "title": "Micrometer",
     "description": "Display runtime metrics",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mina.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mina.json
index f37d1749e16..98c2481468f 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mina.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mina.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "mina",
+    "name": "mina",
     "title": "Mina",
     "description": "Embedded Mina Server",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mllp.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mllp.json
index 2d19aa5ee66..05624328434 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mllp.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/mllp.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "mllp",
+    "name": "mllp",
     "title": "MLLP",
     "description": "Embedded MLLP Server",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/netty.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/netty.json
index 3fcebdfe3d5..f30f3adceec 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/netty.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/netty.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "netty",
+    "name": "netty",
     "title": "Netty",
     "description": "Embedded Netty Server",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/platform-http.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/platform-http.json
index 34cbd2da7e2..c5ef30c9fdb 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/platform-http.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/platform-http.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "platform-http",
+    "name": "platform-http",
     "title": "Platform HTTP",
     "description": "Embedded HTTP Server",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/properties.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/properties.json
index 0d248c543b9..ecc93c54e74 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/properties.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/properties.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "properties",
+    "name": "properties",
     "title": "Properties",
     "description": "Displays the properties loaded by Camel",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/quartz.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/quartz.json
index acbc204a098..251f7f0a9c7 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/quartz.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/quartz.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "quartz",
+    "name": "quartz",
     "title": "Quartz",
     "description": "Quartz Scheduler",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/reload.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/reload.json
index ed0fc201bfe..1ff61b72ade 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/reload.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/reload.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "reload",
+    "name": "reload",
     "title": "Reload",
     "description": "Console for reloading running Camel",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/resilience4j.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/resilience4j.json
index ed28864d270..2a5c089c335 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/resilience4j.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/resilience4j.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "resilience4j",
+    "name": "resilience4j",
     "title": "Resilience Circuit Breaker",
     "description": "Display circuit breaker information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-controller.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-controller.json
index d29993d28a6..75668138496 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-controller.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-controller.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "route-controller",
+    "name": "route-controller",
     "title": "Route Controller",
     "description": "Route controller information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-dump.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-dump.json
index 559adade159..d5a7fff4006 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-dump.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route-dump.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "route-dump",
+    "name": "route-dump",
     "title": "Route Dump",
     "description": "Dump route in XML or YAML format",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route.json
index 534d51296a8..ad9ca12f312 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/route.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "route",
+    "name": "route",
     "title": "Route",
     "description": "Route information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/source.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/source.json
index d65b96705cd..e919ccc1394 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/source.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/source.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "source",
+    "name": "source",
     "title": "Source",
     "description": "Dump route source code",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/startup-recorder.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/startup-recorder.json
index 3b953a98cfa..73761bdc3e3 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/startup-recorder.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/startup-recorder.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "startup-recorder",
+    "name": "startup-recorder",
     "title": "Startup Recorder",
     "description": "Starting recording information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/stub.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/stub.json
index 609d3e43dbf..f95c4375e13 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/stub.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/stub.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "stub",
+    "name": "stub",
     "title": "Stub",
     "description": "Browse messages on stub endpoints",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/thread.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/thread.json
index 28f2a2ceca0..66374a265db 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/thread.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/thread.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "thread",
+    "name": "thread",
     "title": "Thread",
     "description": "Displays JVM Threads information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/top.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/top.json
index 97ebc7895e0..98ec18bb1d9 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/top.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/top.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "top",
+    "name": "top",
     "title": "Top Routes",
     "description": "Display the top routes",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/trace.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/trace.json
index 20ad3e0ba8f..5fa13493f46 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/trace.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/trace.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "trace",
+    "name": "trace",
     "title": "Camel Tracing",
     "description": "Trace routed messages",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/transformers.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/transformers.json
index f4a6cc28393..b2b59833d78 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/transformers.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/transformers.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "transformers",
+    "name": "transformers",
     "title": "Data Type Transformers",
     "description": "Data-type transformer information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/type-converters.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/type-converters.json
index 69c213b9a30..6663487da5b 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/type-converters.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/type-converters.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "type-converters",
+    "name": "type-converters",
     "title": "Type Converters",
     "description": "Camel Type Converter information",
     "deprecated": false,
diff --git a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/variables.json b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/variables.json
index d44adeff7fb..2af11b40b66 100644
--- a/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/variables.json
+++ b/catalog/camel-catalog/src/generated/resources/org/apache/camel/catalog/dev-consoles/variables.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "variables",
+    "name": "variables",
     "title": "Variables",
     "description": "Displays variables",
     "deprecated": false,
diff --git a/components/camel-aws/camel-aws-secrets-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/aws-secrets.json b/components/camel-aws/camel-aws-secrets-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/aws-secrets.json
index 8da0b8d47e9..40eec35602f 100644
--- a/components/camel-aws/camel-aws-secrets-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/aws-secrets.json
+++ b/components/camel-aws/camel-aws-secrets-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/aws-secrets.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "aws-secrets",
+    "name": "aws-secrets",
     "title": "AWS Secrets",
     "description": "AWS Secrets Manager",
     "deprecated": false,
diff --git a/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/org/apache/camel/dev-console/aws2-s3.json b/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/org/apache/camel/dev-console/aws2-s3.json
index 98c0413fdec..c079f636c25 100644
--- a/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/org/apache/camel/dev-console/aws2-s3.json
+++ b/components/camel-aws/camel-aws2-s3/src/generated/resources/META-INF/org/apache/camel/dev-console/aws2-s3.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "aws2-s3",
+    "name": "aws2-s3",
     "title": "AWS S3",
     "description": "AWS S3 Consumer",
     "deprecated": false,
diff --git a/components/camel-azure/camel-azure-key-vault/src/generated/resources/META-INF/org/apache/camel/dev-console/azure-secrets.json b/components/camel-azure/camel-azure-key-vault/src/generated/resources/META-INF/org/apache/camel/dev-console/azure-secrets.json
index a7665eaceea..76f4d498ac9 100644
--- a/components/camel-azure/camel-azure-key-vault/src/generated/resources/META-INF/org/apache/camel/dev-console/azure-secrets.json
+++ b/components/camel-azure/camel-azure-key-vault/src/generated/resources/META-INF/org/apache/camel/dev-console/azure-secrets.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "azure-secrets",
+    "name": "azure-secrets",
     "title": "Azure Key Vault Secrets",
     "description": "Azure Key Vault Secret Manager",
     "deprecated": false,
diff --git a/components/camel-google/camel-google-secret-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/gcp-secrets.json b/components/camel-google/camel-google-secret-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/gcp-secrets.json
index 8c93a8fe303..74ebae13b00 100644
--- a/components/camel-google/camel-google-secret-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/gcp-secrets.json
+++ b/components/camel-google/camel-google-secret-manager/src/generated/resources/META-INF/org/apache/camel/dev-console/gcp-secrets.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "gcp-secrets",
+    "name": "gcp-secrets",
     "title": "GCP Secrets",
     "description": "GCP Secret Manager",
     "deprecated": false,
diff --git a/components/camel-knative/camel-knative-http/src/generated/resources/META-INF/org/apache/camel/dev-console/knative.json b/components/camel-knative/camel-knative-http/src/generated/resources/META-INF/org/apache/camel/dev-console/knative.json
index f4af8bc4015..7cd4a695aa4 100644
--- a/components/camel-knative/camel-knative-http/src/generated/resources/META-INF/org/apache/camel/dev-console/knative.json
+++ b/components/camel-knative/camel-knative-http/src/generated/resources/META-INF/org/apache/camel/dev-console/knative.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "knative",
+    "name": "knative",
     "title": "Knative",
     "description": "Knative HTTP Service",
     "deprecated": false,
diff --git a/components/camel-micrometer/src/generated/resources/META-INF/org/apache/camel/dev-console/micrometer.json b/components/camel-micrometer/src/generated/resources/META-INF/org/apache/camel/dev-console/micrometer.json
index 2b26acc7c74..3e223a870a0 100644
--- a/components/camel-micrometer/src/generated/resources/META-INF/org/apache/camel/dev-console/micrometer.json
+++ b/components/camel-micrometer/src/generated/resources/META-INF/org/apache/camel/dev-console/micrometer.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "micrometer",
+    "name": "micrometer",
     "title": "Micrometer",
     "description": "Display runtime metrics",
     "deprecated": false,
diff --git a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/generated/resources/META-INF/org/apache/camel/dev-console/fault-tolerance.json b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/generated/resources/META-INF/org/apache/camel/dev-console/fault-tolerance.json
index f4b53fbf88a..7ac2091fbf0 100644
--- a/components/camel-microprofile/camel-microprofile-fault-tolerance/src/generated/resources/META-INF/org/apache/camel/dev-console/fault-tolerance.json
+++ b/components/camel-microprofile/camel-microprofile-fault-tolerance/src/generated/resources/META-INF/org/apache/camel/dev-console/fault-tolerance.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "fault-tolerance",
+    "name": "fault-tolerance",
     "title": "MicroProfile Circuit Breaker",
     "description": "Display circuit breaker information",
     "deprecated": false,
diff --git a/components/camel-mina/src/generated/resources/META-INF/org/apache/camel/dev-console/mina.json b/components/camel-mina/src/generated/resources/META-INF/org/apache/camel/dev-console/mina.json
index f37d1749e16..98c2481468f 100644
--- a/components/camel-mina/src/generated/resources/META-INF/org/apache/camel/dev-console/mina.json
+++ b/components/camel-mina/src/generated/resources/META-INF/org/apache/camel/dev-console/mina.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "mina",
+    "name": "mina",
     "title": "Mina",
     "description": "Embedded Mina Server",
     "deprecated": false,
diff --git a/components/camel-mllp/src/generated/resources/META-INF/org/apache/camel/dev-console/mllp.json b/components/camel-mllp/src/generated/resources/META-INF/org/apache/camel/dev-console/mllp.json
index 2d19aa5ee66..05624328434 100644
--- a/components/camel-mllp/src/generated/resources/META-INF/org/apache/camel/dev-console/mllp.json
+++ b/components/camel-mllp/src/generated/resources/META-INF/org/apache/camel/dev-console/mllp.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "mllp",
+    "name": "mllp",
     "title": "MLLP",
     "description": "Embedded MLLP Server",
     "deprecated": false,
diff --git a/components/camel-netty/src/generated/resources/META-INF/org/apache/camel/dev-console/netty.json b/components/camel-netty/src/generated/resources/META-INF/org/apache/camel/dev-console/netty.json
index 3fcebdfe3d5..f30f3adceec 100644
--- a/components/camel-netty/src/generated/resources/META-INF/org/apache/camel/dev-console/netty.json
+++ b/components/camel-netty/src/generated/resources/META-INF/org/apache/camel/dev-console/netty.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "netty",
+    "name": "netty",
     "title": "Netty",
     "description": "Embedded Netty Server",
     "deprecated": false,
diff --git a/components/camel-platform-http/src/generated/resources/META-INF/org/apache/camel/dev-console/platform-http.json b/components/camel-platform-http/src/generated/resources/META-INF/org/apache/camel/dev-console/platform-http.json
index 34cbd2da7e2..c5ef30c9fdb 100644
--- a/components/camel-platform-http/src/generated/resources/META-INF/org/apache/camel/dev-console/platform-http.json
+++ b/components/camel-platform-http/src/generated/resources/META-INF/org/apache/camel/dev-console/platform-http.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "platform-http",
+    "name": "platform-http",
     "title": "Platform HTTP",
     "description": "Embedded HTTP Server",
     "deprecated": false,
diff --git a/components/camel-quartz/src/generated/resources/META-INF/org/apache/camel/dev-console/quartz.json b/components/camel-quartz/src/generated/resources/META-INF/org/apache/camel/dev-console/quartz.json
index acbc204a098..251f7f0a9c7 100644
--- a/components/camel-quartz/src/generated/resources/META-INF/org/apache/camel/dev-console/quartz.json
+++ b/components/camel-quartz/src/generated/resources/META-INF/org/apache/camel/dev-console/quartz.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "quartz",
+    "name": "quartz",
     "title": "Quartz",
     "description": "Quartz Scheduler",
     "deprecated": false,
diff --git a/components/camel-resilience4j/src/generated/resources/META-INF/org/apache/camel/dev-console/resilience4j.json b/components/camel-resilience4j/src/generated/resources/META-INF/org/apache/camel/dev-console/resilience4j.json
index ed28864d270..2a5c089c335 100644
--- a/components/camel-resilience4j/src/generated/resources/META-INF/org/apache/camel/dev-console/resilience4j.json
+++ b/components/camel-resilience4j/src/generated/resources/META-INF/org/apache/camel/dev-console/resilience4j.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "resilience4j",
+    "name": "resilience4j",
     "title": "Resilience Circuit Breaker",
     "description": "Display circuit breaker information",
     "deprecated": false,
diff --git a/components/camel-stub/src/generated/resources/META-INF/org/apache/camel/dev-console/stub.json b/components/camel-stub/src/generated/resources/META-INF/org/apache/camel/dev-console/stub.json
index 609d3e43dbf..f95c4375e13 100644
--- a/components/camel-stub/src/generated/resources/META-INF/org/apache/camel/dev-console/stub.json
+++ b/components/camel-stub/src/generated/resources/META-INF/org/apache/camel/dev-console/stub.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "stub",
+    "name": "stub",
     "title": "Stub",
     "description": "Browse messages on stub endpoints",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/bean.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/bean.json
index 73b15a92789..d7653bec27d 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/bean.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/bean.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "bean",
+    "name": "bean",
     "title": "Bean",
     "description": "Displays Java beans from the registry",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/blocked.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/blocked.json
index eea12840c2f..81213ab7bc8 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/blocked.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/blocked.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "blocked",
+    "name": "blocked",
     "title": "Blocked Exchanges",
     "description": "Display blocked exchanges",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/circuit-breaker.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/circuit-breaker.json
index 2b2f20277a1..6caa284f69a 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/circuit-breaker.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/circuit-breaker.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "circuit-breaker",
+    "name": "circuit-breaker",
     "title": "Circuit Breaker",
     "description": "Display circuit breaker information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/consumer.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/consumer.json
index 94cc1673ced..5cf8731b25e 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/consumer.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/consumer.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "consumer",
+    "name": "consumer",
     "title": "Consumers",
     "description": "Display information about Camel consumers",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/context.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/context.json
index 634473f6df2..a6ef2bbaafc 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/context.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/context.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "context",
+    "name": "context",
     "title": "CamelContext",
     "description": "Overall information about the CamelContext",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/debug.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/debug.json
index 1741c47718b..31f2c2565b0 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/debug.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/debug.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "debug",
+    "name": "debug",
     "title": "Debug",
     "description": "Camel route debugger",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/endpoint.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/endpoint.json
index f26b0f6e877..1c009d5db68 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/endpoint.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/endpoint.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "endpoint",
+    "name": "endpoint",
     "title": "Endpoints",
     "description": "Endpoint Registry information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/event.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/event.json
index 7ff5a6209ba..08c68178984 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/event.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/event.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "event",
+    "name": "event",
     "title": "Camel Events",
     "description": "The most recent Camel events",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/gc.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/gc.json
index 59e73b1d857..1d9ec216984 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/gc.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/gc.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "gc",
+    "name": "gc",
     "title": "Garbage Collector",
     "description": "Displays Garbage Collector information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/health.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/health.json
index d66ff7c1cb6..7135acdc3f0 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/health.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/health.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "health",
+    "name": "health",
     "title": "Health Check",
     "description": "Health Check Status",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/inflight.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/inflight.json
index 55bf27070f9..3f1ed7f85c0 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/inflight.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/inflight.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "inflight",
+    "name": "inflight",
     "title": "Inflight Exchanges",
     "description": "Display inflight exchanges",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/java-security.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/java-security.json
index ff13d144970..8f78ece00b9 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/java-security.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/java-security.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "java-security",
+    "name": "java-security",
     "title": "Java Security",
     "description": "Displays Java Security (JSSE) information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jvm.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jvm.json
index 0b95f9f20f1..2dddb0a85cf 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jvm.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jvm.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "jvm",
+    "name": "jvm",
     "title": "JVM",
     "description": "Displays JVM information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/log.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/log.json
index 93c4b4868e1..5b6b4fb82d1 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/log.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/log.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "log",
+    "name": "log",
     "title": "Log",
     "description": "Logging framework",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/memory.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/memory.json
index 88031548edf..21b73f22d48 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/memory.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/memory.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "memory",
+    "name": "memory",
     "title": "JVM Memory",
     "description": "Displays JVM memory information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/properties.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/properties.json
index 0d248c543b9..ecc93c54e74 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/properties.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/properties.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "properties",
+    "name": "properties",
     "title": "Properties",
     "description": "Displays the properties loaded by Camel",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/reload.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/reload.json
index ed0fc201bfe..1ff61b72ade 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/reload.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/reload.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "reload",
+    "name": "reload",
     "title": "Reload",
     "description": "Console for reloading running Camel",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-controller.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-controller.json
index d29993d28a6..75668138496 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-controller.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-controller.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "route-controller",
+    "name": "route-controller",
     "title": "Route Controller",
     "description": "Route controller information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-dump.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-dump.json
index 559adade159..d5a7fff4006 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-dump.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route-dump.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "route-dump",
+    "name": "route-dump",
     "title": "Route Dump",
     "description": "Dump route in XML or YAML format",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route.json
index 534d51296a8..ad9ca12f312 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/route.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "route",
+    "name": "route",
     "title": "Route",
     "description": "Route information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source.json
index d65b96705cd..e919ccc1394 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "source",
+    "name": "source",
     "title": "Source",
     "description": "Dump route source code",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/startup-recorder.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/startup-recorder.json
index 3b953a98cfa..73761bdc3e3 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/startup-recorder.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/startup-recorder.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "startup-recorder",
+    "name": "startup-recorder",
     "title": "Startup Recorder",
     "description": "Starting recording information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/thread.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/thread.json
index 28f2a2ceca0..66374a265db 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/thread.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/thread.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "thread",
+    "name": "thread",
     "title": "Thread",
     "description": "Displays JVM Threads information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/top.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/top.json
index 97ebc7895e0..98ec18bb1d9 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/top.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/top.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "top",
+    "name": "top",
     "title": "Top Routes",
     "description": "Display the top routes",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/trace.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/trace.json
index 20ad3e0ba8f..5fa13493f46 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/trace.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/trace.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "trace",
+    "name": "trace",
     "title": "Camel Tracing",
     "description": "Trace routed messages",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/transformers.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/transformers.json
index f4a6cc28393..b2b59833d78 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/transformers.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/transformers.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "transformers",
+    "name": "transformers",
     "title": "Data Type Transformers",
     "description": "Data-type transformer information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/type-converters.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/type-converters.json
index 69c213b9a30..6663487da5b 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/type-converters.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/type-converters.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "type-converters",
+    "name": "type-converters",
     "title": "Type Converters",
     "description": "Camel Type Converter information",
     "deprecated": false,
diff --git a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/variables.json b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/variables.json
index d44adeff7fb..2af11b40b66 100644
--- a/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/variables.json
+++ b/core/camel-console/src/generated/resources/META-INF/org/apache/camel/dev-console/variables.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel",
-    "id": "variables",
+    "name": "variables",
     "title": "Variables",
     "description": "Displays variables",
     "deprecated": false,
diff --git a/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jbang.json b/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jbang.json
index 27208977c68..b4b21ac3464 100644
--- a/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jbang.json
+++ b/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/jbang.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel-jbang",
-    "id": "jbang",
+    "name": "jbang",
     "title": "Camel JBang",
     "description": "Information about Camel JBang",
     "deprecated": false,
diff --git a/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source-dir.json b/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source-dir.json
index 9d3b0775845..fc8fe37e06d 100644
--- a/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source-dir.json
+++ b/dsl/camel-jbang/camel-jbang-console/src/generated/resources/META-INF/org/apache/camel/dev-console/source-dir.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel-jbang",
-    "id": "source-dir",
+    "name": "source-dir",
     "title": "Source Directory",
     "description": "Information about Camel JBang source files",
     "deprecated": false,
diff --git a/dsl/camel-kamelet-main/src/generated/resources/META-INF/org/apache/camel/dev-console/dependency-downloader.json b/dsl/camel-kamelet-main/src/generated/resources/META-INF/org/apache/camel/dev-console/dependency-downloader.json
index af9e7449c26..2bc8b5863ec 100644
--- a/dsl/camel-kamelet-main/src/generated/resources/META-INF/org/apache/camel/dev-console/dependency-downloader.json
+++ b/dsl/camel-kamelet-main/src/generated/resources/META-INF/org/apache/camel/dev-console/dependency-downloader.json
@@ -2,7 +2,7 @@
   "console": {
     "kind": "console",
     "group": "camel-jbang",
-    "id": "dependency-downloader",
+    "name": "dependency-downloader",
     "title": "Maven Dependency Downloader",
     "description": "Displays information about dependencies downloaded at runtime",
     "deprecated": false,