You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2025/09/23 12:01:29 UTC

(camel-kamelets) 01/01: Kamelets Catalog - Make the description a one liner

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

acosentino pushed a commit to branch kamelets-catalog-oneliner
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git

commit b104a27150cf44e84043fb8edd9706e22bc81b41
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Tue Sep 23 14:00:55 2025 +0200

    Kamelets Catalog - Make the description a one liner
    
    Signed-off-by: Andrea Cosentino <an...@gmail.com>
---
 .../partials/chuck-norris-source-description.adoc  | 35 ++++++++
 .../ROOT/partials/couchbase-sink-description.adoc  | 22 +++++
 .../ROOT/partials/counter-source-description.adoc  | 66 +++++++++++++++
 .../ROOT/partials/cron-source-description.adoc     | 68 ++++++++++++++++
 .../ROOT/partials/dropbox-sink-description.adoc    | 19 +++++
 .../ROOT/partials/dropbox-source-description.adoc  | 75 +++++++++++++++++
 .../partials/earthquake-source-description.adoc    | 73 +++++++++++++++++
 .../elasticsearch-index-sink-description.adoc      | 28 +++++++
 .../elasticsearch-search-source-description.adoc   | 95 ++++++++++++++++++++++
 .../ROOT/partials/exec-sink-description.adoc       | 18 ++++
 .../ROOT/partials/fhir-sink-description.adoc       | 34 ++++++++
 .../ROOT/partials/fhir-source-description.adoc     | 60 ++++++++++++++
 .../partials/file-watch-source-description.adoc    | 75 +++++++++++++++++
 .../ROOT/partials/ftp-sink-description.adoc        | 26 ++++++
 .../ROOT/partials/ftp-source-description.adoc      | 88 ++++++++++++++++++++
 .../ROOT/partials/ftps-sink-description.adoc       | 30 +++++++
 .../ROOT/partials/ftps-source-description.adoc     | 72 ++++++++++++++++
 .../partials/github-commit-source-description.adoc | 48 +++++++++++
 .../partials/github-event-source-description.adoc  | 44 ++++++++++
 ...hub-pullrequest-comment-source-description.adoc | 44 ++++++++++
 .../github-pullrequest-source-description.adoc     | 44 ++++++++++
 .../partials/github-tag-source-description.adoc    | 44 ++++++++++
 .../partials/google-bigquery-sink-description.adoc | 20 +++++
 .../google-calendar-source-description.adoc        | 78 ++++++++++++++++++
 .../google-functions-sink-description.adoc         | 16 ++++
 .../partials/google-mail-source-description.adoc   | 83 +++++++++++++++++++
 .../partials/google-pubsub-sink-description.adoc   | 18 ++++
 .../partials/google-pubsub-source-description.adoc | 53 ++++++++++++
 .../partials/google-sheets-sink-description.adoc   | 34 ++++++++
 .../partials/google-sheets-source-description.adoc | 50 ++++++++++++
 ...gle-storage-event-based-source-description.adoc | 56 +++++++++++++
 .../partials/google-storage-sink-description.adoc  | 20 +++++
 .../google-storage-source-description.adoc         | 50 ++++++++++++
 .../ROOT/partials/graphql-sink-description.adoc    | 17 ++++
 .../partials/http-secured-sink-description.adoc    | 33 ++++++++
 .../partials/http-secured-source-description.adoc  | 48 +++++++++++
 .../ROOT/partials/http-sink-description.adoc       | 17 ++++
 .../ROOT/partials/http-source-description.adoc     | 71 ++++++++++++++++
 .../ROOT/partials/infinispan-sink-description.adoc | 28 +++++++
 .../partials/infinispan-source-description.adoc    | 51 ++++++++++++
 .../jira-add-comment-sink-description.adoc         | 27 ++++++
 .../partials/jira-add-issue-sink-description.adoc  | 34 ++++++++
 .../partials/jira-oauth-source-description.adoc    | 53 ++++++++++++
 .../ROOT/partials/jira-source-description.adoc     | 46 +++++++++++
 .../jira-transition-issue-sink-description.adoc    | 29 +++++++
 .../jira-update-issue-sink-description.adoc        | 34 ++++++++
 .../partials/jms-amqp-10-sink-description.adoc     | 13 +++
 .../partials/jms-amqp-10-source-description.adoc   | 46 +++++++++++
 .../jms-apache-artemis-sink-description.adoc       | 13 +++
 .../jms-apache-artemis-source-description.adoc     | 83 +++++++++++++++++++
 .../ROOT/partials/jms-ibm-mq-sink-description.adoc | 17 ++++
 .../partials/jms-ibm-mq-source-description.adoc    | 47 +++++++++++
 ...jms-pooled-apache-artemis-sink-description.adoc | 21 +++++
 ...s-pooled-apache-artemis-source-description.adoc | 47 +++++++++++
 ...urio-registry-not-secured-sink-description.adoc | 20 +++++
 ...io-registry-not-secured-source-description.adoc | 45 ++++++++++
 ...fka-azure-schema-registry-sink-description.adoc | 17 ++++
 ...a-azure-schema-registry-source-description.adoc | 46 +++++++++++
 ...io-registry-not-secured-source-description.adoc | 46 +++++++++++
 ...batch-apicurio-registry-source-description.adoc | 46 +++++++++++
 ...h-azure-schema-registry-source-description.adoc | 46 +++++++++++
 ...kafka-batch-not-secured-source-description.adoc | 44 ++++++++++
 .../kafka-batch-scram-source-description.adoc      | 44 ++++++++++
 .../partials/kafka-batch-source-description.adoc   | 44 ++++++++++
 .../kafka-batch-ssl-source-description.adoc        | 44 ++++++++++
 ...-apicurio-registry-json-source-description.adoc | 44 ++++++++++
 ...secured-apicurio-registry-sink-description.adoc | 21 +++++
 ...cured-apicurio-registry-source-description.adoc | 44 ++++++++++
 .../kafka-not-secured-sink-description.adoc        | 27 ++++++
 .../kafka-not-secured-source-description.adoc      | 44 ++++++++++
 .../partials/kafka-scram-sink-description.adoc     | 21 +++++
 .../partials/kafka-scram-source-description.adoc   | 44 ++++++++++
 .../ROOT/partials/kafka-sink-description.adoc      | 24 ++++++
 .../ROOT/partials/kafka-source-description.adoc    | 65 +++++++++++++++
 .../ROOT/partials/kafka-ssl-sink-description.adoc  | 25 ++++++
 .../partials/kafka-ssl-source-description.adoc     | 44 ++++++++++
 .../kubernetes-namespaces-source-description.adoc  | 42 ++++++++++
 .../kubernetes-nodes-source-description.adoc       | 42 ++++++++++
 .../kubernetes-pods-source-description.adoc        | 42 ++++++++++
 .../ROOT/partials/log-sink-description.adoc        | 31 +++++++
 .../partials/mail-imap-source-description.adoc     | 84 +++++++++++++++++++
 .../ROOT/partials/mail-sink-description.adoc       | 29 +++++++
 .../ROOT/partials/mariadb-sink-description.adoc    | 21 +++++
 .../ROOT/partials/mariadb-source-description.adoc  | 46 +++++++++++
 .../ROOT/partials/minio-sink-description.adoc      | 25 ++++++
 .../ROOT/partials/minio-source-description.adoc    | 43 ++++++++++
 .../mongodb-changes-stream-source-description.adoc | 46 +++++++++++
 .../ROOT/partials/mongodb-sink-description.adoc    | 25 ++++++
 .../ROOT/partials/mongodb-source-description.adoc  | 83 +++++++++++++++++++
 .../ROOT/partials/mqtt-sink-description.adoc       | 30 +++++++
 .../ROOT/partials/mqtt-source-description.adoc     | 84 +++++++++++++++++++
 .../ROOT/partials/mqtt5-sink-description.adoc      | 30 +++++++
 .../ROOT/partials/mqtt5-source-description.adoc    | 43 ++++++++++
 ...hange-online-imap-oauth-source-description.adoc | 43 ++++++++++
 .../ROOT/partials/mysql-sink-description.adoc      | 21 +++++
 .../ROOT/partials/mysql-source-description.adoc    | 84 +++++++++++++++++++
 .../ROOT/partials/nats-sink-description.adoc       | 26 ++++++
 .../ROOT/partials/nats-source-description.adoc     | 43 ++++++++++
 .../opensearch-index-sink-description.adoc         | 26 ++++++
 .../opensearch-search-source-description.adoc      | 43 ++++++++++
 .../partials/oracle-database-sink-description.adoc | 25 ++++++
 .../oracle-database-source-description.adoc        | 46 +++++++++++
 .../ROOT/partials/postgresql-sink-description.adoc | 25 ++++++
 .../partials/postgresql-source-description.adoc    | 64 +++++++++++++++
 .../ROOT/partials/pulsar-sink-description.adoc     | 30 +++++++
 .../ROOT/partials/pulsar-source-description.adoc   | 43 ++++++++++
 .../ROOT/partials/redis-sink-description.adoc      | 39 +++++++++
 .../ROOT/partials/redis-source-description.adoc    | 75 +++++++++++++++++
 .../partials/rest-openapi-sink-description.adoc    | 30 +++++++
 ...lesforce-composite-upsert-sink-description.adoc | 30 +++++++
 .../salesforce-create-sink-description.adoc        | 29 +++++++
 .../salesforce-delete-sink-description.adoc        | 29 +++++++
 .../partials/salesforce-source-description.adoc    | 83 +++++++++++++++++++
 .../salesforce-update-sink-description.adoc        | 39 +++++++++
 .../ROOT/partials/scp-sink-description.adoc        | 34 ++++++++
 .../ROOT/partials/sftp-sink-description.adoc       | 35 ++++++++
 .../ROOT/partials/sftp-source-description.adoc     | 88 ++++++++++++++++++++
 .../ROOT/partials/slack-sink-description.adoc      | 41 ++++++++++
 .../ROOT/partials/slack-source-description.adoc    | 84 +++++++++++++++++++
 .../ROOT/partials/snowflake-sink-description.adoc  | 25 ++++++
 .../partials/snowflake-source-description.adoc     | 46 +++++++++++
 .../ROOT/partials/solr-sink-description.adoc       | 36 ++++++++
 .../ROOT/partials/solr-source-description.adoc     | 43 ++++++++++
 .../ROOT/partials/splunk-hec-sink-description.adoc | 43 ++++++++++
 .../ROOT/partials/splunk-sink-description.adoc     | 43 ++++++++++
 .../ROOT/partials/splunk-source-description.adoc   | 43 ++++++++++
 .../partials/spring-rabbitmq-sink-description.adoc | 45 ++++++++++
 .../spring-rabbitmq-source-description.adoc        | 43 ++++++++++
 .../ROOT/partials/sqlserver-sink-description.adoc  | 32 ++++++++
 .../partials/sqlserver-source-description.adoc     | 46 +++++++++++
 .../ROOT/partials/ssh-sink-description.adoc        | 41 ++++++++++
 .../ROOT/partials/ssh-source-description.adoc      | 86 ++++++++++++++++++++
 .../ROOT/partials/telegram-sink-description.adoc   | 49 +++++++++++
 .../ROOT/partials/telegram-source-description.adoc | 57 +++++++++++++
 .../ROOT/partials/timer-source-description.adoc    | 74 +++++++++++++++++
 .../twitter-directmessage-source-description.adoc  | 43 ++++++++++
 .../twitter-search-source-description.adoc         | 43 ++++++++++
 .../twitter-timeline-source-description.adoc       | 43 ++++++++++
 .../ROOT/partials/webhook-source-description.adoc  | 85 +++++++++++++++++++
 .../ROOT/partials/wttrin-source-description.adoc   | 43 ++++++++++
 kamelets/aws-cloudtrail-source.kamelet.yaml        |  4 +-
 kamelets/aws-ddb-sink.kamelet.yaml                 |  9 +-
 kamelets/aws-ddb-streams-source.kamelet.yaml       |  4 +-
 kamelets/aws-s3-source.kamelet.yaml                | 17 +---
 kamelets/aws-sqs-source.kamelet.yaml               | 10 +--
 kamelets/azure-cosmosdb-source.kamelet.yaml        |  4 +-
 kamelets/azure-eventhubs-source.kamelet.yaml       |  7 +-
 kamelets/azure-storage-blob-source.kamelet.yaml    |  7 +-
 .../azure-storage-datalake-source.kamelet.yaml     | 10 +--
 kamelets/azure-storage-files-source.kamelet.yaml   | 12 +--
 kamelets/azure-storage-queue-source.kamelet.yaml   |  7 +-
 kamelets/caffeine-action.kamelet.yaml              | 13 +--
 kamelets/chunk-template-action.kamelet.yaml        |  5 +-
 kamelets/couchbase-sink.kamelet.yaml               |  3 +-
 kamelets/cron-source.kamelet.yaml                  |  3 +-
 kamelets/data-type-action.kamelet.yaml             |  3 +-
 kamelets/delay-action.kamelet.yaml                 |  3 +-
 kamelets/dns-dig-action.kamelet.yaml               | 13 +--
 kamelets/dns-ip-action.kamelet.yaml                |  9 +-
 kamelets/dns-lookup-action.kamelet.yaml            |  9 +-
 kamelets/drop-field-action.kamelet.yaml            |  7 +-
 kamelets/dropbox-sink.kamelet.yaml                 |  9 +-
 kamelets/dropbox-source.kamelet.yaml               |  3 +-
 kamelets/earthquake-source.kamelet.yaml            |  3 +-
 kamelets/elasticsearch-index-sink.kamelet.yaml     | 15 +---
 kamelets/elasticsearch-search-source.kamelet.yaml  |  7 +-
 kamelets/exec-sink.kamelet.yaml                    |  9 +-
 kamelets/extract-field-action.kamelet.yaml         | 16 +---
 kamelets/fhir-sink.kamelet.yaml                    |  3 +-
 kamelets/fhir-source.kamelet.yaml                  |  3 +-
 kamelets/file-watch-source.kamelet.yaml            |  3 +-
 kamelets/freemarker-template-action.kamelet.yaml   |  3 +-
 kamelets/ftp-sink.kamelet.yaml                     |  7 +-
 kamelets/ftp-source.kamelet.yaml                   |  3 +-
 kamelets/ftps-sink.kamelet.yaml                    |  7 +-
 kamelets/ftps-source.kamelet.yaml                  |  3 +-
 kamelets/github-commit-source.kamelet.yaml         |  3 +-
 kamelets/github-event-source.kamelet.yaml          |  3 +-
 .../github-pullrequest-comment-source.kamelet.yaml |  3 +-
 kamelets/github-pullrequest-source.kamelet.yaml    |  3 +-
 kamelets/github-tag-source.kamelet.yaml            |  3 +-
 kamelets/google-bigquery-sink.kamelet.yaml         |  5 +-
 kamelets/google-calendar-source.kamelet.yaml       | 10 +--
 kamelets/google-functions-sink.kamelet.yaml        |  3 +-
 kamelets/google-mail-source.kamelet.yaml           | 10 +--
 kamelets/google-pubsub-sink.kamelet.yaml           |  5 +-
 kamelets/google-pubsub-source.kamelet.yaml         |  5 +-
 kamelets/google-sheets-sink.kamelet.yaml           | 10 +--
 kamelets/google-sheets-source.kamelet.yaml         | 17 +---
 .../google-storage-event-based-source.kamelet.yaml |  9 +-
 kamelets/google-storage-sink.kamelet.yaml          |  7 +-
 kamelets/google-storage-source.kamelet.yaml        | 13 +--
 kamelets/http-secured-source.kamelet.yaml          |  3 +-
 kamelets/http-source.kamelet.yaml                  |  3 +-
 kamelets/infinispan-sink.kamelet.yaml              |  9 +-
 kamelets/infinispan-source.kamelet.yaml            |  3 +-
 kamelets/insert-field-action.kamelet.yaml          |  7 +-
 kamelets/jira-add-comment-sink.kamelet.yaml        | 11 +--
 kamelets/jira-add-issue-sink.kamelet.yaml          | 23 +-----
 kamelets/jira-oauth-source.kamelet.yaml            |  3 +-
 kamelets/jira-source.kamelet.yaml                  |  5 +-
 kamelets/jira-transition-issue-sink.kamelet.yaml   | 13 +--
 kamelets/jira-update-issue-sink.kamelet.yaml       | 23 +-----
 kamelets/jms-ibm-mq-sink.kamelet.yaml              |  7 +-
 kamelets/jms-ibm-mq-source.kamelet.yaml            |  7 +-
 kamelets/jolt-transformation-action.kamelet.yaml   |  3 +-
 kamelets/jslt-action.kamelet.yaml                  |  3 +-
 kamelets/json-patch-action.kamelet.yaml            |  3 +-
 kamelets/json-schema-validator-action.kamelet.yaml |  3 +-
 kamelets/jsonata-action.kamelet.yaml               |  3 +-
 ...apicurio-registry-not-secured-sink.kamelet.yaml | 11 +--
 ...icurio-registry-not-secured-source.kamelet.yaml |  3 +-
 .../kafka-azure-schema-registry-sink.kamelet.yaml  | 11 +--
 ...kafka-azure-schema-registry-source.kamelet.yaml |  3 +-
 ...icurio-registry-not-secured-source.kamelet.yaml |  3 +-
 ...fka-batch-apicurio-registry-source.kamelet.yaml |  3 +-
 ...batch-azure-schema-registry-source.kamelet.yaml |  3 +-
 .../kafka-batch-not-secured-source.kamelet.yaml    |  3 +-
 kamelets/kafka-batch-scram-source.kamelet.yaml     |  3 +-
 kamelets/kafka-batch-source.kamelet.yaml           |  3 +-
 kamelets/kafka-batch-ssl-source.kamelet.yaml       |  3 +-
 ...ured-apicurio-registry-json-source.kamelet.yaml |  3 +-
 ...not-secured-apicurio-registry-sink.kamelet.yaml | 11 +--
 ...t-secured-apicurio-registry-source.kamelet.yaml |  3 +-
 kamelets/kafka-not-secured-sink.kamelet.yaml       | 11 +--
 kamelets/kafka-not-secured-source.kamelet.yaml     |  3 +-
 kamelets/kafka-scram-sink.kamelet.yaml             | 11 +--
 kamelets/kafka-scram-source.kamelet.yaml           |  3 +-
 kamelets/kafka-sink.kamelet.yaml                   | 11 +--
 kamelets/kafka-source.kamelet.yaml                 |  3 +-
 kamelets/kafka-ssl-sink.kamelet.yaml               | 11 +--
 kamelets/kafka-ssl-source.kamelet.yaml             |  3 +-
 kamelets/kubernetes-namespaces-source.kamelet.yaml |  3 +-
 kamelets/kubernetes-nodes-source.kamelet.yaml      |  3 +-
 kamelets/kubernetes-pods-source.kamelet.yaml       |  3 +-
 kamelets/log-action.kamelet.yaml                   |  3 +-
 kamelets/log-sink.kamelet.yaml                     |  3 +-
 kamelets/mail-imap-source.kamelet.yaml             | 13 +--
 kamelets/mariadb-sink.kamelet.yaml                 | 15 +---
 kamelets/mariadb-source.kamelet.yaml               |  7 +-
 kamelets/minio-sink.kamelet.yaml                   |  7 +-
 kamelets/minio-source.kamelet.yaml                 |  3 +-
 .../mongodb-changes-stream-source.kamelet.yaml     |  3 +-
 kamelets/mongodb-sink.kamelet.yaml                 |  7 +-
 kamelets/mongodb-source.kamelet.yaml               |  9 +-
 kamelets/mqtt-sink.kamelet.yaml                    |  3 +-
 kamelets/mqtt-source.kamelet.yaml                  |  3 +-
 kamelets/mqtt5-sink.kamelet.yaml                   |  3 +-
 kamelets/mqtt5-source.kamelet.yaml                 |  3 +-
 ...-exchange-online-imap-oauth-source.kamelet.yaml |  4 +-
 kamelets/mustache-template-action.kamelet.yaml     |  3 +-
 kamelets/mvel-template-action.kamelet.yaml         |  3 +-
 kamelets/mysql-sink.kamelet.yaml                   | 15 +---
 kamelets/mysql-source.kamelet.yaml                 |  7 +-
 kamelets/nats-sink.kamelet.yaml                    |  3 +-
 kamelets/nats-source.kamelet.yaml                  |  3 +-
 kamelets/nominatim-geocode-action.kamelet.yaml     | 19 +----
 kamelets/ogcapi-features-action.kamelet.yaml       |  8 +-
 kamelets/opensearch-index-sink.kamelet.yaml        | 15 +---
 kamelets/opensearch-search-source.kamelet.yaml     |  7 +-
 kamelets/oracle-database-sink.kamelet.yaml         | 15 +---
 kamelets/oracle-database-source.kamelet.yaml       |  7 +-
 kamelets/pdf-action.kamelet.yaml                   |  3 +-
 kamelets/postgresql-sink.kamelet.yaml              | 11 +--
 kamelets/postgresql-source.kamelet.yaml            |  3 +-
 kamelets/replace-field-action.kamelet.yaml         | 13 +--
 .../salesforce-composite-upsert-sink.kamelet.yaml  |  7 +-
 kamelets/salesforce-create-sink.kamelet.yaml       |  5 +-
 kamelets/salesforce-delete-sink.kamelet.yaml       |  6 +-
 kamelets/salesforce-source.kamelet.yaml            |  3 +-
 kamelets/salesforce-update-sink.kamelet.yaml       | 11 +--
 kamelets/scp-sink.kamelet.yaml                     |  3 +-
 kamelets/set-body-action.kamelet.yaml              |  3 +-
 kamelets/set-kafka-key-action.kamelet.yaml         |  5 +-
 kamelets/sftp-sink.kamelet.yaml                    |  7 +-
 kamelets/sftp-source.kamelet.yaml                  |  3 +-
 kamelets/slack-sink.kamelet.yaml                   |  3 +-
 kamelets/slack-source.kamelet.yaml                 |  7 +-
 kamelets/snowflake-sink.kamelet.yaml               | 11 +--
 kamelets/snowflake-source.kamelet.yaml             |  3 +-
 kamelets/solr-sink.kamelet.yaml                    |  3 +-
 kamelets/solr-source.kamelet.yaml                  |  3 +-
 kamelets/splunk-hec-sink.kamelet.yaml              |  3 +-
 kamelets/splunk-sink.kamelet.yaml                  |  5 +-
 kamelets/splunk-source.kamelet.yaml                |  5 +-
 kamelets/spring-rabbitmq-sink.kamelet.yaml         |  3 +-
 kamelets/spring-rabbitmq-source.kamelet.yaml       |  3 +-
 kamelets/sqlserver-sink.kamelet.yaml               | 15 +---
 kamelets/sqlserver-source.kamelet.yaml             |  7 +-
 kamelets/ssh-sink.kamelet.yaml                     |  3 +-
 kamelets/ssh-source.kamelet.yaml                   |  3 +-
 kamelets/string-template-action.kamelet.yaml       |  3 +-
 kamelets/telegram-sink.kamelet.yaml                | 21 +----
 kamelets/telegram-source.kamelet.yaml              |  9 +-
 kamelets/twitter-directmessage-source.kamelet.yaml |  6 +-
 kamelets/twitter-search-source.kamelet.yaml        |  6 +-
 kamelets/twitter-timeline-source.kamelet.yaml      |  6 +-
 kamelets/velocity-template-action.kamelet.yaml     |  3 +-
 kamelets/webhook-source.kamelet.yaml               |  8 +-
 kamelets/wttrin-source.kamelet.yaml                |  3 +-
 kamelets/xj-identity-action.kamelet.yaml           |  3 +-
 kamelets/xj-template-action.kamelet.yaml           |  3 +-
 302 files changed, 6301 insertions(+), 862 deletions(-)

diff --git a/docs/modules/ROOT/partials/chuck-norris-source-description.adoc b/docs/modules/ROOT/partials/chuck-norris-source-description.adoc
new file mode 100644
index 000000000..8a4e9ca35
--- /dev/null
+++ b/docs/modules/ROOT/partials/chuck-norris-source-description.adoc
@@ -0,0 +1,35 @@
+== Chuck Norris Source Kamelet Description
+
+This Kamelet provides a periodic source of Chuck Norris jokes from the Chuck Norris API. It fetches random jokes at configurable intervals and outputs them as plain text.
+
+=== Output format
+
+The Kamelet outputs Chuck Norris jokes as plain text strings, one joke per message. The jokes are extracted from the JSON response using JSONPath to get the `value` field from the API response.
+
+=== Usage examples
+
+Basic usage with default 10-second interval:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:chuck-norris-source"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Custom interval of 30 seconds:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:chuck-norris-source"
+      parameters:
+        period: 30000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/couchbase-sink-description.adoc b/docs/modules/ROOT/partials/couchbase-sink-description.adoc
new file mode 100644
index 000000000..71c3b3ded
--- /dev/null
+++ b/docs/modules/ROOT/partials/couchbase-sink-description.adoc
@@ -0,0 +1,22 @@
+== Couchbase Sink Kamelet Description
+
+=== Authentication
+
+This Kamelet uses username and password authentication to connect to Couchbase.
+
+=== Configuration
+
+This Kamelet requires configuration of:
+- Protocol (e.g., http or https)
+- Hostname of the Couchbase server
+- Bucket name to store documents
+- Username and password credentials
+
+Optional settings include:
+- Port (defaults to 8091)
+- Starting ID for document inserts (defaults to 1)
+- Auto start ID flag (defaults to true)
+
+=== Document Storage
+
+Documents are stored in the specified Couchbase bucket. The Kamelet can automatically generate document IDs starting from a configurable starting point.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/counter-source-description.adoc b/docs/modules/ROOT/partials/counter-source-description.adoc
new file mode 100644
index 000000000..0c6fe53b0
--- /dev/null
+++ b/docs/modules/ROOT/partials/counter-source-description.adoc
@@ -0,0 +1,66 @@
+== Counter Source Kamelet Description
+
+This Kamelet provides a simple counting source that generates sequential numbers at configurable intervals. It starts from a specified number and counts upward (1, 2, 3, ...) with each timer tick.
+
+=== Output format
+
+The Kamelet outputs each number as a plain text integer. Each message contains a single number that increments from the starting value.
+
+=== Special headers
+
+The Kamelet sets the following header:
+
+- `Content-Type`: `text/plain`
+
+=== Configuration options
+
+The Kamelet allows you to configure:
+
+- **period**: Time interval between numbers (default: 1000ms)
+- **start**: Starting number (default: 1)
+- **numbers**: Total count of numbers to generate (optional - if not set, runs indefinitely)
+
+=== Usage examples
+
+Basic counter starting from 1:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:counter-source"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Counter with custom starting point and interval:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:counter-source"
+      parameters:
+        start: 100
+        period: 500
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Generate exactly 10 numbers:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:counter-source"
+      parameters:
+        start: 1
+        numbers: 10
+        period: 2000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/cron-source-description.adoc b/docs/modules/ROOT/partials/cron-source-description.adoc
new file mode 100644
index 000000000..827832262
--- /dev/null
+++ b/docs/modules/ROOT/partials/cron-source-description.adoc
@@ -0,0 +1,68 @@
+== Cron Source Kamelet Description
+
+This Kamelet provides a cron-based scheduler that sends events at specific times defined by a cron expression. It allows you to generate custom messages according to a cron schedule.
+
+=== Output format
+
+The Kamelet outputs the configured message as plain text content at the times specified by the cron expression.
+
+=== Configuration requirements
+
+This Kamelet requires the following mandatory properties:
+
+- **schedule**: A cron expression that defines when events should be triggered
+- **message**: The text message to send when the schedule triggers
+
+=== Cron expression format
+
+The cron expression follows the standard format:
+```
+<seconds> <minutes> <hours> <day-of-month> <month> <day-of-week> [year]
+```
+
+=== Usage examples
+
+Send a message every 3 seconds during the 10th hour:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:cron-source"
+      parameters:
+        schedule: "0/3 10 * * * ?"
+        message: "hello world"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Send a daily reminder at 9 AM:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:cron-source"
+      parameters:
+        schedule: "0 0 9 * * ?"
+        message: "Daily reminder: Check your tasks!"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Send a message every Monday at 8:30 AM:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:cron-source"
+      parameters:
+        schedule: "0 30 8 ? * MON"
+        message: "Weekly team meeting reminder"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/dropbox-sink-description.adoc b/docs/modules/ROOT/partials/dropbox-sink-description.adoc
new file mode 100644
index 000000000..dac788e0a
--- /dev/null
+++ b/docs/modules/ROOT/partials/dropbox-sink-description.adoc
@@ -0,0 +1,19 @@
+== Dropbox Sink Kamelet Description
+
+=== Authentication
+
+This Kamelet uses OAuth 2.0 access token authentication to connect to Dropbox. You need to provide:
+- Access Token: OAuth access token from Dropbox
+- Client Identifier: Your Dropbox App client identifier
+
+=== File Upload Configuration
+
+The Kamelet uploads files to a specified remote path on Dropbox with configurable upload modes:
+- `add`: Renames the new file if a file with the same name exists
+- `force`: Overwrites the existing file
+
+=== Optional Headers
+
+In the header, you can optionally set the `file` / `ce-file` property to specify the name of the file to upload.
+
+If you do not set the property in the header, the Kamelet uses a default naming convention.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/dropbox-source-description.adoc b/docs/modules/ROOT/partials/dropbox-source-description.adoc
new file mode 100644
index 000000000..f18a523d5
--- /dev/null
+++ b/docs/modules/ROOT/partials/dropbox-source-description.adoc
@@ -0,0 +1,75 @@
+== Dropbox Source Kamelet Description
+
+This Kamelet consumes files from Dropbox by periodically searching for files matching specified criteria, downloading them, and then deleting them from Dropbox after processing.
+
+=== Authentication methods
+
+This Kamelet requires Dropbox authentication using:
+
+- **accessToken**: OAuth 2.0 access token for Dropbox API access
+- **clientIdentifier**: Your Dropbox App client identifier
+
+To obtain these credentials:
+
+1. Create a Dropbox App in the https://www.dropbox.com/developers/apps[Dropbox App Console]
+2. Generate an access token for your app
+3. Use the App Key as the client identifier
+
+=== Configuration requirements
+
+The Kamelet requires the following mandatory properties:
+
+- **period**: Polling interval in milliseconds (default: 10000)
+- **accessToken**: Dropbox OAuth access token
+- **clientIdentifier**: Dropbox App client identifier
+- **remotePath**: The folder path in Dropbox to search
+- **query**: Search query to filter files
+
+=== File processing behavior
+
+The Kamelet follows this process:
+
+1. Searches for files in the specified Dropbox path using the query
+2. Downloads each matching file
+3. Sends the file content to the sink
+4. Deletes the file from Dropbox after successful processing
+
+WARNING: Files are permanently deleted from Dropbox after processing. Ensure you have backups if needed.
+
+=== Usage examples
+
+Basic file consumption from a Dropbox folder:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:dropbox-source"
+      parameters:
+        accessToken: "your-oauth-token"
+        clientIdentifier: "your-app-key"
+        remotePath: "/inbox"
+        query: ".txt"
+        period: 30000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Search for specific file types:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:dropbox-source"
+      parameters:
+        accessToken: "your-oauth-token"
+        clientIdentifier: "your-app-key"
+        remotePath: "/documents"
+        query: "invoice .pdf"
+        period: 60000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/earthquake-source-description.adoc b/docs/modules/ROOT/partials/earthquake-source-description.adoc
new file mode 100644
index 000000000..e35bd6352
--- /dev/null
+++ b/docs/modules/ROOT/partials/earthquake-source-description.adoc
@@ -0,0 +1,73 @@
+== Earthquake Source Kamelet Description
+
+This Kamelet provides real-time earthquake data from the United States Geological Survey (USGS) API. It periodically fetches information about current earthquake events happening worldwide and outputs each earthquake as a separate JSON message.
+
+=== Output format
+
+The Kamelet outputs earthquake data in JSON format. Each message contains details about a single earthquake event, including:
+
+- Geographic coordinates (latitude, longitude)
+- Magnitude and depth
+- Time of occurrence
+- Location description
+- Additional metadata from USGS
+
+=== Data source
+
+The Kamelet uses the official USGS Earthquake API at `https://earthquake.usgs.gov/fdsnws/event/1/query` to retrieve earthquake data in GeoJSON format.
+
+=== Configuration options
+
+- **period**: Polling interval in milliseconds (default: 60000 = 1 minute)
+- **lookAhead**: When starting fresh, how many minutes back to look for earthquakes (default: 120 minutes)
+
+=== Caching mechanism
+
+The Kamelet maintains state to avoid duplicate earthquake reports by:
+
+1. Caching the timestamp of the last update
+2. Only fetching earthquakes that occurred after the last known update
+3. Using the USGS API's `updatedafter` parameter for efficient filtering
+
+=== Usage examples
+
+Basic earthquake monitoring with default settings:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:earthquake-source"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Custom polling interval and look-ahead period:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:earthquake-source"
+      parameters:
+        period: 300000
+        lookAhead: 60
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Filter earthquakes by magnitude in the route:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:earthquake-source"
+      steps:
+        - filter:
+            simple: "${jsonpath($.properties.mag)} >= 4.0"
+        - to:
+            uri: "kamelet:log-sink"
+----
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/elasticsearch-index-sink-description.adoc b/docs/modules/ROOT/partials/elasticsearch-index-sink-description.adoc
new file mode 100644
index 000000000..3be25f039
--- /dev/null
+++ b/docs/modules/ROOT/partials/elasticsearch-index-sink-description.adoc
@@ -0,0 +1,28 @@
+== ElasticSearch Index Sink Kamelet Description
+
+=== Input Format
+
+This Kamelet expects JSON-formatted data as input and outputs plain text responses.
+
+=== Authentication
+
+This Kamelet supports username and password authentication for connecting to ElasticSearch clusters.
+
+=== SSL Configuration
+
+SSL connection is enabled by default. You can provide a base64-encoded certificate for secure connections to your ElasticSearch cluster.
+
+=== Index Configuration
+
+You can specify:
+- Cluster name (required)
+- Host addresses in `ip:port` format (required)
+- Index name for storing documents
+
+=== Optional Headers
+
+The Kamelet supports the following optional headers:
+- `indexId` / `ce-indexid`: To specify the document ID for indexing
+- `indexName` / `ce-indexname`: To override the configured index name
+
+Both headers are optional and will use configured defaults if not provided.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/elasticsearch-search-source-description.adoc b/docs/modules/ROOT/partials/elasticsearch-search-source-description.adoc
new file mode 100644
index 000000000..5e7827ba6
--- /dev/null
+++ b/docs/modules/ROOT/partials/elasticsearch-search-source-description.adoc
@@ -0,0 +1,95 @@
+== ElasticSearch Search Source Kamelet Description
+
+This Kamelet performs periodic searches on an ElasticSearch cluster using a specified query and returns the search results as JSON messages.
+
+=== Authentication methods
+
+The Kamelet supports multiple authentication options:
+
+- **Basic Authentication**: Use `user` and `password` parameters
+- **SSL/TLS**: Enable secure connections with `enableSSL` (default: true)
+- **Certificate Authentication**: Provide a base64-encoded certificate via the `certificate` parameter
+
+=== Output format
+
+The Kamelet outputs search results in JSON format using the Gson library. Each search operation returns the complete ElasticSearch response including hits, metadata, and aggregations.
+
+=== Configuration requirements
+
+The Kamelet requires the following mandatory properties:
+
+- **query**: ElasticSearch query to execute
+- **clusterName**: Name of the ElasticSearch cluster
+- **indexName**: Index to search against
+- **hostAddresses**: Comma-separated list of host:port addresses
+
+=== Connection security
+
+For production environments, consider:
+
+- Using SSL connections (`enableSSL: true`)
+- Providing proper authentication credentials
+- Using certificate-based authentication for enhanced security
+
+=== Usage examples
+
+Basic ElasticSearch search with authentication:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:elasticsearch-search-source"
+      parameters:
+        query: '{"query": {"match_all": {}}}'
+        clusterName: "my-cluster"
+        indexName: "my-index"
+        hostAddresses: "localhost:9200"
+        user: "elastic"
+        password: "changeme"
+        period: 30000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Search with specific query and SSL:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:elasticsearch-search-source"
+      parameters:
+        query: '{"query": {"term": {"status": "active"}}, "size": 100}'
+        clusterName: "production-cluster"
+        indexName: "users"
+        hostAddresses: "es-node1:9200,es-node2:9200"
+        enableSSL: true
+        user: "search-user"
+        password: "secure-password"
+        period: 60000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Search with certificate authentication:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:elasticsearch-search-source"
+      parameters:
+        query: '{"query": {"range": {"timestamp": {"gte": "now-1h"}}}}'
+        clusterName: "secure-cluster"
+        indexName: "logs"
+        hostAddresses: "es.example.com:9200"
+        enableSSL: true
+        certificate: "LS0tLS1CRUdJTi... (base64 encoded certificate)"
+        period: 10000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/exec-sink-description.adoc b/docs/modules/ROOT/partials/exec-sink-description.adoc
new file mode 100644
index 000000000..fec2feb94
--- /dev/null
+++ b/docs/modules/ROOT/partials/exec-sink-description.adoc
@@ -0,0 +1,18 @@
+== Exec Sink Kamelet Description
+
+=== Command Execution
+
+This Kamelet executes system commands on the local machine. It requires an executable command to be specified.
+
+=== Optional Headers
+
+The Kamelet supports the following optional headers:
+- `args` / `ce-args`: Command line arguments to pass to the executable
+
+=== Output
+
+The Kamelet returns the standard output (stdout) of the executed command as the response body.
+
+=== Security Considerations
+
+Use this Kamelet with caution as it executes system commands. Ensure proper validation and security measures are in place when using dynamic command execution.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/fhir-sink-description.adoc b/docs/modules/ROOT/partials/fhir-sink-description.adoc
new file mode 100644
index 000000000..84a9c5543
--- /dev/null
+++ b/docs/modules/ROOT/partials/fhir-sink-description.adoc
@@ -0,0 +1,34 @@
+== FHIR Sink Kamelet Description
+
+=== FHIR Operations
+
+This Kamelet supports various FHIR operations including CREATE, READ, UPDATE, DELETE, SEARCH, and others. You must specify both the API name and method name for the operation.
+
+=== FHIR Versions
+
+Supports multiple FHIR versions:
+- DSTU2, DSTU2_HL7ORG, DSTU2_1
+- DSTU3
+- R4 (default)
+- R5
+
+=== Data Encoding
+
+Supports both JSON (default) and XML encoding for FHIR resources. The Kamelet automatically handles marshalling and unmarshalling based on the configured encoding.
+
+=== Authentication
+
+Supports multiple authentication methods:
+- OAuth 2.0 access tokens
+- Basic authentication with username and password
+
+=== Proxy Support
+
+The Kamelet can be configured to work through HTTP proxies with optional authentication.
+
+=== Configuration Options
+
+Additional configuration includes:
+- Pretty printing for requests
+- Request/response logging
+- Lazy producer startup
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/fhir-source-description.adoc b/docs/modules/ROOT/partials/fhir-source-description.adoc
new file mode 100644
index 000000000..8e38e4f93
--- /dev/null
+++ b/docs/modules/ROOT/partials/fhir-source-description.adoc
@@ -0,0 +1,60 @@
+== FHIR Source Kamelet Description
+
+=== Authentication
+
+This Kamelet requires username and password authentication to access the FHIR server. The credentials are configured through the `username` and `password` properties.
+
+=== Configuration
+
+The FHIR Source Kamelet supports the following configurations:
+
+- **Server URL**: The FHIR server URL endpoint (required)
+- **Resource URL**: The FHIR resource type URL (default: "/Patient")
+- **Encoding**: Response encoding format - JSON or XML (default: "JSON")
+- **FHIR Version**: The FHIR specification version to use (default: "R4")
+- **Pretty Print**: Whether to format JSON responses for readability (default: true)
+
+=== Output Format
+
+The Kamelet outputs data in JSON format, marshalling FHIR resources according to the specified FHIR version and pretty print settings.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:fhir-source"
+      parameters:
+        serverUrl: "https://hapi.fhir.org/baseR4"
+        username: "your-username"
+        password: "your-password"
+        url: "/Patient"
+        fhirVersion: "R4"
+        encoding: "JSON"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Different Resource Type
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:fhir-source"
+      parameters:
+        serverUrl: "https://hapi.fhir.org/baseR4"
+        username: "your-username"
+        password: "your-password"
+        url: "/Observation"
+        fhirVersion: "R4"
+        encoding: "JSON"
+        prettyPrint: false
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+This example searches for Observation resources from the FHIR server with compact JSON output.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/file-watch-source-description.adoc b/docs/modules/ROOT/partials/file-watch-source-description.adoc
new file mode 100644
index 000000000..9be3e3ada
--- /dev/null
+++ b/docs/modules/ROOT/partials/file-watch-source-description.adoc
@@ -0,0 +1,75 @@
+== File Watch Source Kamelet Description
+
+=== Configuration
+
+The File Watch Source Kamelet monitors files or directories for changes and emits events when specific filesystem events occur. It requires the following configuration:
+
+- **File Path**: The path to the file or directory to monitor (required)
+- **Events**: The types of filesystem events to watch for (default: "CREATE,MODIFY,DELETE")
+
+=== Event Types
+
+The kamelet can monitor for the following types of filesystem events:
+
+- **CREATE**: Triggered when a new file or directory is created
+- **MODIFY**: Triggered when an existing file or directory is modified
+- **DELETE**: Triggered when a file or directory is deleted
+
+You can specify multiple events by separating them with commas.
+
+=== Output Format
+
+The kamelet outputs filesystem event information including details about the type of event and the affected file or directory path.
+
+=== Volume Mounting
+
+When deployed on Kubernetes, this kamelet may require volume mounting to access the filesystem paths you want to monitor. Ensure the appropriate volumes are mounted to the pod running the integration.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:file-watch-source"
+      parameters:
+        filePath: "/tmp/watched-directory"
+        events: "CREATE,MODIFY,DELETE"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Monitor Specific Events
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:file-watch-source"
+      parameters:
+        filePath: "/var/log/application.log"
+        events: "MODIFY"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+This example only monitors for modifications to a specific log file.
+
+=== Monitor Multiple Event Types
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:file-watch-source"
+      parameters:
+        filePath: "/home/user/documents"
+        events: "CREATE,DELETE"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+This example monitors for file creation and deletion events in the documents directory.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/ftp-sink-description.adoc b/docs/modules/ROOT/partials/ftp-sink-description.adoc
new file mode 100644
index 000000000..ba08ab0a5
--- /dev/null
+++ b/docs/modules/ROOT/partials/ftp-sink-description.adoc
@@ -0,0 +1,26 @@
+== FTP Sink Kamelet Description
+
+=== Authentication
+
+This Kamelet uses username and password authentication to connect to FTP servers.
+
+=== Connection Configuration
+
+Requires:
+- Connection host (FTP server hostname)
+- Connection port (defaults to 21)
+- Username and password credentials
+- Directory name for file operations
+
+=== File Transfer Options
+
+- **Transfer Mode**: ASCII (default) or Binary mode
+- **Passive Mode**: Can be enabled for firewall compatibility
+- **File Existence Handling**: Override (default), Append, Fail, or Ignore
+- **Auto-create Directories**: Automatically creates missing directories (enabled by default)
+
+=== Optional Headers
+
+In the header, you can optionally set the `file` / `ce-file` property to specify the name of the file to upload.
+
+If you do not set the property in the header, the Kamelet uses a default naming convention.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/ftp-source-description.adoc b/docs/modules/ROOT/partials/ftp-source-description.adoc
new file mode 100644
index 000000000..53f0e23ab
--- /dev/null
+++ b/docs/modules/ROOT/partials/ftp-source-description.adoc
@@ -0,0 +1,88 @@
+== FTP Source Kamelet Description
+
+=== Authentication
+
+This Kamelet requires username and password authentication to access the FTP server. The credentials are configured through the `username` and `password` properties.
+
+=== Configuration
+
+The FTP Source Kamelet supports the following configurations:
+
+- **Connection Host**: The hostname or IP address of the FTP server (required)
+- **Connection Port**: The port number of the FTP server (default: 21)
+- **Username**: Username for FTP authentication (required)
+- **Password**: Password for FTP authentication (required)
+- **Directory Name**: The starting directory path on the FTP server (required)
+- **Passive Mode**: Use passive mode for FTP connections (default: false)
+- **Recursive**: Process files in subdirectories (default: false)
+- **Idempotent**: Skip already-processed files (default: true)
+- **Binary**: Use binary transfer mode instead of ASCII (default: false)
+- **Auto Create**: Automatically create the starting directory if it doesn't exist (default: true)
+- **Delete**: Delete files after successful processing (default: false)
+
+=== Output Format
+
+The Kamelet outputs file content as an `InputStream` and sets headers with file information:
+- `file`: The name of the processed file
+- `ce-file`: Cloud Events compatible file name header
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:ftp-source"
+      parameters:
+        connectionHost: "ftp.example.com"
+        connectionPort: "21"
+        username: "ftpuser"
+        password: "ftppass"
+        directoryName: "/incoming"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Passive Mode and Recursive Processing
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:ftp-source"
+      parameters:
+        connectionHost: "ftp.example.com"
+        connectionPort: "21"
+        username: "ftpuser"
+        password: "ftppass"
+        directoryName: "/data"
+        passiveMode: true
+        recursive: true
+        binary: true
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with File Deletion
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:ftp-source"
+      parameters:
+        connectionHost: "ftp.example.com"
+        connectionPort: "21"
+        username: "ftpuser"
+        password: "ftppass"
+        directoryName: "/processed"
+        delete: true
+        idempotent: false
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+This example deletes files after processing and disables idempotency to allow re-processing of files with the same name.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/ftps-sink-description.adoc b/docs/modules/ROOT/partials/ftps-sink-description.adoc
new file mode 100644
index 000000000..329847679
--- /dev/null
+++ b/docs/modules/ROOT/partials/ftps-sink-description.adoc
@@ -0,0 +1,30 @@
+== FTPS Sink Kamelet Description
+
+=== Authentication
+
+This Kamelet uses username and password authentication to connect to FTPS (FTP over SSL/TLS) servers.
+
+=== Secure Connection
+
+FTPS provides secure file transfer over encrypted connections using SSL/TLS protocols.
+
+=== Connection Configuration
+
+Requires:
+- Connection host (FTPS server hostname)
+- Connection port (defaults to 21)
+- Username and password credentials
+- Directory name for file operations
+
+=== File Transfer Options
+
+- **Transfer Mode**: ASCII (default) or Binary mode
+- **Passive Mode**: Can be enabled for firewall compatibility
+- **File Existence Handling**: Override (default), Append, Fail, or Ignore
+- **Auto-create Directories**: Automatically creates missing directories (enabled by default)
+
+=== Optional Headers
+
+In the header, you can optionally set the `file` / `ce-file` property to specify the name of the file to upload.
+
+If you do not set the property in the header, the Kamelet uses a default naming convention.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/ftps-source-description.adoc b/docs/modules/ROOT/partials/ftps-source-description.adoc
new file mode 100644
index 000000000..77f4986fe
--- /dev/null
+++ b/docs/modules/ROOT/partials/ftps-source-description.adoc
@@ -0,0 +1,72 @@
+== FTPS Source Kamelet Description
+
+=== Authentication
+
+This Kamelet requires username and password authentication to access the FTPS server. FTPS provides FTP with SSL/TLS encryption for secure file transfer. The credentials are configured through the `username` and `password` properties.
+
+=== Configuration
+
+The FTPS Source Kamelet supports the following configurations:
+
+- **Connection Host**: The hostname or IP address of the FTPS server (required)
+- **Connection Port**: The port number of the FTPS server (default: 21)
+- **Username**: Username for FTPS authentication (required)
+- **Password**: Password for FTPS authentication (required)
+- **Directory Name**: The starting directory path on the FTPS server (required)
+- **Passive Mode**: Use passive mode for FTPS connections (default: false)
+- **Recursive**: Process files in subdirectories (default: false)
+- **Idempotent**: Skip already-processed files (default: true)
+- **Binary**: Use binary transfer mode instead of ASCII (default: false)
+- **Auto Create**: Automatically create the starting directory if it doesn't exist (default: true)
+- **Delete**: Delete files after successful processing (default: false)
+
+=== Output Format
+
+The Kamelet outputs file content as an `InputStream` and sets headers with file information:
+- `file`: The name of the processed file
+- `ce-file`: Cloud Events compatible file name header
+
+=== Security
+
+FTPS provides enhanced security over standard FTP by encrypting the connection using SSL/TLS. This ensures that credentials and data are transmitted securely.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:ftps-source"
+      parameters:
+        connectionHost: "ftps.example.com"
+        connectionPort: "21"
+        username: "ftpsuser"
+        password: "ftpspass"
+        directoryName: "/secure-incoming"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Passive Mode and Binary Transfer
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:ftps-source"
+      parameters:
+        connectionHost: "ftps.example.com"
+        connectionPort: "990"
+        username: "ftpsuser"
+        password: "ftpspass"
+        directoryName: "/data"
+        passiveMode: true
+        binary: true
+        recursive: true
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+This example uses port 990 (common for implicit FTPS), enables passive mode, binary transfer, and recursive directory processing.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/github-commit-source-description.adoc b/docs/modules/ROOT/partials/github-commit-source-description.adoc
new file mode 100644
index 000000000..d32d80ed8
--- /dev/null
+++ b/docs/modules/ROOT/partials/github-commit-source-description.adoc
@@ -0,0 +1,48 @@
+== GitHub Commit Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses OAuth token-based authentication to connect to GitHub. You need to provide:
+
+- A valid OAuth token with appropriate repository permissions
+- The repository name and owner information
+
+=== Output format
+
+The Kamelet produces commit data in JSON format containing commit information from the specified GitHub repository and branch.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `repoName`: The GitHub repository name
+- `repoOwner`: The repository owner (user or organization)
+- `oauthToken`: OAuth token for authentication
+- `startingSha`: SHA from which to start consuming (beginning, last, or specific SHA)
+- `branch`: The branch to consume commits from
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: github-commit-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: github-commit-source
+    properties:
+      repoName: "my-repository"
+      repoOwner: "my-organization"
+      oauthToken: "{{oauth-token}}"
+      startingSha: "last"
+      branch: "main"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/github-event-source-description.adoc b/docs/modules/ROOT/partials/github-event-source-description.adoc
new file mode 100644
index 000000000..b8b3b8200
--- /dev/null
+++ b/docs/modules/ROOT/partials/github-event-source-description.adoc
@@ -0,0 +1,44 @@
+== GitHub Event Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses OAuth token-based authentication to connect to GitHub. You need to provide:
+
+- A valid OAuth token with appropriate repository permissions
+- The repository name and owner information
+
+=== Output format
+
+The Kamelet produces event data in JSON format containing various GitHub repository events such as pushes, issues, pull requests, and other repository activities.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `repoName`: The GitHub repository name
+- `repoOwner`: The repository owner (user or organization)
+- `oauthToken`: OAuth token for authentication
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: github-event-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: github-event-source
+    properties:
+      repoName: "my-repository"
+      repoOwner: "my-organization"
+      oauthToken: "{{oauth-token}}"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/github-pullrequest-comment-source-description.adoc b/docs/modules/ROOT/partials/github-pullrequest-comment-source-description.adoc
new file mode 100644
index 000000000..0f872eca0
--- /dev/null
+++ b/docs/modules/ROOT/partials/github-pullrequest-comment-source-description.adoc
@@ -0,0 +1,44 @@
+== GitHub Pull Request Comments Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses OAuth token-based authentication to connect to GitHub. You need to provide:
+
+- A valid OAuth token with appropriate repository permissions
+- The repository name and owner information
+
+=== Output format
+
+The Kamelet produces pull request comment data in JSON format containing comment information from GitHub pull requests in the specified repository.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `repoName`: The GitHub repository name
+- `repoOwner`: The repository owner (user or organization)
+- `oauthToken`: OAuth token for authentication
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: github-pullrequest-comment-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: github-pullrequest-comment-source
+    properties:
+      repoName: "my-repository"
+      repoOwner: "my-organization"
+      oauthToken: "{{oauth-token}}"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/github-pullrequest-source-description.adoc b/docs/modules/ROOT/partials/github-pullrequest-source-description.adoc
new file mode 100644
index 000000000..460417aef
--- /dev/null
+++ b/docs/modules/ROOT/partials/github-pullrequest-source-description.adoc
@@ -0,0 +1,44 @@
+== GitHub Pull Request Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses OAuth token-based authentication to connect to GitHub. You need to provide:
+
+- A valid OAuth token with appropriate repository permissions
+- The repository name and owner information
+
+=== Output format
+
+The Kamelet produces pull request data in JSON format containing pull request information from the specified GitHub repository.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `repoName`: The GitHub repository name
+- `repoOwner`: The repository owner (user or organization)
+- `oauthToken`: OAuth token for authentication
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: github-pullrequest-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: github-pullrequest-source
+    properties:
+      repoName: "my-repository"
+      repoOwner: "my-organization"
+      oauthToken: "{{oauth-token}}"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/github-tag-source-description.adoc b/docs/modules/ROOT/partials/github-tag-source-description.adoc
new file mode 100644
index 000000000..54d494eac
--- /dev/null
+++ b/docs/modules/ROOT/partials/github-tag-source-description.adoc
@@ -0,0 +1,44 @@
+== GitHub Tag Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses OAuth token-based authentication to connect to GitHub. You need to provide:
+
+- A valid OAuth token with appropriate repository permissions
+- The repository name and owner information
+
+=== Output format
+
+The Kamelet produces tag data in JSON format containing tag information from the specified GitHub repository.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `repoName`: The GitHub repository name
+- `repoOwner`: The repository owner (user or organization)
+- `oauthToken`: OAuth token for authentication
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: github-tag-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: github-tag-source
+    properties:
+      repoName: "my-repository"
+      repoOwner: "my-organization"
+      oauthToken: "{{oauth-token}}"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/google-bigquery-sink-description.adoc b/docs/modules/ROOT/partials/google-bigquery-sink-description.adoc
new file mode 100644
index 000000000..5c2eb4122
--- /dev/null
+++ b/docs/modules/ROOT/partials/google-bigquery-sink-description.adoc
@@ -0,0 +1,20 @@
+== Google Big Query Sink Kamelet Description
+
+=== Authentication
+
+This Kamelet uses Google Cloud service account authentication. You must provide a base64-encoded service account key for BigQuery access.
+
+=== Input Format
+
+This Kamelet expects JSON-formatted data as input for insertion into BigQuery tables.
+
+=== Required Configuration
+
+- **Project ID**: The Google Cloud Project ID
+- **Dataset**: The Big Query Dataset ID
+- **Table**: The Big Query Table ID
+- **Service Account Key**: Base64-encoded service account credentials
+
+=== Data Processing
+
+The Kamelet automatically unmarshals JSON data using Jackson before sending it to the specified BigQuery table.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/google-calendar-source-description.adoc b/docs/modules/ROOT/partials/google-calendar-source-description.adoc
new file mode 100644
index 000000000..c740b0aa0
--- /dev/null
+++ b/docs/modules/ROOT/partials/google-calendar-source-description.adoc
@@ -0,0 +1,78 @@
+== Google Calendar Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses OAuth 2.0 authentication to connect to Google Calendar. You need to provide:
+
+- Client ID and Client Secret from your Google Cloud Console application
+- Access Token for immediate access (typically expires after an hour)
+- Refresh Token for long-term usage (allows automatic token renewal)
+- Application Name registered in Google Cloud Console
+
+=== Output format
+
+The Kamelet produces calendar event data in JSON format. It supports two output data types:
+
+- **json**: Json representation of a Google Calendar event object
+- **cloudevents**: Output data as CloudEvent V1 format with specific headers
+
+=== Headers
+
+When processing calendar events, the following headers are set:
+
+- `CamelGoogleCalendarEventId`: The calendar event id
+
+For CloudEvents output format, additional headers are set:
+- `CamelCloudEventID`: The Camel exchange id set as event id
+- `CamelCloudEventType`: The event type (default: "org.apache.camel.event.google.calendar.stream.consume")
+- `CamelCloudEventSource`: The event source (Calendar Event Id with prefix "google.calendar.stream.")
+- `CamelCloudEventSubject`: The event subject (Calendar event type)
+- `CamelCloudEventTime`: The exchange creation timestamp as event time
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `index`: An index for the Google Calendar endpoint
+- `calendarId`: The calendar ID to use as the source of event data
+- `clientId`: The Client ID of the Google Calendar application
+- `clientSecret`: The Client secret of the Google Calendar application
+- `accessToken`: The OAuth 2 access token
+- `refreshToken`: The OAuth 2 refresh token for long term usage
+- `applicationName`: The Google Calendar application name
+
+Optional parameters:
+- `delay`: The number of milliseconds before the next poll (default: 500)
+- `syncFlow`: Specifies to sync events for incremental synchronization (default: false)
+- `consumeFromNow`: Specifies to consume events in the calendar from now on (default: true)
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: google-calendar-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: google-calendar-source
+    properties:
+      index: "events"
+      calendarId: "primary"
+      clientId: "{{client-id}}"
+      clientSecret: "{{client-secret}}"
+      accessToken: "{{access-token}}"
+      refreshToken: "{{refresh-token}}"
+      applicationName: "My Calendar App"
+      delay: 1000
+      syncFlow: true
+      consumeFromNow: true
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/google-functions-sink-description.adoc b/docs/modules/ROOT/partials/google-functions-sink-description.adoc
new file mode 100644
index 000000000..f5bc9b792
--- /dev/null
+++ b/docs/modules/ROOT/partials/google-functions-sink-description.adoc
@@ -0,0 +1,16 @@
+== Google Functions Sink Kamelet Description
+
+=== Authentication
+
+This Kamelet uses Google Cloud service account authentication. You must provide a base64-encoded service account key for Google Cloud Functions access.
+
+=== Required Configuration
+
+- **Project ID**: The Google Cloud Functions Project ID
+- **Region**: The region where Google Cloud Functions has been deployed
+- **Function Name**: The specific function name to invoke
+- **Service Account Key**: Base64-encoded service account credentials
+
+=== Function Invocation
+
+The Kamelet sends data to the specified Google Cloud Function, enabling serverless processing of your data streams.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/google-mail-source-description.adoc b/docs/modules/ROOT/partials/google-mail-source-description.adoc
new file mode 100644
index 000000000..34e43f6bd
--- /dev/null
+++ b/docs/modules/ROOT/partials/google-mail-source-description.adoc
@@ -0,0 +1,83 @@
+== Google Mail Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses OAuth 2.0 authentication to connect to Google Mail. You need to provide:
+
+- Client ID and Client Secret from your Google Cloud Console application
+- Access Token for immediate access (typically expires after an hour)
+- Refresh Token for long-term usage (allows automatic token renewal)
+- Application Name registered in Google Cloud Console
+
+=== Output format
+
+The Kamelet produces mail data in JSON format. It supports two output data types:
+
+- **json**: Json representation of a Google Mail event object
+- **cloudevents**: Output data as CloudEvent V1 format with specific headers
+
+=== Headers
+
+When processing mail messages, the following headers are set:
+
+- `CamelGoogleMailId`: The ID of the message
+- `CamelGoogleMailStreamTo`: The recipient of the message
+- `CamelGoogleMailStreamFrom`: The emitter of the message
+- `CamelGoogleMailStreamCc`: The carbon copy of the message
+- `CamelGoogleMailStreamBcc`: The blind carbon copy of the message
+- `CamelGoogleMailStreamSubject`: The subject of the message
+
+For CloudEvents output format, additional headers are set:
+- `CamelCloudEventID`: The Camel exchange id set as event id
+- `CamelCloudEventType`: The event type (default: "org.apache.camel.event.google.mail.stream.consume")
+- `CamelCloudEventSource`: The event source (Mail From with prefix "google.mail.stream.")
+- `CamelCloudEventSubject`: The event subject
+- `CamelCloudEventTime`: The exchange creation timestamp as event time
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `index`: An index for the google mail endpoint
+- `clientId`: Client ID of the gmail application
+- `clientSecret`: Client Secret of the gmail application
+- `accessToken`: OAuth 2 access token
+- `refreshToken`: OAuth 2 refresh token for long term usage
+- `applicationName`: Google Mail application name
+
+Optional parameters:
+- `delay`: The number of milliseconds before the next poll (default: 500)
+- `markAsRead`: Mark the message as read once it has been consumed (default: true)
+- `labels`: Comma separated list of labels to take into account (example: "inbox")
+- `query`: The query to execute on gmail box (default: "is:unread", example: "is:unread -category:(promotions OR social)")
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: google-mail-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: google-mail-source
+    properties:
+      index: "messages"
+      clientId: "{{client-id}}"
+      clientSecret: "{{client-secret}}"
+      accessToken: "{{access-token}}"
+      refreshToken: "{{refresh-token}}"
+      applicationName: "My Mail App"
+      delay: 1000
+      markAsRead: true
+      labels: "inbox"
+      query: "is:unread -category:(promotions OR social)"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/google-pubsub-sink-description.adoc b/docs/modules/ROOT/partials/google-pubsub-sink-description.adoc
new file mode 100644
index 000000000..0c89d46c3
--- /dev/null
+++ b/docs/modules/ROOT/partials/google-pubsub-sink-description.adoc
@@ -0,0 +1,18 @@
+== Google Pubsub Sink Kamelet Description
+
+=== Authentication
+
+This Kamelet supports Google Cloud authentication through service account keys. The service account key is optional - if not provided, the Kamelet will use default credentials.
+
+=== Required Configuration
+
+- **Project ID**: The Google Cloud Pub/Sub Project ID
+- **Destination Name**: The Pub/Sub topic name to publish messages to
+
+=== Optional Configuration
+
+- **Service Account Key**: Base64-encoded service account credentials (optional)
+
+=== Message Publishing
+
+The Kamelet publishes messages to the specified Google Cloud Pub/Sub topic, enabling reliable message delivery and processing across distributed systems.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/google-pubsub-source-description.adoc b/docs/modules/ROOT/partials/google-pubsub-source-description.adoc
new file mode 100644
index 000000000..e259922ea
--- /dev/null
+++ b/docs/modules/ROOT/partials/google-pubsub-source-description.adoc
@@ -0,0 +1,53 @@
+== Google Pubsub Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses Service Account Key authentication to connect to Google Cloud Pub/Sub. You need to provide:
+
+- A service account key encoded in base64 format
+- The Google Cloud Project ID
+- The subscription name from which to consume messages
+
+=== Output format
+
+The Kamelet consumes messages from Google Cloud Pub/Sub and produces the message data in JSON format.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `projectId`: The Google Cloud Pub/Sub Project ID
+- `subscriptionName`: The subscription name
+
+Optional parameters:
+- `serviceAccountKey`: The service account key to use as credentials (must be base64 encoded)
+- `synchronousPull`: Specifies to synchronously pull batches of messages (default: false)
+- `maxMessagesPerPoll`: The maximum number of messages to receive from the server in a single API call (default: 1)
+- `concurrentConsumers`: The number of parallel streams to consume from the subscription (default: 1)
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: google-pubsub-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: google-pubsub-source
+    properties:
+      projectId: "my-gcp-project"
+      subscriptionName: "my-subscription"
+      serviceAccountKey: "{{service-account-key-base64}}"
+      synchronousPull: true
+      maxMessagesPerPoll: 10
+      concurrentConsumers: 2
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/google-sheets-sink-description.adoc b/docs/modules/ROOT/partials/google-sheets-sink-description.adoc
new file mode 100644
index 000000000..da63c9651
--- /dev/null
+++ b/docs/modules/ROOT/partials/google-sheets-sink-description.adoc
@@ -0,0 +1,34 @@
+== Google Sheets Sink Kamelet Description
+
+=== Authentication
+
+This Kamelet uses OAuth 2.0 authentication with Google Sheets API. You need to provide:
+- Client ID and Client Secret from your Google Cloud Console application
+- Access Token (typically expires after an hour)
+- Refresh Token for long-term usage (recommended)
+
+=== Input Format
+
+This Kamelet expects JSON data that will be transformed into Google Sheets ValueRange format.
+
+=== Operation Modes
+
+- **Update**: Updates existing data in specified cells
+- **Append**: Appends new data to the spreadsheet (default)
+
+=== Configuration Options
+
+- **Spreadsheet ID**: The unique identifier for your Google Sheets spreadsheet
+- **Range**: Cell range specification (e.g., "A1:B3")
+- **Major Dimension**: ROWS (default) or COLUMNS
+- **Column Names**: Custom column mappings
+- **Value Input Option**: USER_ENTERED (default) or RAW
+
+=== Headers Support
+
+The Kamelet supports various headers to override configuration:
+- `CamelGoogleSheets.range`: Override the cell range
+- `CamelGoogleSheets.spreadsheetId`: Override spreadsheet ID
+- `CamelGoogleSheets.majorDimension`: Override major dimension
+- `CamelGoogleSheets.columnNames`: Override column names
+- `CamelGoogleSheets.valueInputOption`: Override value input option
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/google-sheets-source-description.adoc b/docs/modules/ROOT/partials/google-sheets-source-description.adoc
new file mode 100644
index 000000000..1f7b03e42
--- /dev/null
+++ b/docs/modules/ROOT/partials/google-sheets-source-description.adoc
@@ -0,0 +1,50 @@
+== Google Sheets Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses OAuth 2.0 authentication to connect to Google Sheets. You need to provide:
+
+- Client ID and Client Secret from your Google Cloud Console application
+- Access Token for immediate access (typically expires after an hour)
+- Refresh Token for long-term usage (allows automatic token renewal)
+- The Spreadsheet ID from which to read data
+
+=== Output format
+
+The Kamelet produces spreadsheet data in JSON format from the specified Google Sheets document.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `spreadsheetId`: The Spreadsheet ID to be used as events source
+- `clientId`: Client ID of the sheets application
+- `clientSecret`: Client Secret of the sheets application
+- `accessToken`: OAuth 2 access token
+- `refreshToken`: OAuth 2 refresh token for long term usage
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: google-sheets-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: google-sheets-source
+    properties:
+      spreadsheetId: "1BxEBc3z8Zm4x7_5uW9QdQpVmW8QFvOoE"
+      clientId: "{{client-id}}"
+      clientSecret: "{{client-secret}}"
+      accessToken: "{{access-token}}"
+      refreshToken: "{{refresh-token}}"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/google-storage-event-based-source-description.adoc b/docs/modules/ROOT/partials/google-storage-event-based-source-description.adoc
new file mode 100644
index 000000000..62d221246
--- /dev/null
+++ b/docs/modules/ROOT/partials/google-storage-event-based-source-description.adoc
@@ -0,0 +1,56 @@
+== Google Storage Event-based Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses Service Account Key authentication to connect to Google Cloud Pub/Sub for receiving Google Storage bucket events. You need to provide:
+
+- A service account key encoded in base64 format
+- The Google Cloud Project ID
+- The subscription name configured to receive storage events
+- The bucket name or ARN for which events are monitored
+
+=== Output format
+
+The Kamelet receives data from Google Pub/Sub reporting events related to a Google Storage bucket and produces the event data in JSON format.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `projectId`: The Google Cloud Pub/Sub Project ID
+- `subscriptionName`: The subscription name
+- `serviceAccountKey`: The service account key to use as credentials (must be base64 encoded)
+- `bucketNameOrArn`: The bucket name or ARN for which events are monitored
+
+Optional parameters:
+- `synchronousPull`: Specifies to synchronously pull batches of messages (default: false)
+- `maxMessagesPerPoll`: The maximum number of messages to receive from the server in a single API call
+- `concurrentConsumers`: The number of parallel streams to consume from the subscription
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: google-storage-event-based-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: google-storage-event-based-source
+    properties:
+      projectId: "my-gcp-project"
+      subscriptionName: "storage-events-subscription"
+      serviceAccountKey: "{{service-account-key-base64}}"
+      bucketNameOrArn: "my-storage-bucket"
+      synchronousPull: true
+      maxMessagesPerPoll: 10
+      concurrentConsumers: 2
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/google-storage-sink-description.adoc b/docs/modules/ROOT/partials/google-storage-sink-description.adoc
new file mode 100644
index 000000000..23ca5e32d
--- /dev/null
+++ b/docs/modules/ROOT/partials/google-storage-sink-description.adoc
@@ -0,0 +1,20 @@
+== Google Storage Sink Kamelet Description
+
+=== Authentication
+
+This Kamelet supports Google Cloud service account authentication. The service account key is optional - if not provided, the Kamelet will use default credentials.
+
+=== Required Configuration
+
+- **Bucket Name or ARN**: The Google Cloud Storage bucket name or Amazon Resource Name
+
+=== Optional Configuration
+
+- **Service Account Key**: Base64-encoded service account credentials
+- **Auto Create Bucket**: Automatically creates the bucket if it doesn't exist (defaults to false)
+
+=== Optional Headers
+
+In the header, you can optionally set the `file` / `ce-file` property to specify the name of the object to upload.
+
+If you do not set the property in the header, the Kamelet uses the exchange ID for the object name.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/google-storage-source-description.adoc b/docs/modules/ROOT/partials/google-storage-source-description.adoc
new file mode 100644
index 000000000..eac87d631
--- /dev/null
+++ b/docs/modules/ROOT/partials/google-storage-source-description.adoc
@@ -0,0 +1,50 @@
+== Google Storage Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses Service Account Key authentication to connect to Google Cloud Storage. You need to provide:
+
+- A service account key encoded in base64 format (optional, can use default credentials)
+- The bucket name or Amazon Resource Name (ARN) from which to consume objects
+
+=== Output format
+
+The Kamelet consumes objects from Google Cloud Storage and produces the object data.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `bucketNameOrArn`: The Google Cloud Storage bucket name or Bucket Amazon Resource Name (ARN)
+
+Optional parameters:
+- `serviceAccountKey`: The service account key to use as credentials (must be base64 encoded)
+- `deleteAfterRead`: Specifies to delete objects after consuming them (default: true)
+- `autoCreateBucket`: Specifies to automatically create the Google Cloud Storage bucket (default: false)
+- `prefix`: The prefix which is used in the BlobListOptions to only consume objects we are interested in
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: google-storage-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: google-storage-source
+    properties:
+      bucketNameOrArn: "my-storage-bucket"
+      serviceAccountKey: "{{service-account-key-base64}}"
+      deleteAfterRead: false
+      autoCreateBucket: false
+      prefix: "data/"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/graphql-sink-description.adoc b/docs/modules/ROOT/partials/graphql-sink-description.adoc
new file mode 100644
index 000000000..8fa122c86
--- /dev/null
+++ b/docs/modules/ROOT/partials/graphql-sink-description.adoc
@@ -0,0 +1,17 @@
+== GraphQL Sink Kamelet Description
+
+=== GraphQL Operations
+
+This Kamelet forwards data to GraphQL endpoints for executing queries, mutations, and subscriptions.
+
+=== Required Configuration
+
+- **URL**: The GraphQL server endpoint URL (must be HTTP or HTTPS)
+
+=== Authentication
+
+- **Access Token**: Optional access token for secured GraphQL endpoints
+
+=== Usage
+
+The Kamelet sends data to the specified GraphQL endpoint, enabling integration with GraphQL APIs for data operations and retrieval.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/http-secured-sink-description.adoc b/docs/modules/ROOT/partials/http-secured-sink-description.adoc
new file mode 100644
index 000000000..6bcbc56df
--- /dev/null
+++ b/docs/modules/ROOT/partials/http-secured-sink-description.adoc
@@ -0,0 +1,33 @@
+== Secured HTTP Sink Kamelet Description
+
+=== Authentication Methods
+
+This Kamelet supports multiple authentication methods:
+- **Basic Authentication**: Username and password
+- **Digest Authentication**: Enhanced security over basic auth
+- **NTLM Authentication**: Windows-based authentication
+- **OAuth 2.0**: Client credentials flow with token endpoint
+
+=== HTTP Methods
+
+Supports all standard HTTP methods: GET, POST (default), PUT, DELETE, HEAD, OPTIONS, TRACE, and PATCH.
+
+=== OAuth 2.0 Configuration
+
+For OAuth 2.0 authentication, configure:
+- Client ID and Client Secret
+- Token Endpoint URL
+- OAuth Scope (optional)
+
+=== Authentication Options
+
+- **Preemptive Authentication**: Send credentials with the first request (defaults to false)
+- **Authentication Methods**: Specify allowed methods as comma-separated values
+
+=== Required Configuration
+
+- **URL**: The target HTTP/HTTPS endpoint
+
+=== Headers
+
+The Kamelet automatically sets the HTTP method header and removes any existing CamelHttpUri header to prevent conflicts.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/http-secured-source-description.adoc b/docs/modules/ROOT/partials/http-secured-source-description.adoc
new file mode 100644
index 000000000..29df3d593
--- /dev/null
+++ b/docs/modules/ROOT/partials/http-secured-source-description.adoc
@@ -0,0 +1,48 @@
+== HTTP Secured Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet supports multiple authentication methods:
+
+- OAuth authentication
+- Basic authentication using username and password
+- No authentication (if not specified)
+
+=== Output format
+
+The Kamelet periodically fetches a secured HTTP resource and provides the content as output. The content type is configurable and defaults to application/json.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `url`: The URL to fetch for data
+
+Optional parameters:
+- `period`: The interval between fetches in milliseconds (default: 10000)
+- `contentType`: The content type accepted for the resource (default: "application/json")
+- Authentication parameters (oauth or basic auth credentials)
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: http-secured-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: http-secured-source
+    properties:
+      url: "https://api.example.com/data"
+      period: 30000
+      contentType: "application/json"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/http-sink-description.adoc b/docs/modules/ROOT/partials/http-sink-description.adoc
new file mode 100644
index 000000000..ac3042ff2
--- /dev/null
+++ b/docs/modules/ROOT/partials/http-sink-description.adoc
@@ -0,0 +1,17 @@
+== HTTP Sink Kamelet Description
+
+=== HTTP Methods
+
+Supports all standard HTTP methods: GET, POST (default), PUT, DELETE, HEAD, OPTIONS, TRACE, and PATCH.
+
+=== Required Configuration
+
+- **URL**: The target HTTP or HTTPS endpoint where data will be sent
+
+=== Usage
+
+This Kamelet forwards data to HTTP or HTTPS endpoints without authentication. For secured endpoints requiring authentication, use the HTTP Secured Sink Kamelet instead.
+
+=== Headers
+
+The Kamelet automatically sets the HTTP method header and removes any existing CamelHttpUri header to prevent conflicts.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/http-source-description.adoc b/docs/modules/ROOT/partials/http-source-description.adoc
new file mode 100644
index 000000000..f3320e1f7
--- /dev/null
+++ b/docs/modules/ROOT/partials/http-source-description.adoc
@@ -0,0 +1,71 @@
+== HTTP Source Kamelet Description
+
+=== Configuration
+
+The HTTP Source Kamelet periodically fetches data from an HTTP endpoint. It supports the following configurations:
+
+- **URL**: The HTTP endpoint to fetch data from (required, must start with http:// or https://)
+- **Period**: The interval between fetches in milliseconds (default: 10000)
+- **Content Type**: The Accept header content type for the request (default: "application/json")
+
+=== Authentication
+
+This is the basic HTTP source kamelet without authentication. For secured HTTP endpoints requiring authentication, use the HTTP Secured Source kamelet instead.
+
+=== Output Format
+
+The Kamelet outputs the HTTP response body and preserves any HTTP headers from the response.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:http-source"
+      parameters:
+        url: "https://api.example.com/data"
+        period: 30000
+        contentType: "application/json"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with XML Content
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:http-source"
+      parameters:
+        url: "https://api.example.com/xml-feed"
+        period: 60000
+        contentType: "application/xml"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with High Frequency Polling
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:http-source"
+      parameters:
+        url: "https://api.example.com/status"
+        period: 5000
+        contentType: "text/plain"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+This example polls the endpoint every 5 seconds for status updates.
+
+=== Scheduling Behavior
+
+The kamelet uses a timer to periodically fetch data from the specified URL. The timer starts immediately when the route starts and repeats at the configured interval. Each request includes the specified Accept header to indicate the expected content type.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/infinispan-sink-description.adoc b/docs/modules/ROOT/partials/infinispan-sink-description.adoc
new file mode 100644
index 000000000..ee6714cec
--- /dev/null
+++ b/docs/modules/ROOT/partials/infinispan-sink-description.adoc
@@ -0,0 +1,28 @@
+== Infinispan Sink Kamelet Description
+
+=== Authentication
+
+This Kamelet uses username and password authentication to connect to Infinispan cache instances.
+
+=== Security Configuration
+
+- **Secure Connection**: Enabled by default (secure: true)
+- **SASL Mechanism**: DIGEST-MD5 (default)
+- **Security Realm**: "default" realm
+- **Security Server Name**: "infinispan" (default)
+
+=== Required Configuration
+
+- **Cache Name**: The name of the Infinispan cache to use
+- **Hosts**: Host address of the Infinispan instance
+- **Username and Password**: Credentials for authentication
+
+=== Cache Operations
+
+Objects are stored in the specified cache using keys derived from headers or exchange ID.
+
+=== Optional Headers
+
+- `key` / `ce-key`: Specify the cache key for the object
+
+If no key is provided in headers, the Kamelet uses the exchange ID as the cache key.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/infinispan-source-description.adoc b/docs/modules/ROOT/partials/infinispan-source-description.adoc
new file mode 100644
index 000000000..fb2ddfcdd
--- /dev/null
+++ b/docs/modules/ROOT/partials/infinispan-source-description.adoc
@@ -0,0 +1,51 @@
+== Infinispan Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses username and password authentication to connect to Infinispan cache. You need to provide:
+
+- Username and password for Infinispan authentication
+- Host information for the Infinispan instance
+- Optionally, security settings (secure connection enabled by default)
+
+=== Output format
+
+The Kamelet gets events from an Infinispan cache and produces the event data in the configured format.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `cacheName`: The name of the Infinispan cache to use
+- `hosts`: Specifies the host of the cache on Infinispan instance
+- `username`: Username to connect to Infinispan
+- `password`: Password to connect to Infinispan
+
+Optional parameters:
+- `secure`: If the Infinispan instance is secured or not (default: true)
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: infinispan-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: infinispan-source
+    properties:
+      cacheName: "my-cache"
+      hosts: "infinispan-server:11222"
+      username: "{{username}}"
+      password: "{{password}}"
+      secure: true
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jira-add-comment-sink-description.adoc b/docs/modules/ROOT/partials/jira-add-comment-sink-description.adoc
new file mode 100644
index 000000000..fd7460a4f
--- /dev/null
+++ b/docs/modules/ROOT/partials/jira-add-comment-sink-description.adoc
@@ -0,0 +1,27 @@
+== Jira Add Comment Sink Kamelet Description
+
+=== JIRA Operations
+
+This Kamelet adds comments to existing JIRA issues.
+
+=== Input Format
+
+Expects JSON-formatted data containing the comment information.
+
+=== Authentication
+
+Supports multiple authentication methods:
+- **Username and Password**: Basic authentication
+- **Personal Token**: API token authentication
+
+=== Required Configuration
+
+- **JIRA URL**: The URL of your JIRA instance
+
+=== Optional Headers
+
+- `ce-issueKey`: Specify the JIRA issue key to add the comment to
+
+=== Usage
+
+The Kamelet sends the comment data to the specified JIRA issue, enabling automated comment addition to issues based on events or data processing.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jira-add-issue-sink-description.adoc b/docs/modules/ROOT/partials/jira-add-issue-sink-description.adoc
new file mode 100644
index 000000000..12abffbb9
--- /dev/null
+++ b/docs/modules/ROOT/partials/jira-add-issue-sink-description.adoc
@@ -0,0 +1,34 @@
+== Jira Add Issue Sink Kamelet Description
+
+=== JIRA Operations
+
+This Kamelet creates new issues in JIRA.
+
+=== Input Format
+
+Expects JSON-formatted data containing the issue information.
+
+=== Authentication
+
+Supports multiple authentication methods:
+- **Username and Password**: Basic authentication
+- **Personal Token**: API token authentication
+
+=== Required Configuration
+
+- **JIRA URL**: The URL of your JIRA instance
+
+=== Issue Configuration Headers
+
+The Kamelet supports various headers to configure issue details:
+- `ce-projectKey`: JIRA project key
+- `ce-issueTypeName`: Type of issue to create
+- `ce-issueSummary`: Issue summary/title
+- `ce-issueAssignee`: Assignee for the issue
+- `ce-issuePriorityName`: Priority level
+- `ce-issueComponents`: Issue components
+- `ce-issueDescription`: Detailed description
+
+=== Usage
+
+The Kamelet creates new JIRA issues with the specified details, enabling automated issue creation based on events or data processing workflows.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jira-oauth-source-description.adoc b/docs/modules/ROOT/partials/jira-oauth-source-description.adoc
new file mode 100644
index 000000000..956e0ab49
--- /dev/null
+++ b/docs/modules/ROOT/partials/jira-oauth-source-description.adoc
@@ -0,0 +1,53 @@
+== Jira oauth Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses OAuth authentication to connect to JIRA. You need to provide:
+
+- OAuth access token generated by the JIRA server
+- OAuth verification code
+- Consumer key for OAuth application
+- Private key for OAuth authentication
+- JIRA instance URL
+
+=== Output format
+
+The Kamelet receives notifications about new issues from JIRA and produces the issue data in JSON format.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `jiraUrl`: The URL of your instance of JIRA
+- `accessToken`: The access token generated by the JIRA server
+- `verificationCode`: The verification code generated by the JIRA server
+- `consumerKey`: The consumer key from JIRA settings
+- `privateKey`: The private key generated by the user to encrypt the communication
+- `jql`: The JQL query to filter issues
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: jira-oauth-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: jira-oauth-source
+    properties:
+      jiraUrl: "http://my_jira.com:8081"
+      accessToken: "{{access-token}}"
+      verificationCode: "{{verification-code}}"
+      consumerKey: "{{consumer-key}}"
+      privateKey: "{{private-key}}"
+      jql: "project = TEST"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jira-source-description.adoc b/docs/modules/ROOT/partials/jira-source-description.adoc
new file mode 100644
index 000000000..0faf688d3
--- /dev/null
+++ b/docs/modules/ROOT/partials/jira-source-description.adoc
@@ -0,0 +1,46 @@
+== Jira Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet uses basic authentication (username and password) to connect to JIRA. You need to provide:
+
+- Username and password for JIRA authentication
+- JIRA instance URL
+
+=== Output format
+
+The Kamelet receives notifications about new issues from JIRA and produces the issue data in JSON format.
+
+=== Configuration
+
+The Kamelet requires the following parameters:
+
+- `jiraUrl`: The URL of your instance of JIRA
+- `username`: The username to access JIRA
+- `password`: The password to access JIRA
+- `jql`: The JQL query to filter issues
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: jira-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: jira-source
+    properties:
+      jiraUrl: "http://my_jira.com:8081"
+      username: "{{username}}"
+      password: "{{password}}"
+      jql: "project = TEST"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jira-transition-issue-sink-description.adoc b/docs/modules/ROOT/partials/jira-transition-issue-sink-description.adoc
new file mode 100644
index 000000000..3819e3f6b
--- /dev/null
+++ b/docs/modules/ROOT/partials/jira-transition-issue-sink-description.adoc
@@ -0,0 +1,29 @@
+== Jira Transition Issue Sink Kamelet Description
+
+=== JIRA Operations
+
+This Kamelet transitions JIRA issues to new statuses (e.g., from "In Progress" to "Done").
+
+=== Input Format
+
+Expects JSON-formatted data containing the transition information.
+
+=== Authentication
+
+Supports multiple authentication methods:
+- **Username and Password**: Basic authentication
+- **Personal Token**: API token authentication
+
+=== Required Configuration
+
+- **JIRA URL**: The URL of your JIRA instance
+
+=== Transition Configuration Headers
+
+The Kamelet supports headers to specify transition details:
+- `ce-issueKey`: The JIRA issue key to transition
+- `ce-issueTransitionId`: The transition ID to execute
+
+=== Usage
+
+The Kamelet changes the status of existing JIRA issues by executing workflow transitions, enabling automated issue state management based on external events or processing results.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jira-update-issue-sink-description.adoc b/docs/modules/ROOT/partials/jira-update-issue-sink-description.adoc
new file mode 100644
index 000000000..7f6fb9493
--- /dev/null
+++ b/docs/modules/ROOT/partials/jira-update-issue-sink-description.adoc
@@ -0,0 +1,34 @@
+== Jira Update Issue Sink Kamelet Description
+
+=== JIRA Operations
+
+This Kamelet updates fields of existing JIRA issues.
+
+=== Input Format
+
+Expects JSON-formatted data containing the updated issue information.
+
+=== Authentication
+
+Supports multiple authentication methods:
+- **Username and Password**: Basic authentication
+- **Personal Token**: API token authentication
+
+=== Required Configuration
+
+- **JIRA URL**: The URL of your JIRA instance
+
+=== Issue Update Headers
+
+The Kamelet supports various headers to update issue fields:
+- `ce-issueKey`: The JIRA issue key to update
+- `ce-issueTypeName`: Update issue type
+- `ce-issueSummary`: Update issue summary/title
+- `ce-issueAssignee`: Update assignee
+- `ce-issuePriorityName`: Update priority level
+- `ce-issueComponents`: Update issue components
+- `ce-issueDescription`: Update detailed description
+
+=== Usage
+
+The Kamelet modifies existing JIRA issues with new field values, enabling automated issue updates based on external data or processing results.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jms-amqp-10-sink-description.adoc b/docs/modules/ROOT/partials/jms-amqp-10-sink-description.adoc
new file mode 100644
index 000000000..7d2a9f931
--- /dev/null
+++ b/docs/modules/ROOT/partials/jms-amqp-10-sink-description.adoc
@@ -0,0 +1,13 @@
+== JMS - AMQP 1.0 Sink Kamelet Description
+
+=== Connection Configuration
+
+This Kamelet connects to any AMQP 1.0 compliant message broker using the Apache Qpid JMS client.
+
+=== Destination Configuration
+
+The Kamelet supports both queue and topic destinations. The destination type can be configured using the `destinationType` property, which defaults to `queue`.
+
+=== AMQP 1.0 Protocol
+
+This sink uses the AMQP 1.0 protocol for sending messages to the broker. AMQP 1.0 is an open standard messaging protocol that provides reliable, secure, and interoperable messaging.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jms-amqp-10-source-description.adoc b/docs/modules/ROOT/partials/jms-amqp-10-source-description.adoc
new file mode 100644
index 000000000..e7ab2f883
--- /dev/null
+++ b/docs/modules/ROOT/partials/jms-amqp-10-source-description.adoc
@@ -0,0 +1,46 @@
+== JMS AMQP 1.0 Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet supports AMQP 1.0 authentication mechanisms including:
+
+- SASL authentication with username and password
+- Connection to AMQP 1.0 brokers
+
+=== Output format
+
+The Kamelet consumes messages from JMS AMQP 1.0 queues and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires connection parameters for the AMQP 1.0 broker:
+
+- `remoteURI`: The AMQP broker URI
+- `username`: Username for authentication
+- `password`: Password for authentication
+- `destinationName`: The destination queue or topic name
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: jms-amqp-10-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: jms-amqp-10-source
+    properties:
+      remoteURI: "amqp://broker.example.com:5672"
+      username: "{{username}}"
+      password: "{{password}}"
+      destinationName: "my-queue"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jms-apache-artemis-sink-description.adoc b/docs/modules/ROOT/partials/jms-apache-artemis-sink-description.adoc
new file mode 100644
index 000000000..2c8c74183
--- /dev/null
+++ b/docs/modules/ROOT/partials/jms-apache-artemis-sink-description.adoc
@@ -0,0 +1,13 @@
+== JMS - Apache Artemis Sink Kamelet Description
+
+=== Connection Configuration
+
+This Kamelet connects to an Apache Artemis message broker using JMS. Apache Artemis is a high-performance, scalable messaging broker that supports multiple messaging protocols.
+
+=== Destination Configuration
+
+The Kamelet supports both queue and topic destinations. The destination type can be configured using the `destinationType` property, which defaults to `queue`.
+
+=== Apache Artemis Client
+
+This sink uses the Apache Artemis Jakarta JMS client library to establish connections and send messages to the broker.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jms-apache-artemis-source-description.adoc b/docs/modules/ROOT/partials/jms-apache-artemis-source-description.adoc
new file mode 100644
index 000000000..ddb0f55dc
--- /dev/null
+++ b/docs/modules/ROOT/partials/jms-apache-artemis-source-description.adoc
@@ -0,0 +1,83 @@
+== JMS Apache Artemis Source Kamelet Description
+
+=== Authentication
+
+This Kamelet supports username and password authentication to connect to Apache Artemis JMS broker. Connection can be configured with or without authentication based on broker setup.
+
+=== Configuration
+
+The JMS Apache Artemis Source Kamelet supports the following configurations:
+
+- **Broker URL**: Apache Artemis broker URL (required)
+- **Destination Name**: JMS destination (queue or topic) name (required)
+- **Destination Type**: Type of destination - queue or topic (default: queue)
+- **Username**: Username for broker authentication (optional)
+- **Password**: Password for broker authentication (optional)
+- **Client ID**: JMS client ID for durable subscriptions
+- **Durable Subscription Name**: Name for durable topic subscription
+- **Message Selector**: JMS message selector for filtering
+
+=== Output Format
+
+The Kamelet outputs JMS messages including message body, headers, and JMS properties. Message format depends on the original message type (text, bytes, object, etc.).
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:jms-apache-artemis-source"
+      parameters:
+        brokerURL: "tcp://artemis.example.com:61616"
+        destinationName: "orders.queue"
+        destinationType: "queue"
+        username: "artemisuser"
+        password: "artemispass"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Topic Subscription
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:jms-apache-artemis-source"
+      parameters:
+        brokerURL: "tcp://artemis.example.com:61616"
+        destinationName: "events.topic"
+        destinationType: "topic"
+        username: "artemisuser"
+        password: "artemispass"
+        clientId: "my-consumer"
+        durableSubscriptionName: "my-subscription"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Message Selector
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:jms-apache-artemis-source"
+      parameters:
+        brokerURL: "tcp://artemis.example.com:61616"
+        destinationName: "notifications.queue"
+        destinationType: "queue"
+        username: "artemisuser"
+        password: "artemispass"
+        messageSelector: "priority > 5"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Connection Management
+
+The kamelet manages connections to Apache Artemis automatically, including connection pooling and reconnection on failures. It supports both embedded and standalone Artemis deployments.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jms-ibm-mq-sink-description.adoc b/docs/modules/ROOT/partials/jms-ibm-mq-sink-description.adoc
new file mode 100644
index 000000000..a2a49e3cb
--- /dev/null
+++ b/docs/modules/ROOT/partials/jms-ibm-mq-sink-description.adoc
@@ -0,0 +1,17 @@
+== JMS - IBM MQ Sink Kamelet Description
+
+=== Connection Configuration
+
+This Kamelet connects to an IBM MQ message broker using JMS. IBM MQ is an enterprise-grade messaging middleware that provides reliable message delivery.
+
+=== Authentication
+
+The Kamelet requires authentication credentials including username and password to connect to the IBM MQ server. These credentials should be configured securely.
+
+=== Destination Configuration
+
+The Kamelet supports both queue and topic destinations. The destination type can be configured using the `destinationType` property, which defaults to `queue`.
+
+=== SSL/TLS Support
+
+Optional SSL/TLS encryption can be enabled by configuring the `sslCipherSuite` property with an appropriate cipher suite.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jms-ibm-mq-source-description.adoc b/docs/modules/ROOT/partials/jms-ibm-mq-source-description.adoc
new file mode 100644
index 000000000..1967a4fa1
--- /dev/null
+++ b/docs/modules/ROOT/partials/jms-ibm-mq-source-description.adoc
@@ -0,0 +1,47 @@
+== JMS IBM MQ Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet supports IBM MQ authentication including:
+
+- Channel and queue manager configuration
+- Username and password authentication
+- IBM MQ specific connection settings
+
+=== Output format
+
+The Kamelet consumes messages from IBM MQ queues and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires IBM MQ specific connection parameters:
+
+- `destinationName`: The destination queue name
+- `queueManager`: IBM MQ queue manager name
+- `channel`: IBM MQ channel name
+- `connName`: IBM MQ connection name (host:port)
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: jms-ibm-mq-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: jms-ibm-mq-source
+    properties:
+      destinationName: "MY.QUEUE"
+      queueManager: "QM1"
+      channel: "DEV.APP.SVRCONN"
+      connName: "localhost(1414)"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jms-pooled-apache-artemis-sink-description.adoc b/docs/modules/ROOT/partials/jms-pooled-apache-artemis-sink-description.adoc
new file mode 100644
index 000000000..6d9ff1042
--- /dev/null
+++ b/docs/modules/ROOT/partials/jms-pooled-apache-artemis-sink-description.adoc
@@ -0,0 +1,21 @@
+== JMS Pooled - Apache Artemis Sink Kamelet Description
+
+=== Connection Configuration
+
+This Kamelet connects to an Apache Artemis message broker using JMS with connection pooling for improved performance and resource management.
+
+=== Connection Pooling
+
+The Kamelet uses pooled connections to optimize resource usage and performance. Key pooling configuration options include:
+
+- Maximum sessions per connection (default: 500)
+- Maximum idle sessions per connection (default: 500)
+- Connection idle timeout in milliseconds (default: 30000)
+
+=== Authentication
+
+Optional authentication can be configured using username and password properties for secure broker connections.
+
+=== Destination Configuration
+
+The Kamelet supports both queue and topic destinations. The destination type can be configured using the `destinationType` property, which defaults to `queue`.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/jms-pooled-apache-artemis-source-description.adoc b/docs/modules/ROOT/partials/jms-pooled-apache-artemis-source-description.adoc
new file mode 100644
index 000000000..921e9cf3b
--- /dev/null
+++ b/docs/modules/ROOT/partials/jms-pooled-apache-artemis-source-description.adoc
@@ -0,0 +1,47 @@
+== JMS Pooled Apache Artemis Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Apache Artemis JMS broker using:
+
+- Broker URL and connection credentials
+- Pooled connection factory for better performance
+- Username and password authentication
+
+=== Output format
+
+The Kamelet consumes messages from Apache Artemis JMS queues and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Apache Artemis connection parameters:
+
+- `brokerURL`: The Apache Artemis broker URL
+- `destinationName`: The destination queue or topic name
+- `username`: Username for authentication
+- `password`: Password for authentication
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: jms-pooled-apache-artemis-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: jms-pooled-apache-artemis-source
+    properties:
+      brokerURL: "tcp://artemis-broker:61616"
+      destinationName: "my-queue"
+      username: "{{username}}"
+      password: "{{password}}"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-apicurio-registry-not-secured-sink-description.adoc b/docs/modules/ROOT/partials/kafka-apicurio-registry-not-secured-sink-description.adoc
new file mode 100644
index 000000000..6ed03b626
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-apicurio-registry-not-secured-sink-description.adoc
@@ -0,0 +1,20 @@
+== Kafka Not Secured with Apicurio Registry Sink Kamelet Description
+
+=== Schema Registry Integration
+
+This Kamelet integrates with Apicurio Registry for schema management and serialization of Avro data. The registry provides centralized schema storage and versioning capabilities.
+
+=== Avro Serialization
+
+The Kamelet uses Avro serialization with configurable datum providers for efficient data serialization. The default serializer is configured for Avro data format with reflect-based datum provider.
+
+=== Message Headers
+
+The Kamelet supports both standard and CloudEvents headers for message keys and partition routing:
+
+- Message key headers: `key` or `ce-key`
+- Partition key headers: `partition-key` or `ce-partitionkey`
+
+=== Security Note
+
+This Kamelet connects to an insecure Kafka broker without authentication. Use appropriate secured variants for production environments.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-apicurio-registry-not-secured-source-description.adoc b/docs/modules/ROOT/partials/kafka-apicurio-registry-not-secured-source-description.adoc
new file mode 100644
index 000000000..a86fadec9
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-apicurio-registry-not-secured-source-description.adoc
@@ -0,0 +1,45 @@
+== Kafka Apicurio Registry Not Secured Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using:
+
+- No security (not secured setup)
+- Apicurio Schema Registry for schema management
+- Bootstrap servers configuration
+
+=== Output format
+
+The Kamelet consumes messages from Kafka topics with schema validation through Apicurio Registry and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka and Apicurio Registry connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- `apicurioRegistryUrl`: The Apicurio Schema Registry URL
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-apicurio-registry-not-secured-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-apicurio-registry-not-secured-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+      apicurioRegistryUrl: "http://apicurio-registry:8080/apis/registry/v2"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-azure-schema-registry-sink-description.adoc b/docs/modules/ROOT/partials/kafka-azure-schema-registry-sink-description.adoc
new file mode 100644
index 000000000..f49697131
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-azure-schema-registry-sink-description.adoc
@@ -0,0 +1,17 @@
+== Azure Kafka through Eventhubs with Azure Schema Registry Sink Kamelet Description
+
+=== Azure Integration
+
+This Kamelet connects to Azure Event Hubs using Kafka protocol and integrates with Azure Schema Registry for schema management. It provides a bridge between Kafka-based applications and Azure's messaging services.
+
+=== Authentication
+
+The Kamelet uses SASL authentication with connection string-based credentials. The security protocol defaults to SASL_SSL for secure communication with Azure Event Hubs.
+
+=== Schema Registry
+
+Integration with Azure Schema Registry provides centralized schema management for Avro data serialization. The Kamelet requires configuration of the specific Avro value type to be processed.
+
+=== Azure Credentials
+
+The Kamelet uses DefaultAzureCredential for authentication to Azure Schema Registry, supporting various Azure authentication methods including managed identity and service principal authentication.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-azure-schema-registry-source-description.adoc b/docs/modules/ROOT/partials/kafka-azure-schema-registry-source-description.adoc
new file mode 100644
index 000000000..14aff7a11
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-azure-schema-registry-source-description.adoc
@@ -0,0 +1,46 @@
+== Kafka Azure Schema Registry Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using:
+
+- Azure Schema Registry for schema management
+- Kafka security configuration (SASL/SSL)
+- Azure authentication credentials
+
+=== Output format
+
+The Kamelet consumes messages from Kafka topics with schema validation through Azure Schema Registry and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka and Azure Schema Registry connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- `azureRegistryUrl`: The Azure Schema Registry URL
+- Security and authentication parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-azure-schema-registry-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-azure-schema-registry-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+      azureRegistryUrl: "https://my-registry.servicebus.windows.net"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-batch-apicurio-registry-not-secured-source-description.adoc b/docs/modules/ROOT/partials/kafka-batch-apicurio-registry-not-secured-source-description.adoc
new file mode 100644
index 000000000..b94920537
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-batch-apicurio-registry-not-secured-source-description.adoc
@@ -0,0 +1,46 @@
+== Kafka Batch Apicurio Registry Not Secured Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using:
+
+- No security (not secured setup)
+- Apicurio Schema Registry for schema management
+- Batch consumption mode for processing multiple messages
+
+=== Output format
+
+The Kamelet consumes messages in batches from Kafka topics with schema validation through Apicurio Registry and produces the batch data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka and Apicurio Registry connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- `apicurioRegistryUrl`: The Apicurio Schema Registry URL
+- Batch processing parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-batch-apicurio-registry-not-secured-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-batch-apicurio-registry-not-secured-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+      apicurioRegistryUrl: "http://apicurio-registry:8080/apis/registry/v2"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-batch-apicurio-registry-source-description.adoc b/docs/modules/ROOT/partials/kafka-batch-apicurio-registry-source-description.adoc
new file mode 100644
index 000000000..08d364d11
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-batch-apicurio-registry-source-description.adoc
@@ -0,0 +1,46 @@
+== Kafka Batch Apicurio Registry Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using:
+
+- Security mechanisms (SASL/SSL)
+- Apicurio Schema Registry for schema management
+- Batch consumption mode for processing multiple messages
+
+=== Output format
+
+The Kamelet consumes messages in batches from Kafka topics with schema validation through Apicurio Registry and produces the batch data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka and Apicurio Registry connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- `apicurioRegistryUrl`: The Apicurio Schema Registry URL
+- Security and batch processing parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-batch-apicurio-registry-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-batch-apicurio-registry-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+      apicurioRegistryUrl: "http://apicurio-registry:8080/apis/registry/v2"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-batch-azure-schema-registry-source-description.adoc b/docs/modules/ROOT/partials/kafka-batch-azure-schema-registry-source-description.adoc
new file mode 100644
index 000000000..a5a35eba0
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-batch-azure-schema-registry-source-description.adoc
@@ -0,0 +1,46 @@
+== Kafka Batch Azure Schema Registry Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using:
+
+- Azure Schema Registry for schema management
+- Kafka security configuration (SASL/SSL)
+- Batch consumption mode for processing multiple messages
+
+=== Output format
+
+The Kamelet consumes messages in batches from Kafka topics with schema validation through Azure Schema Registry and produces the batch data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka and Azure Schema Registry connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- `azureRegistryUrl`: The Azure Schema Registry URL
+- Security and batch processing parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-batch-azure-schema-registry-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-batch-azure-schema-registry-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+      azureRegistryUrl: "https://my-registry.servicebus.windows.net"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-batch-not-secured-source-description.adoc b/docs/modules/ROOT/partials/kafka-batch-not-secured-source-description.adoc
new file mode 100644
index 000000000..f72f6ff9a
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-batch-not-secured-source-description.adoc
@@ -0,0 +1,44 @@
+== Kafka-batch-not-secured-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using appropriate security mechanisms based on the configuration type:
+
+- Security settings as indicated by the kamelet name (SSL, SCRAM, not-secured)
+- Schema registry integration where applicable
+- Bootstrap servers configuration
+
+=== Output format
+
+The Kamelet consumes messages from Kafka topics and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- Security-specific parameters based on the authentication method
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-batch-not-secured-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-batch-not-secured-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/kafka-batch-scram-source-description.adoc b/docs/modules/ROOT/partials/kafka-batch-scram-source-description.adoc
new file mode 100644
index 000000000..b391c6270
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-batch-scram-source-description.adoc
@@ -0,0 +1,44 @@
+== Kafka-batch-scram-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using appropriate security mechanisms based on the configuration type:
+
+- Security settings as indicated by the kamelet name (SSL, SCRAM, not-secured)
+- Schema registry integration where applicable
+- Bootstrap servers configuration
+
+=== Output format
+
+The Kamelet consumes messages from Kafka topics and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- Security-specific parameters based on the authentication method
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-batch-scram-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-batch-scram-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/kafka-batch-source-description.adoc b/docs/modules/ROOT/partials/kafka-batch-source-description.adoc
new file mode 100644
index 000000000..a0820ee59
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-batch-source-description.adoc
@@ -0,0 +1,44 @@
+== Kafka-batch-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using appropriate security mechanisms based on the configuration type:
+
+- Security settings as indicated by the kamelet name (SSL, SCRAM, not-secured)
+- Schema registry integration where applicable
+- Bootstrap servers configuration
+
+=== Output format
+
+The Kamelet consumes messages from Kafka topics and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- Security-specific parameters based on the authentication method
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-batch-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-batch-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/kafka-batch-ssl-source-description.adoc b/docs/modules/ROOT/partials/kafka-batch-ssl-source-description.adoc
new file mode 100644
index 000000000..c97ec6bb1
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-batch-ssl-source-description.adoc
@@ -0,0 +1,44 @@
+== Kafka-batch-ssl-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using appropriate security mechanisms based on the configuration type:
+
+- Security settings as indicated by the kamelet name (SSL, SCRAM, not-secured)
+- Schema registry integration where applicable
+- Bootstrap servers configuration
+
+=== Output format
+
+The Kamelet consumes messages from Kafka topics and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- Security-specific parameters based on the authentication method
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-batch-ssl-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-batch-ssl-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/kafka-not-secured-apicurio-registry-json-source-description.adoc b/docs/modules/ROOT/partials/kafka-not-secured-apicurio-registry-json-source-description.adoc
new file mode 100644
index 000000000..2604288fe
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-not-secured-apicurio-registry-json-source-description.adoc
@@ -0,0 +1,44 @@
+== Kafka-not-secured-apicurio-registry-json-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using appropriate security mechanisms based on the configuration type:
+
+- Security settings as indicated by the kamelet name (SSL, SCRAM, not-secured)
+- Schema registry integration where applicable
+- Bootstrap servers configuration
+
+=== Output format
+
+The Kamelet consumes messages from Kafka topics and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- Security-specific parameters based on the authentication method
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-not-secured-apicurio-registry-json-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-not-secured-apicurio-registry-json-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/kafka-not-secured-apicurio-registry-sink-description.adoc b/docs/modules/ROOT/partials/kafka-not-secured-apicurio-registry-sink-description.adoc
new file mode 100644
index 000000000..14f6454f6
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-not-secured-apicurio-registry-sink-description.adoc
@@ -0,0 +1,21 @@
+== Kafka Not Secured with Apicurio Registry secured with Keycloak Sink Kamelet Description
+
+=== Schema Registry Security
+
+This Kamelet integrates with Apicurio Registry that is secured with Keycloak authentication. While the Kafka broker connection is not secured, the schema registry access requires proper authentication.
+
+=== Keycloak Authentication
+
+The Kamelet supports OAuth2/OpenID Connect authentication through Keycloak for accessing the Apicurio Registry. Configuration includes:
+
+- Keycloak service URL and realm
+- Client ID and client secret
+- Username and password for authentication
+
+=== Avro Serialization
+
+Uses Apicurio Registry's Avro serializer with configurable datum providers for efficient schema-based data serialization.
+
+=== Security Considerations
+
+While the Kafka broker connection is not secured, the schema registry authentication ensures that only authorized applications can access and modify schemas.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-not-secured-apicurio-registry-source-description.adoc b/docs/modules/ROOT/partials/kafka-not-secured-apicurio-registry-source-description.adoc
new file mode 100644
index 000000000..15ef6b4aa
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-not-secured-apicurio-registry-source-description.adoc
@@ -0,0 +1,44 @@
+== Kafka-not-secured-apicurio-registry-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using appropriate security mechanisms based on the configuration type:
+
+- Security settings as indicated by the kamelet name (SSL, SCRAM, not-secured)
+- Schema registry integration where applicable
+- Bootstrap servers configuration
+
+=== Output format
+
+The Kamelet consumes messages from Kafka topics and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- Security-specific parameters based on the authentication method
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-not-secured-apicurio-registry-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-not-secured-apicurio-registry-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/kafka-not-secured-sink-description.adoc b/docs/modules/ROOT/partials/kafka-not-secured-sink-description.adoc
new file mode 100644
index 000000000..4b9d1020f
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-not-secured-sink-description.adoc
@@ -0,0 +1,27 @@
+== Kafka Not Secured Sink Kamelet Description
+
+=== Basic Kafka Integration
+
+This Kamelet provides a simple integration with Kafka topics using an unsecured connection. It's designed for development environments or internal networks where security is not a primary concern.
+
+=== Message Headers
+
+The Kamelet supports both standard and CloudEvents headers for message routing:
+
+- Message key headers: `key` or `ce-key`
+- Partition key headers: `partition-key` or `ce-partitionkey`
+
+=== Minimal Configuration
+
+Only requires the essential configuration parameters: topic names and bootstrap servers. No authentication or encryption is configured.
+
+=== Use Cases
+
+Suitable for:
+- Development and testing environments
+- Internal network communications
+- Proof-of-concept implementations
+
+=== Security Warning
+
+This Kamelet does not provide any security mechanisms. Do not use in production environments where data protection is required.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-not-secured-source-description.adoc b/docs/modules/ROOT/partials/kafka-not-secured-source-description.adoc
new file mode 100644
index 000000000..31a32dbf5
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-not-secured-source-description.adoc
@@ -0,0 +1,44 @@
+== Kafka-not-secured-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using appropriate security mechanisms based on the configuration type:
+
+- Security settings as indicated by the kamelet name (SSL, SCRAM, not-secured)
+- Schema registry integration where applicable
+- Bootstrap servers configuration
+
+=== Output format
+
+The Kamelet consumes messages from Kafka topics and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- Security-specific parameters based on the authentication method
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-not-secured-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-not-secured-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/kafka-scram-sink-description.adoc b/docs/modules/ROOT/partials/kafka-scram-sink-description.adoc
new file mode 100644
index 000000000..015b0b5f2
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-scram-sink-description.adoc
@@ -0,0 +1,21 @@
+== Kafka Scram Sink Kamelet Description
+
+=== SCRAM Authentication
+
+This Kamelet uses SCRAM (Salted Challenge Response Authentication Mechanism) for secure authentication with Kafka brokers. SCRAM provides a secure method for username/password authentication.
+
+=== Authentication Mechanism
+
+The Kamelet supports SCRAM-SHA-512 by default, which provides strong cryptographic security. The authentication mechanism can be configured based on the Kafka broker's security configuration.
+
+=== Security Protocol
+
+Uses SASL_SSL security protocol by default, ensuring both authentication and encryption for data in transit. This provides comprehensive security for Kafka communications.
+
+=== Credential Management
+
+Requires username and password credentials that should be securely managed and rotated according to security best practices.
+
+=== Production Ready
+
+This Kamelet is suitable for production environments requiring secure authentication without the complexity of certificate-based authentication.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-scram-source-description.adoc b/docs/modules/ROOT/partials/kafka-scram-source-description.adoc
new file mode 100644
index 000000000..c59cb899c
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-scram-source-description.adoc
@@ -0,0 +1,44 @@
+== Kafka-scram-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using appropriate security mechanisms based on the configuration type:
+
+- Security settings as indicated by the kamelet name (SSL, SCRAM, not-secured)
+- Schema registry integration where applicable
+- Bootstrap servers configuration
+
+=== Output format
+
+The Kamelet consumes messages from Kafka topics and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- Security-specific parameters based on the authentication method
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-scram-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-scram-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/kafka-sink-description.adoc b/docs/modules/ROOT/partials/kafka-sink-description.adoc
new file mode 100644
index 000000000..dcda3ef30
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-sink-description.adoc
@@ -0,0 +1,24 @@
+== Kafka Sink Kamelet Description
+
+=== Headers Support
+
+The Kamelet is able to understand the following headers to be set:
+
+- `key` / `ce-key`: as message key
+- `partition-key` / `ce-partitionkey`: as message partition key
+
+Both headers are optional.
+
+=== Authentication
+
+This Kamelet uses Plain Login Module for authentication with username and password.
+
+=== Security Protocols
+
+Supports multiple security protocols:
+- SASL_PLAINTEXT
+- PLAINTEXT
+- SASL_SSL
+- SSL
+
+Default security protocol is SASL_SSL with PLAIN SASL mechanism.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-source-description.adoc b/docs/modules/ROOT/partials/kafka-source-description.adoc
new file mode 100644
index 000000000..17bacfbf2
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-source-description.adoc
@@ -0,0 +1,65 @@
+== Kafka Source Kamelet Description
+
+=== Authentication
+
+This Kamelet requires SASL/PLAIN authentication to connect to Kafka through a Plain Login Module. The credentials are configured through the `user` and `password` properties.
+
+=== Configuration
+
+The Kafka Source Kamelet supports the following configurations:
+
+- **Topic**: Comma-separated list of Kafka topic names to consume from (required)
+- **Bootstrap Servers**: Comma-separated list of Kafka bootstrap servers (required)
+- **User**: Username for SASL/PLAIN authentication (required)
+- **Password**: Password for SASL/PLAIN authentication (required)
+- **Consumer Group**: Kafka consumer group ID for managing offsets
+- **Auto Offset Reset**: What to do when there is no initial offset (earliest, latest, none)
+- **Allow Manual Commit**: Enable manual commit for better control over message processing
+
+=== Output Format
+
+The Kamelet outputs Kafka message content and includes Kafka headers and metadata such as topic, partition, offset, and timestamp.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:kafka-source"
+      parameters:
+        topic: "orders,payments"
+        bootstrapServers: "kafka.example.com:9092"
+        user: "kafka-user"
+        password: "kafka-password"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Consumer Group
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:kafka-source"
+      parameters:
+        topic: "user-events"
+        bootstrapServers: "kafka1.example.com:9092,kafka2.example.com:9092"
+        user: "kafka-user"
+        password: "kafka-password"
+        consumerGroup: "my-consumer-group"
+        autoOffsetReset: "earliest"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Security
+
+This kamelet uses SASL/PLAIN authentication mechanism with TLS encryption enabled for secure communication with Kafka brokers.
+
+=== Error Handling
+
+The consumer automatically handles connection failures and will attempt to reconnect to the Kafka cluster. Failed message processing can be handled through Camel's error handling mechanisms.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-ssl-sink-description.adoc b/docs/modules/ROOT/partials/kafka-ssl-sink-description.adoc
new file mode 100644
index 000000000..83e4c68b4
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-ssl-sink-description.adoc
@@ -0,0 +1,25 @@
+== Kafka SSL Sink Kamelet Description
+
+=== TLS/SSL Encryption
+
+This Kamelet provides secure communication with Kafka brokers using TLS/SSL encryption. It supports both one-way and mutual (two-way) SSL authentication.
+
+=== Certificate Configuration
+
+Requires configuration of SSL keystores and truststores:
+
+- Keystore: Contains the client's private key and certificate (for mutual authentication)
+- Truststore: Contains trusted certificate authorities and broker certificates
+- Password protection for both keystores and private keys
+
+=== SSL Protocol Support
+
+Supports modern TLS protocols (TLSv1.2 by default) with configurable enabled protocols. Older SSL versions are discouraged due to security vulnerabilities.
+
+=== Hostname Verification
+
+Includes endpoint identification algorithm for server hostname verification using server certificates, ensuring protection against man-in-the-middle attacks.
+
+=== Production Security
+
+Designed for production environments requiring strong encryption and certificate-based authentication. Provides comprehensive security for sensitive data transmission.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/kafka-ssl-source-description.adoc b/docs/modules/ROOT/partials/kafka-ssl-source-description.adoc
new file mode 100644
index 000000000..bac5e645e
--- /dev/null
+++ b/docs/modules/ROOT/partials/kafka-ssl-source-description.adoc
@@ -0,0 +1,44 @@
+== Kafka-ssl-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kafka using appropriate security mechanisms based on the configuration type:
+
+- Security settings as indicated by the kamelet name (SSL, SCRAM, not-secured)
+- Schema registry integration where applicable
+- Bootstrap servers configuration
+
+=== Output format
+
+The Kamelet consumes messages from Kafka topics and produces the message data in the configured format.
+
+=== Configuration
+
+The Kamelet requires Kafka connection parameters:
+
+- `topic`: The Kafka topic to consume from
+- `bootstrapServers`: Comma separated list of Kafka Broker URLs
+- Security-specific parameters based on the authentication method
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kafka-ssl-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kafka-ssl-source
+    properties:
+      topic: "my-topic"
+      bootstrapServers: "kafka-broker1:9092,kafka-broker2:9092"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/kubernetes-namespaces-source-description.adoc b/docs/modules/ROOT/partials/kubernetes-namespaces-source-description.adoc
new file mode 100644
index 000000000..22d80a099
--- /dev/null
+++ b/docs/modules/ROOT/partials/kubernetes-namespaces-source-description.adoc
@@ -0,0 +1,42 @@
+== Kubernetes-namespaces-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kubernetes using:
+
+- Service account authentication (recommended in cluster)
+- Kubeconfig file authentication
+- Token-based authentication
+
+=== Output format
+
+The Kamelet watches Kubernetes namespaces resources and produces event data in JSON format when resources are created, updated, or deleted.
+
+=== Configuration
+
+The Kamelet supports various Kubernetes connection parameters:
+
+- `namespace`: The Kubernetes namespace to watch (optional)
+- Authentication and connection configuration
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kubernetes-namespaces-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kubernetes-namespaces-source
+    properties:
+      namespace: "default"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/kubernetes-nodes-source-description.adoc b/docs/modules/ROOT/partials/kubernetes-nodes-source-description.adoc
new file mode 100644
index 000000000..71c21d87c
--- /dev/null
+++ b/docs/modules/ROOT/partials/kubernetes-nodes-source-description.adoc
@@ -0,0 +1,42 @@
+== Kubernetes-nodes-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kubernetes using:
+
+- Service account authentication (recommended in cluster)
+- Kubeconfig file authentication
+- Token-based authentication
+
+=== Output format
+
+The Kamelet watches Kubernetes nodes resources and produces event data in JSON format when resources are created, updated, or deleted.
+
+=== Configuration
+
+The Kamelet supports various Kubernetes connection parameters:
+
+- `namespace`: The Kubernetes namespace to watch (optional)
+- Authentication and connection configuration
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kubernetes-nodes-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kubernetes-nodes-source
+    properties:
+      namespace: "default"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/kubernetes-pods-source-description.adoc b/docs/modules/ROOT/partials/kubernetes-pods-source-description.adoc
new file mode 100644
index 000000000..ad65e2137
--- /dev/null
+++ b/docs/modules/ROOT/partials/kubernetes-pods-source-description.adoc
@@ -0,0 +1,42 @@
+== Kubernetes-pods-source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Kubernetes using:
+
+- Service account authentication (recommended in cluster)
+- Kubeconfig file authentication
+- Token-based authentication
+
+=== Output format
+
+The Kamelet watches Kubernetes pods resources and produces event data in JSON format when resources are created, updated, or deleted.
+
+=== Configuration
+
+The Kamelet supports various Kubernetes connection parameters:
+
+- `namespace`: The Kubernetes namespace to watch (optional)
+- Authentication and connection configuration
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: kubernetes-pods-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: kubernetes-pods-source
+    properties:
+      namespace: "default"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/log-sink-description.adoc b/docs/modules/ROOT/partials/log-sink-description.adoc
new file mode 100644
index 000000000..3c8de01a4
--- /dev/null
+++ b/docs/modules/ROOT/partials/log-sink-description.adoc
@@ -0,0 +1,31 @@
+== Log Sink Kamelet Description
+
+=== Debugging and Monitoring
+
+This Kamelet is designed for debugging purposes, logging all data it receives to help developers monitor and troubleshoot data flows.
+
+=== Log Levels
+
+Supports standard logging levels: TRACE, DEBUG, INFO (default), WARN, ERROR, and OFF.
+
+=== Configuration Options
+
+- **Logger Name**: Custom logging category (defaults to "log-sink")
+- **Log Level**: Controls verbosity of logging output
+- **Log Mask**: Masks sensitive information like passwords
+- **Marker**: Optional marker name for log categorization
+
+=== Display Options
+
+Extensive customization for what information to display:
+- **Message Body**: Show/hide message content (default: true)
+- **Headers**: Display message headers (default: false)
+- **Properties**: Show exchange properties
+- **Body Type**: Display Java type information
+- **Exchange Pattern**: Show Message Exchange Pattern (MEP)
+- **Streams**: Handle stream body display
+- **Multiline**: Format output across multiple lines
+
+=== Usage
+
+Ideal for development, testing, and production monitoring to understand data flow and diagnose issues in integration pipelines.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/mail-imap-source-description.adoc b/docs/modules/ROOT/partials/mail-imap-source-description.adoc
new file mode 100644
index 000000000..3f2344e3d
--- /dev/null
+++ b/docs/modules/ROOT/partials/mail-imap-source-description.adoc
@@ -0,0 +1,84 @@
+== Mail IMAP Source Kamelet Description
+
+=== Authentication
+
+This Kamelet requires username and password authentication to connect to an IMAP mail server. It supports both standard and secure IMAP connections.
+
+=== Configuration
+
+The Mail IMAP Source Kamelet supports the following configurations:
+
+- **Host**: IMAP server hostname (required)
+- **Port**: IMAP server port (default: 993 for IMAPS, 143 for IMAP)
+- **Username**: Email account username (required)
+- **Password**: Email account password (required)
+- **Folder**: Email folder to monitor (default: "INBOX")
+- **Unseen Only**: Only process unread emails (default: true)
+- **Delete**: Delete emails after processing (default: false)
+- **Connection Encryption**: Use SSL/TLS encryption (default: true)
+
+=== Output Format
+
+The Kamelet outputs email messages including headers, body content, attachments, and metadata such as sender, recipient, and timestamp information.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mail-imap-source"
+      parameters:
+        host: "imap.gmail.com"
+        port: "993"
+        username: "user@gmail.com"
+        password: "app-password"
+        folder: "INBOX"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Custom Folder
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mail-imap-source"
+      parameters:
+        host: "mail.example.com"
+        port: "993"
+        username: "support@example.com"
+        password: "mailpass"
+        folder: "Support"
+        unseenOnly: true
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Email Deletion
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mail-imap-source"
+      parameters:
+        host: "imap.example.com"
+        username: "processor@example.com"
+        password: "mailpass"
+        folder: "Processing"
+        delete: true
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Security Considerations
+
+- Use app-specific passwords for Gmail and similar providers
+- Enable SSL/TLS encryption for secure connections
+- Store credentials securely using secrets management
+- Consider OAuth2 authentication for enhanced security
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/mail-sink-description.adoc b/docs/modules/ROOT/partials/mail-sink-description.adoc
new file mode 100644
index 000000000..d88a8c1be
--- /dev/null
+++ b/docs/modules/ROOT/partials/mail-sink-description.adoc
@@ -0,0 +1,29 @@
+== Mail Sink Kamelet Description
+
+=== SMTP Email Delivery
+
+This Kamelet sends emails through SMTP servers with configurable authentication and addressing.
+
+=== Required Configuration
+
+- **Connection Host**: SMTP server hostname (e.g., smtp.gmail.com)
+- **Username and Password**: SMTP authentication credentials
+
+=== Optional Configuration
+
+- **Connection Port**: SMTP port (defaults to 25)
+- **From**: Sender email address
+- **To**: Primary recipient
+- **Subject**: Email subject line
+
+=== Email Headers Support
+
+The Kamelet supports various email headers through CloudEvents:
+- `ce-subject`: Override email subject
+- `ce-from`: Override sender address
+- `ce-to`: Override recipient address
+- `ce-cc`: Add CC recipients
+
+=== Usage
+
+Enables automated email notifications, alerts, and reports by sending emails through configured SMTP servers as part of integration workflows.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/mariadb-sink-description.adoc b/docs/modules/ROOT/partials/mariadb-sink-description.adoc
new file mode 100644
index 000000000..469d58ff4
--- /dev/null
+++ b/docs/modules/ROOT/partials/mariadb-sink-description.adoc
@@ -0,0 +1,21 @@
+== MariaDB Sink Kamelet Description
+
+=== Database Connection
+
+This Kamelet connects to MariaDB databases using JDBC. MariaDB is a popular open-source relational database management system that is a compatible drop-in replacement for MySQL.
+
+=== Data Processing
+
+The Kamelet expects JSON input data which is unmarshalled before executing the SQL query. The input data fields can be referenced in the SQL query using named parameters.
+
+=== Query Configuration
+
+The SQL query should use named parameters (e.g., `:#username`, `:#city`) that correspond to fields in the incoming JSON data. This allows for safe parameterized queries that prevent SQL injection attacks.
+
+=== Connection Pooling
+
+The Kamelet uses Apache Commons DBCP2 for connection pooling, providing efficient database connection management and resource optimization.
+
+=== Authentication
+
+Requires username and password authentication for secure database access. These credentials should be properly managed and secured.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/mariadb-source-description.adoc b/docs/modules/ROOT/partials/mariadb-source-description.adoc
new file mode 100644
index 000000000..070d14438
--- /dev/null
+++ b/docs/modules/ROOT/partials/mariadb-source-description.adoc
@@ -0,0 +1,46 @@
+== Mariadb Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Mariadb using:
+
+- Database-specific connection credentials
+- Username and password authentication
+- Connection URL/string configuration
+
+=== Output format
+
+The Kamelet monitors Mariadb for changes and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires database connection parameters:
+
+- Database connection URL/server information
+- Username and password for authentication
+- Query or monitoring configuration
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mariadb-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mariadb-source
+    properties:
+      serverName: "database-server"
+      username: "{{username}}"
+      password: "{{password}}"
+      databaseName: "mydb"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/minio-sink-description.adoc b/docs/modules/ROOT/partials/minio-sink-description.adoc
new file mode 100644
index 000000000..bec8bd606
--- /dev/null
+++ b/docs/modules/ROOT/partials/minio-sink-description.adoc
@@ -0,0 +1,25 @@
+== Minio Sink Kamelet Description
+
+=== Object Storage Integration
+
+This Kamelet integrates with MinIO, an open-source object storage system that is compatible with Amazon S3 APIs. MinIO is ideal for cloud-native applications and data lake architectures.
+
+=== S3-Compatible API
+
+MinIO provides S3-compatible APIs, making it easy to migrate from Amazon S3 or integrate with S3-compatible applications and tools.
+
+=== Authentication
+
+Uses access key and secret key authentication for secure access to MinIO instances. These credentials should be properly managed and secured according to security best practices.
+
+=== Bucket Management
+
+The Kamelet can optionally auto-create buckets if they don't exist, providing flexibility for dynamic storage scenarios. Objects are stored with configurable key names.
+
+=== Object Naming
+
+Object names can be specified through configuration or derived from message headers (`file` or `ce-file`). If no name is provided, the exchange ID is used as the object name.
+
+=== Deployment Flexibility
+
+Supports various deployment scenarios including on-premises, cloud, and hybrid environments with configurable endpoint URLs.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/minio-source-description.adoc b/docs/modules/ROOT/partials/minio-source-description.adoc
new file mode 100644
index 000000000..6f46ef559
--- /dev/null
+++ b/docs/modules/ROOT/partials/minio-source-description.adoc
@@ -0,0 +1,43 @@
+== Minio Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Minio using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Minio and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Minio:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: minio-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: minio-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/mongodb-changes-stream-source-description.adoc b/docs/modules/ROOT/partials/mongodb-changes-stream-source-description.adoc
new file mode 100644
index 000000000..dd6351df9
--- /dev/null
+++ b/docs/modules/ROOT/partials/mongodb-changes-stream-source-description.adoc
@@ -0,0 +1,46 @@
+== Mongodb Changes Stream Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Mongodb Changes Stream using:
+
+- Database-specific connection credentials
+- Username and password authentication
+- Connection URL/string configuration
+
+=== Output format
+
+The Kamelet monitors Mongodb Changes Stream for changes and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires database connection parameters:
+
+- Database connection URL/server information
+- Username and password for authentication
+- Query or monitoring configuration
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mongodb-changes-stream-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mongodb-changes-stream-source
+    properties:
+      serverName: "database-server"
+      username: "{{username}}"
+      password: "{{password}}"
+      databaseName: "mydb"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/mongodb-sink-description.adoc b/docs/modules/ROOT/partials/mongodb-sink-description.adoc
new file mode 100644
index 000000000..55fc0eecc
--- /dev/null
+++ b/docs/modules/ROOT/partials/mongodb-sink-description.adoc
@@ -0,0 +1,25 @@
+== MongoDB Sink Kamelet Description
+
+=== NoSQL Database Integration
+
+This Kamelet integrates with MongoDB, a popular NoSQL document database. MongoDB stores data in flexible, JSON-like documents, making it ideal for applications requiring dynamic schemas.
+
+=== SSL/TLS Security
+
+The Kamelet supports SSL/TLS encryption for secure connections to MongoDB. SSL is enabled by default, and certificate validation can be configured based on security requirements.
+
+=== Authentication
+
+Optional username and password authentication is supported for secured MongoDB instances. The Kamelet uses SSL-aware MongoDB client connections for secure data transmission.
+
+=== Write Operations
+
+The Kamelet performs insert operations into the specified collection. It supports upsert operations through header configuration (`db-upsert` or `ce-dbupsert` headers).
+
+=== Write Concerns
+
+Configurable write concern levels ensure data durability and consistency based on application requirements. Options include acknowledged, journaled, majority, and various numbered write concerns.
+
+=== Collection Management
+
+The Kamelet can optionally create collections during initialization if they don't exist, providing flexibility for dynamic database structures.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/mongodb-source-description.adoc b/docs/modules/ROOT/partials/mongodb-source-description.adoc
new file mode 100644
index 000000000..74239334b
--- /dev/null
+++ b/docs/modules/ROOT/partials/mongodb-source-description.adoc
@@ -0,0 +1,83 @@
+== MongoDB Source Kamelet Description
+
+=== Authentication
+
+This Kamelet supports MongoDB authentication using username and password credentials. The connection can be configured with or without authentication depending on your MongoDB setup.
+
+=== Configuration
+
+The MongoDB Source Kamelet supports the following configurations:
+
+- **Hosts**: MongoDB server hosts and ports (required)
+- **Collection**: MongoDB collection name to query (required)
+- **Database**: MongoDB database name (required)
+- **Username**: Username for authentication (optional)
+- **Password**: Password for authentication (optional)
+- **Query**: MongoDB query filter in JSON format
+- **Tail**: Enable tailable cursor for real-time changes
+- **Create Collection**: Auto-create collection if it doesn't exist
+
+=== Output Format
+
+The Kamelet outputs MongoDB documents as JSON objects, preserving the original document structure including ObjectId fields.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mongodb-source"
+      parameters:
+        hosts: "mongodb.example.com:27017"
+        database: "analytics"
+        collection: "events"
+        username: "mongouser"
+        password: "mongopass"
+        query: '{"status": "active"}'
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Tailable Cursor
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mongodb-source"
+      parameters:
+        hosts: "mongodb.example.com:27017"
+        database: "logs"
+        collection: "app_logs"
+        username: "mongouser"
+        password: "mongopass"
+        tail: true
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Replica Set Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mongodb-source"
+      parameters:
+        hosts: "mongo1.example.com:27017,mongo2.example.com:27017,mongo3.example.com:27017"
+        database: "production"
+        collection: "orders"
+        username: "mongouser"
+        password: "mongopass"
+        query: '{"created_at": {"$gte": {"$date": "2023-01-01T00:00:00Z"}}}'
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Query Format
+
+MongoDB queries should be provided in standard MongoDB JSON query format. The kamelet supports complex queries including operators like $gte, $lte, $in, etc.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/mqtt-sink-description.adoc b/docs/modules/ROOT/partials/mqtt-sink-description.adoc
new file mode 100644
index 000000000..2a532c252
--- /dev/null
+++ b/docs/modules/ROOT/partials/mqtt-sink-description.adoc
@@ -0,0 +1,30 @@
+== MQTT Sink Kamelet Description
+
+=== MQTT Protocol
+
+This Kamelet implements the MQTT (Message Queuing Telemetry Transport) protocol, a lightweight messaging protocol designed for IoT devices and applications with limited bandwidth or unreliable network connections.
+
+=== Broker Integration
+
+Connects to MQTT brokers using configurable broker URLs. Supports various MQTT brokers including Eclipse Mosquitto, HiveMQ, and cloud-based MQTT services.
+
+=== Publish-Subscribe Pattern
+
+Enables publish-subscribe messaging by sending messages to MQTT topics. This pattern allows for decoupled communication between message producers and consumers.
+
+=== Authentication
+
+Optional username and password authentication for secure broker connections. Suitable for both open and secured MQTT broker deployments.
+
+=== IoT and Mobile Applications
+
+MQTT's lightweight nature makes it ideal for:
+
+- IoT device communication
+- Mobile applications with limited bandwidth
+- Unreliable network scenarios
+- Battery-powered devices requiring minimal overhead
+
+=== Quality of Service
+
+MQTT supports different Quality of Service levels for message delivery guarantees, though this Kamelet uses the default QoS settings provided by the underlying MQTT client.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/mqtt-source-description.adoc b/docs/modules/ROOT/partials/mqtt-source-description.adoc
new file mode 100644
index 000000000..8302d6a91
--- /dev/null
+++ b/docs/modules/ROOT/partials/mqtt-source-description.adoc
@@ -0,0 +1,84 @@
+== MQTT Source Kamelet Description
+
+=== Authentication
+
+This Kamelet supports MQTT authentication using username and password credentials. It can also connect to MQTT brokers without authentication if not required.
+
+=== Configuration
+
+The MQTT Source Kamelet supports the following configurations:
+
+- **Topic**: MQTT topic to subscribe to (required)
+- **Broker URL**: MQTT broker URL (required, e.g., tcp://broker.example.com:1883)
+- **Username**: Username for MQTT authentication (optional)
+- **Password**: Password for MQTT authentication (optional)
+- **Client ID**: MQTT client identifier (optional)
+- **Quality of Service**: QoS level (0, 1, or 2)
+- **Retain**: Whether to retain messages
+- **Clean Session**: Whether to start a clean session
+
+=== Output Format
+
+The Kamelet outputs MQTT message payload along with MQTT headers including topic, QoS level, and message properties.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mqtt-source"
+      parameters:
+        topic: "sensors/temperature"
+        brokerUrl: "tcp://mqtt.example.com:1883"
+        username: "mqttuser"
+        password: "mqttpass"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with QoS Configuration
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mqtt-source"
+      parameters:
+        topic: "critical/alerts"
+        brokerUrl: "tcp://mqtt.example.com:1883"
+        username: "mqttuser"
+        password: "mqttpass"
+        qualityOfService: "2"
+        clientId: "camel-consumer-1"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with SSL/TLS
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mqtt-source"
+      parameters:
+        topic: "secure/data"
+        brokerUrl: "ssl://mqtt.example.com:8883"
+        username: "mqttuser"
+        password: "mqttpass"
+        qualityOfService: "1"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Quality of Service Levels
+
+- **QoS 0**: At most once delivery (fire and forget)
+- **QoS 1**: At least once delivery (acknowledged delivery)
+- **QoS 2**: Exactly once delivery (assured delivery)
+
+Choose the appropriate QoS level based on your reliability requirements.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/mqtt5-sink-description.adoc b/docs/modules/ROOT/partials/mqtt5-sink-description.adoc
new file mode 100644
index 000000000..b361c5c4e
--- /dev/null
+++ b/docs/modules/ROOT/partials/mqtt5-sink-description.adoc
@@ -0,0 +1,30 @@
+== MQTT v5 Sink Kamelet Description
+
+=== MQTT v5 Protocol
+
+This Kamelet implements MQTT version 5.0, the latest version of the MQTT protocol that provides enhanced features over previous versions including improved error reporting, session expiry, and user properties.
+
+=== Broker Connectivity
+
+Connects to any MQTT v5 compliant broker using configurable broker URLs. Supports various connection protocols including TCP, SSL, and WebSocket connections.
+
+=== Authentication
+
+Optional username and password authentication for secure broker connections. Credentials are securely managed for broker access control.
+
+=== Enhanced Features
+
+MQTT v5 provides several enhancements over previous versions:
+
+- Improved error reporting and reason codes
+- Session expiry intervals
+- User properties for custom metadata
+- Subscription options and shared subscriptions
+
+=== Topic Publishing
+
+Publishes messages to specified MQTT topics, enabling reliable message delivery in IoT and messaging scenarios.
+
+=== Lightweight Protocol
+
+MQTT is designed for lightweight, low-bandwidth, and unreliable network scenarios, making it ideal for IoT devices and mobile applications.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/mqtt5-source-description.adoc b/docs/modules/ROOT/partials/mqtt5-source-description.adoc
new file mode 100644
index 000000000..2946cef1f
--- /dev/null
+++ b/docs/modules/ROOT/partials/mqtt5-source-description.adoc
@@ -0,0 +1,43 @@
+== Mqtt5 Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Mqtt5 using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Mqtt5 and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Mqtt5:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: mqtt5-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: mqtt5-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/ms-exchange-online-imap-oauth-source-description.adoc b/docs/modules/ROOT/partials/ms-exchange-online-imap-oauth-source-description.adoc
new file mode 100644
index 000000000..4334ee089
--- /dev/null
+++ b/docs/modules/ROOT/partials/ms-exchange-online-imap-oauth-source-description.adoc
@@ -0,0 +1,43 @@
+== Ms Exchange Online Imap Oauth Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Ms Exchange Online Imap Oauth using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Ms Exchange Online Imap Oauth and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Ms Exchange Online Imap Oauth:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: ms-exchange-online-imap-oauth-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: ms-exchange-online-imap-oauth-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/mysql-sink-description.adoc b/docs/modules/ROOT/partials/mysql-sink-description.adoc
new file mode 100644
index 000000000..18898d482
--- /dev/null
+++ b/docs/modules/ROOT/partials/mysql-sink-description.adoc
@@ -0,0 +1,21 @@
+== MySQL Sink Kamelet Description
+
+=== Database Connection
+
+This Kamelet connects to MySQL databases using the MySQL Connector/J JDBC driver. MySQL is one of the world's most popular open-source relational database management systems.
+
+=== Data Processing
+
+The Kamelet expects JSON input data which is automatically unmarshalled before executing the SQL query. This allows for seamless integration with JSON-based data sources.
+
+=== Parameterized Queries
+
+SQL queries use named parameters (e.g., `:#username`, `:#city`) that map to fields in the incoming JSON data. This approach provides protection against SQL injection attacks while maintaining query flexibility.
+
+=== Connection Management
+
+Uses Apache Commons DBCP2 for efficient database connection pooling. This provides optimal resource utilization and connection lifecycle management.
+
+=== Authentication and Security
+
+Requires username and password authentication for database access. The Kamelet uses the latest MySQL JDBC driver which supports modern security features and protocols.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/mysql-source-description.adoc b/docs/modules/ROOT/partials/mysql-source-description.adoc
new file mode 100644
index 000000000..6c537c302
--- /dev/null
+++ b/docs/modules/ROOT/partials/mysql-source-description.adoc
@@ -0,0 +1,84 @@
+== MySQL Source Kamelet Description
+
+=== Authentication
+
+This Kamelet requires username and password authentication to connect to a MySQL database. The credentials are configured through the `username` and `password` properties.
+
+=== Configuration
+
+The MySQL Source Kamelet supports the following configurations:
+
+- **Server Name**: The hostname or IP address of the MySQL server (required)
+- **Username**: Username for database authentication (required)
+- **Password**: Password for database authentication (required)
+- **Query**: SQL query to execute (required)
+- **Database Name**: Name of the MySQL database (required)
+- **Server Port**: Port number for the MySQL server (default: 3306)
+- **Period**: Interval between query executions in milliseconds
+- **Connection Properties**: Additional JDBC connection properties
+
+=== Output Format
+
+The Kamelet outputs query results as JSON objects. Each row from the result set is converted to a JSON object with column names as keys.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mysql-source"
+      parameters:
+        serverName: "mysql.example.com"
+        username: "dbuser"
+        password: "dbpass"
+        databaseName: "orders"
+        query: "SELECT * FROM orders WHERE status = 'PENDING'"
+        period: 30000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Custom Port
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mysql-source"
+      parameters:
+        serverName: "mysql.example.com"
+        serverPort: "3307"
+        username: "dbuser"
+        password: "dbpass"
+        databaseName: "analytics"
+        query: "SELECT id, name, created_at FROM users WHERE created_at > NOW() - INTERVAL 1 HOUR"
+        period: 60000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Parameterized Query
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:mysql-source"
+      parameters:
+        serverName: "mysql.example.com"
+        username: "dbuser"
+        password: "dbpass"
+        databaseName: "inventory"
+        query: "SELECT * FROM products WHERE stock_level < 10"
+        period: 120000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Connection Management
+
+The kamelet manages database connections automatically, including connection pooling and reconnection on failures. Query execution is scheduled at the specified interval.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/nats-sink-description.adoc b/docs/modules/ROOT/partials/nats-sink-description.adoc
new file mode 100644
index 000000000..dba401ecb
--- /dev/null
+++ b/docs/modules/ROOT/partials/nats-sink-description.adoc
@@ -0,0 +1,26 @@
+== NATS Sink Kamelet Description
+
+=== NATS Messaging System
+
+This Kamelet integrates with NATS, a high-performance messaging system designed for cloud-native applications, IoT messaging, and microservices architectures.
+
+=== High Performance
+
+NATS provides extremely high throughput and low latency messaging, making it suitable for real-time applications and high-frequency trading systems.
+
+=== Subject-Based Messaging
+
+Uses NATS subject-based messaging where messages are published to subjects (similar to topics) for efficient message routing and delivery.
+
+=== Cloud-Native Design
+
+NATS is designed for cloud-native environments with features like:
+
+- Horizontal scaling capabilities
+- Fault tolerance and high availability
+- Multi-tenancy support
+- Service mesh integration
+
+=== Authentication and Security
+
+Supports various authentication mechanisms and secure connections for enterprise deployments and sensitive data scenarios.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/nats-source-description.adoc b/docs/modules/ROOT/partials/nats-source-description.adoc
new file mode 100644
index 000000000..e0d3eedb7
--- /dev/null
+++ b/docs/modules/ROOT/partials/nats-source-description.adoc
@@ -0,0 +1,43 @@
+== Nats Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Nats using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Nats and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Nats:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: nats-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: nats-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/opensearch-index-sink-description.adoc b/docs/modules/ROOT/partials/opensearch-index-sink-description.adoc
new file mode 100644
index 000000000..257c1590d
--- /dev/null
+++ b/docs/modules/ROOT/partials/opensearch-index-sink-description.adoc
@@ -0,0 +1,26 @@
+== OpenSearch Index Sink Kamelet Description
+
+=== OpenSearch Integration
+
+This Kamelet integrates with OpenSearch, an open-source search and analytics engine derived from Elasticsearch. OpenSearch provides powerful full-text search and analytics capabilities.
+
+=== Index Operations
+
+Performs indexing operations to store documents in OpenSearch indices, enabling efficient search and analytics on the indexed data.
+
+=== Document Indexing
+
+Processes incoming data and indexes it as documents in OpenSearch, making the data searchable and available for analytics queries.
+
+=== Distributed Search Engine
+
+OpenSearch is designed as a distributed search engine that can:
+
+- Scale horizontally across multiple nodes
+- Provide real-time search capabilities
+- Support complex analytics and aggregations
+- Handle large volumes of data
+
+=== Open Source Alternative
+
+OpenSearch serves as an open-source alternative to Elasticsearch, maintaining compatibility while providing community-driven development and governance.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/opensearch-search-source-description.adoc b/docs/modules/ROOT/partials/opensearch-search-source-description.adoc
new file mode 100644
index 000000000..7976dc47e
--- /dev/null
+++ b/docs/modules/ROOT/partials/opensearch-search-source-description.adoc
@@ -0,0 +1,43 @@
+== Opensearch Search Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Opensearch Search using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Opensearch Search and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Opensearch Search:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: opensearch-search-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: opensearch-search-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/oracle-database-sink-description.adoc b/docs/modules/ROOT/partials/oracle-database-sink-description.adoc
new file mode 100644
index 000000000..d44f92b9e
--- /dev/null
+++ b/docs/modules/ROOT/partials/oracle-database-sink-description.adoc
@@ -0,0 +1,25 @@
+== Oracle Database Sink Kamelet Description
+
+=== Enterprise Database Integration
+
+This Kamelet provides integration with Oracle Database, a leading enterprise-grade relational database management system known for its performance, reliability, and advanced features.
+
+=== JDBC Connectivity
+
+Uses Oracle's thin JDBC driver for efficient database connectivity. The thin driver provides a pure Java implementation that doesn't require Oracle client software installation.
+
+=== Data Processing
+
+Expects JSON input data which is unmarshalled before SQL execution. The JSON data fields can be referenced in SQL queries using named parameters for secure data binding.
+
+=== Query Parameterization
+
+Supports named parameters in SQL queries (e.g., `:#username`, `:#city`) that correspond to incoming JSON data fields. This provides secure, injection-resistant query execution.
+
+=== Connection Pooling
+
+Utilizes Apache Commons DBCP2 for connection pooling, ensuring efficient resource management and optimal database performance in enterprise environments.
+
+=== Enterprise Features
+
+Oracle Database supports advanced features like transactions, stored procedures, and complex data types, making this Kamelet suitable for enterprise-level applications.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/oracle-database-source-description.adoc b/docs/modules/ROOT/partials/oracle-database-source-description.adoc
new file mode 100644
index 000000000..5c6a7cc07
--- /dev/null
+++ b/docs/modules/ROOT/partials/oracle-database-source-description.adoc
@@ -0,0 +1,46 @@
+== Oracle Database Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Oracle Database using:
+
+- Database-specific connection credentials
+- Username and password authentication
+- Connection URL/string configuration
+
+=== Output format
+
+The Kamelet monitors Oracle Database for changes and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires database connection parameters:
+
+- Database connection URL/server information
+- Username and password for authentication
+- Query or monitoring configuration
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: oracle-database-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: oracle-database-source
+    properties:
+      serverName: "database-server"
+      username: "{{username}}"
+      password: "{{password}}"
+      databaseName: "mydb"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/postgresql-sink-description.adoc b/docs/modules/ROOT/partials/postgresql-sink-description.adoc
new file mode 100644
index 000000000..cbe9ecff1
--- /dev/null
+++ b/docs/modules/ROOT/partials/postgresql-sink-description.adoc
@@ -0,0 +1,25 @@
+== PostgreSQL Sink Kamelet Description
+
+=== Input Format
+
+This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters.
+
+=== Query Example
+
+Here is an example query:
+
+[source,sql]
+----
+INSERT INTO accounts (username,city) VALUES (:#username,:#city)
+----
+
+Here is example input for the example query:
+
+[source,json]
+----
+{ "username":"oscerd", "city":"Rome"}
+----
+
+=== Authentication
+
+The Kamelet requires username and password authentication to connect to the PostgreSQL database.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/postgresql-source-description.adoc b/docs/modules/ROOT/partials/postgresql-source-description.adoc
new file mode 100644
index 000000000..8d8ef7095
--- /dev/null
+++ b/docs/modules/ROOT/partials/postgresql-source-description.adoc
@@ -0,0 +1,64 @@
+== PostgreSQL Source Kamelet Description
+
+=== Authentication
+
+This Kamelet requires username and password authentication to connect to a PostgreSQL database. The credentials are configured through the `username` and `password` properties.
+
+=== Configuration
+
+The PostgreSQL Source Kamelet supports the following configurations:
+
+- **Server Name**: The hostname or IP address of the PostgreSQL server (required)
+- **Username**: Username for database authentication (required)
+- **Password**: Password for database authentication (required)
+- **Query**: SQL query to execute (required)
+- **Database Name**: Name of the PostgreSQL database (required)
+- **Server Port**: Port number for the PostgreSQL server (default: 5432)
+- **Period**: Interval between query executions in milliseconds
+- **Connection Properties**: Additional JDBC connection properties
+
+=== Output Format
+
+The Kamelet outputs query results as JSON objects. Each row from the result set is converted to a JSON object with column names as keys.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:postgresql-source"
+      parameters:
+        serverName: "postgres.example.com"
+        username: "dbuser"
+        password: "dbpass"
+        databaseName: "analytics"
+        query: "SELECT * FROM events WHERE created_at > NOW() - INTERVAL '1 hour'"
+        period: 30000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Complex Query
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:postgresql-source"
+      parameters:
+        serverName: "postgres.example.com"
+        username: "dbuser"
+        password: "dbpass"
+        databaseName: "ecommerce"
+        query: "SELECT o.id, o.total, u.email FROM orders o JOIN users u ON o.user_id = u.id WHERE o.status = 'PENDING'"
+        period: 60000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Connection Management
+
+The kamelet manages PostgreSQL connections automatically, including connection pooling and reconnection on failures. Query execution is scheduled at the specified interval with robust error handling.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/pulsar-sink-description.adoc b/docs/modules/ROOT/partials/pulsar-sink-description.adoc
new file mode 100644
index 000000000..100835901
--- /dev/null
+++ b/docs/modules/ROOT/partials/pulsar-sink-description.adoc
@@ -0,0 +1,30 @@
+== Pulsar Sink Kamelet Description
+
+=== Apache Pulsar Integration
+
+This Kamelet integrates with Apache Pulsar, a distributed messaging and streaming platform built for the cloud. Pulsar provides unified messaging and streaming with high scalability and low latency.
+
+=== Multi-Tenancy
+
+Pulsar supports native multi-tenancy with namespaces and topics organized within tenants, providing isolation and resource management for different applications and teams.
+
+=== Geo-Replication
+
+Built-in geo-replication capabilities enable data replication across multiple data centers for disaster recovery and global data distribution scenarios.
+
+=== Persistent and Non-Persistent Messaging
+
+Supports both persistent messaging (with data durability) and non-persistent messaging (for low-latency scenarios) based on application requirements.
+
+=== Schema Registry Integration
+
+Pulsar includes built-in schema registry support for schema evolution and validation, ensuring data compatibility across producers and consumers.
+
+=== Cloud-Native Architecture
+
+Designed for cloud-native deployments with:
+
+- Horizontal scaling capabilities
+- Kubernetes integration
+- Multi-cloud support
+- Serverless computing integration
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/pulsar-source-description.adoc b/docs/modules/ROOT/partials/pulsar-source-description.adoc
new file mode 100644
index 000000000..088f3830f
--- /dev/null
+++ b/docs/modules/ROOT/partials/pulsar-source-description.adoc
@@ -0,0 +1,43 @@
+== Pulsar Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Pulsar using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Pulsar and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Pulsar:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: pulsar-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: pulsar-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/redis-sink-description.adoc b/docs/modules/ROOT/partials/redis-sink-description.adoc
new file mode 100644
index 000000000..11faf1db1
--- /dev/null
+++ b/docs/modules/ROOT/partials/redis-sink-description.adoc
@@ -0,0 +1,39 @@
+== Redis Sink Kamelet Description
+
+=== In-Memory Data Store
+
+This Kamelet integrates with Redis, an open-source, in-memory data structure store used as a database, cache, and message broker. Redis provides high performance and low latency data operations.
+
+=== Data Structures
+
+Redis supports various data structures including:
+
+- Strings and binary-safe strings
+- Lists, sets, and sorted sets
+- Hashes and bitmaps
+- HyperLogLogs and streams
+
+=== Caching and Session Storage
+
+Commonly used for caching frequently accessed data and session storage in web applications, providing fast data retrieval and improved application performance.
+
+=== Persistence Options
+
+Redis offers configurable persistence options including:
+
+- RDB snapshots for point-in-time backups
+- AOF (Append Only File) for durability
+- Hybrid persistence combining both approaches
+
+=== High Availability
+
+Supports Redis Sentinel for high availability and Redis Cluster for horizontal scaling and automatic failover capabilities.
+
+=== Use Cases
+
+Ideal for scenarios requiring:
+
+- Fast data access and caching
+- Real-time analytics and counters
+- Session management
+- Pub/sub messaging patterns
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/redis-source-description.adoc b/docs/modules/ROOT/partials/redis-source-description.adoc
new file mode 100644
index 000000000..0bc4ba215
--- /dev/null
+++ b/docs/modules/ROOT/partials/redis-source-description.adoc
@@ -0,0 +1,75 @@
+== Redis Source Kamelet Description
+
+=== Authentication
+
+This Kamelet supports Redis authentication using password-based authentication. The connection can be configured with or without authentication depending on your Redis setup.
+
+=== Configuration
+
+The Redis Source Kamelet supports the following configurations:
+
+- **Redis Host**: The hostname or IP address of the Redis server (required)
+- **Redis Port**: The port number of the Redis server (default: 6379)
+- **Password**: Password for Redis authentication (optional)
+- **Channels**: Redis channels to subscribe to (required)
+- **Connection Timeout**: Connection timeout in milliseconds
+- **Database**: Redis database number to connect to
+
+=== Output Format
+
+The Kamelet outputs Redis messages received from subscribed channels. Messages include both the channel name and message content.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:redis-source"
+      parameters:
+        redisHost: "redis.example.com"
+        redisPort: "6379"
+        password: "redispass"
+        channels: "notifications,alerts"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Multiple Channels
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:redis-source"
+      parameters:
+        redisHost: "redis.example.com"
+        redisPort: "6379"
+        channels: "user-events,system-events,admin-events"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Database Selection
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:redis-source"
+      parameters:
+        redisHost: "redis.example.com"
+        redisPort: "6379"
+        password: "redispass"
+        database: "1"
+        channels: "cache-invalidation"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Pub/Sub Pattern
+
+This kamelet implements the Redis publish/subscribe pattern, allowing real-time message consumption from Redis channels. Multiple channels can be subscribed to simultaneously by providing a comma-separated list.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/rest-openapi-sink-description.adoc b/docs/modules/ROOT/partials/rest-openapi-sink-description.adoc
new file mode 100644
index 000000000..cd9189308
--- /dev/null
+++ b/docs/modules/ROOT/partials/rest-openapi-sink-description.adoc
@@ -0,0 +1,30 @@
+== REST OpenAPI Sink Kamelet Description
+
+=== RESTful API Integration
+
+This Kamelet provides integration with RESTful APIs that are documented using OpenAPI specifications. It enables standardized API communication based on OpenAPI/Swagger definitions.
+
+=== OpenAPI Specification
+
+Uses OpenAPI specifications to understand API endpoints, request/response formats, and authentication requirements, ensuring consistent and documented API interactions.
+
+=== HTTP Operations
+
+Supports various HTTP operations (GET, POST, PUT, DELETE, etc.) as defined in the OpenAPI specification, providing comprehensive REST API integration capabilities.
+
+=== Schema Validation
+
+OpenAPI specifications include schema definitions that can be used for request and response validation, ensuring data integrity and API compliance.
+
+=== Documentation-Driven Development
+
+Enables documentation-driven API development where the API specification serves as the contract between API providers and consumers.
+
+=== Standards Compliance
+
+Follows REST architectural principles and OpenAPI standards for:
+
+- Consistent API design patterns
+- Standardized error handling
+- Clear documentation and discoverability
+- Interoperability across platforms
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/salesforce-composite-upsert-sink-description.adoc b/docs/modules/ROOT/partials/salesforce-composite-upsert-sink-description.adoc
new file mode 100644
index 000000000..aa74e9714
--- /dev/null
+++ b/docs/modules/ROOT/partials/salesforce-composite-upsert-sink-description.adoc
@@ -0,0 +1,30 @@
+== Salesforce Composite Upsert Sink Kamelet Description
+
+=== Salesforce CRM Integration
+
+This Kamelet integrates with Salesforce CRM using composite upsert operations. Composite operations allow multiple records to be processed in a single API call, improving efficiency and reducing API usage.
+
+=== Upsert Operations
+
+Performs upsert (insert or update) operations that create new records if they don't exist or update existing records based on external ID fields. This provides flexible data synchronization capabilities.
+
+=== Batch Processing
+
+Composite operations enable batch processing of multiple records in a single request, reducing API call overhead and improving performance for bulk data operations.
+
+=== External ID Matching
+
+Uses external ID fields for record matching, allowing integration with external systems while maintaining data relationships and avoiding duplicate records.
+
+=== API Efficiency
+
+Salesforce composite operations optimize API usage by:
+
+- Reducing the number of API calls
+- Minimizing network round trips
+- Improving overall integration performance
+- Supporting bulk data operations
+
+=== Error Handling
+
+Provides detailed error information for each record in the composite operation, enabling granular error handling and data quality management.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/salesforce-create-sink-description.adoc b/docs/modules/ROOT/partials/salesforce-create-sink-description.adoc
new file mode 100644
index 000000000..575400168
--- /dev/null
+++ b/docs/modules/ROOT/partials/salesforce-create-sink-description.adoc
@@ -0,0 +1,29 @@
+== Salesforce Create Sink Kamelet Description
+
+=== Salesforce CRM Integration
+
+This Kamelet integrates with Salesforce CRM to create new records in Salesforce objects. It provides direct integration with Salesforce's REST API for record creation operations.
+
+=== Record Creation
+
+Creates new records in specified Salesforce objects (such as Accounts, Contacts, Leads, Opportunities, or custom objects) using the Salesforce REST API.
+
+=== Object Flexibility
+
+Supports creation of records in any Salesforce object, including:
+
+- Standard objects (Account, Contact, Lead, etc.)
+- Custom objects specific to your organization
+- Junction objects for many-to-many relationships
+
+=== Field Mapping
+
+Maps incoming data fields to Salesforce object fields, enabling seamless data transformation and integration between external systems and Salesforce.
+
+=== API Authentication
+
+Uses Salesforce OAuth or other supported authentication mechanisms for secure API access and operation authorization.
+
+=== Data Validation
+
+Leverages Salesforce's built-in data validation rules, field requirements, and business logic to ensure data quality and consistency during record creation.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/salesforce-delete-sink-description.adoc b/docs/modules/ROOT/partials/salesforce-delete-sink-description.adoc
new file mode 100644
index 000000000..325f4f01d
--- /dev/null
+++ b/docs/modules/ROOT/partials/salesforce-delete-sink-description.adoc
@@ -0,0 +1,29 @@
+== Salesforce Delete Sink Kamelet Description
+
+=== Salesforce CRM Integration
+
+This Kamelet integrates with Salesforce CRM to delete records from Salesforce objects. It provides secure record deletion capabilities through Salesforce's REST API.
+
+=== Record Deletion
+
+Deletes records from specified Salesforce objects using record IDs or external ID fields. Supports deletion of records from any accessible Salesforce object.
+
+=== Safety and Recovery
+
+Salesforce provides safety mechanisms for deleted records:
+
+- Deleted records are moved to the Recycle Bin
+- Records can be restored within the retention period
+- Audit trails maintain deletion history
+
+=== Cascade Effects
+
+Considers Salesforce's cascade deletion rules and relationships when deleting records, ensuring referential integrity and proper handling of related data.
+
+=== Bulk Operations
+
+Can be used for both individual record deletions and bulk deletion operations, depending on the integration requirements and data volume.
+
+=== Permission Controls
+
+Respects Salesforce's object-level and field-level security settings, ensuring that only authorized operations are performed based on user permissions.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/salesforce-source-description.adoc b/docs/modules/ROOT/partials/salesforce-source-description.adoc
new file mode 100644
index 000000000..e8c13afe6
--- /dev/null
+++ b/docs/modules/ROOT/partials/salesforce-source-description.adoc
@@ -0,0 +1,83 @@
+== Salesforce Source Kamelet Description
+
+=== Authentication
+
+This Kamelet requires Salesforce OAuth2 authentication using client credentials. You need to create a connected app in Salesforce and obtain the client ID, client secret, and other authentication details.
+
+=== Configuration
+
+The Salesforce Source Kamelet supports the following configurations:
+
+- **Client ID**: Salesforce connected app client ID (required)
+- **Client Secret**: Salesforce connected app client secret (required)
+- **Username**: Salesforce username (required)
+- **Password**: Salesforce password + security token (required)
+- **Login URL**: Salesforce login URL (default: https://login.salesforce.com)
+- **API Version**: Salesforce API version (default: latest)
+- **SObject Name**: Salesforce object to query (required)
+- **SObject Query**: SOQL query to execute
+
+=== Output Format
+
+The Kamelet outputs Salesforce records as JSON objects following the Salesforce REST API response format, including record metadata and field values.
+
+=== Setup Requirements
+
+1. Create a Connected App in Salesforce Setup
+2. Configure OAuth settings and permissions
+3. Obtain Client ID and Client Secret
+4. Generate or obtain security token for the user
+5. Ensure proper API permissions are granted
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:salesforce-source"
+      parameters:
+        clientId: "your-client-id"
+        clientSecret: "your-client-secret"
+        username: "salesforce-user@example.com"
+        password: "password-with-security-token"
+        sObjectName: "Account"
+        sObjectQuery: "SELECT Id, Name, Industry FROM Account WHERE Industry = 'Technology'"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Custom Login URL
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:salesforce-source"
+      parameters:
+        clientId: "your-client-id"
+        clientSecret: "your-client-secret"
+        username: "salesforce-user@example.com"
+        password: "password-with-security-token"
+        loginUrl: "https://test.salesforce.com"
+        sObjectName: "Contact"
+        sObjectQuery: "SELECT Id, FirstName, LastName, Email FROM Contact WHERE CreatedDate = TODAY"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== SOQL Query Examples
+
+- Simple selection: `SELECT Id, Name FROM Account`
+- With conditions: `SELECT Id, Name FROM Account WHERE Industry = 'Technology'`
+- With date filters: `SELECT Id, Name FROM Account WHERE CreatedDate >= YESTERDAY`
+- With relationships: `SELECT Id, Name, (SELECT Id, FirstName FROM Contacts) FROM Account`
+
+=== Security Considerations
+
+- Store credentials securely using secrets management
+- Use IP restrictions in Connected App settings
+- Rotate client secrets periodically
+- Monitor API usage to stay within limits
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/salesforce-update-sink-description.adoc b/docs/modules/ROOT/partials/salesforce-update-sink-description.adoc
new file mode 100644
index 000000000..d449f8d88
--- /dev/null
+++ b/docs/modules/ROOT/partials/salesforce-update-sink-description.adoc
@@ -0,0 +1,39 @@
+== Salesforce Update Sink Kamelet Description
+
+=== Salesforce CRM Integration
+
+This Kamelet integrates with Salesforce CRM to update existing records in Salesforce objects. It provides efficient record modification capabilities through Salesforce's REST API.
+
+=== Record Updates
+
+Updates existing records in specified Salesforce objects using record IDs or external ID fields. Supports partial updates where only modified fields are updated.
+
+=== Field-Level Updates
+
+Enables selective field updates without affecting other record fields, providing granular control over data modifications and preserving unchanged data.
+
+=== Optimistic Locking
+
+Salesforce provides optimistic locking mechanisms to prevent conflicts when multiple systems attempt to update the same record simultaneously.
+
+=== Validation and Workflow
+
+Updated records are subject to Salesforce's validation rules, workflow rules, and triggers, ensuring business logic enforcement and data integrity.
+
+=== Audit Trail
+
+Salesforce maintains comprehensive audit trails for record updates, including:
+
+- Field history tracking
+- User identification
+- Timestamp information
+- Before and after values
+
+=== Integration Patterns
+
+Supports various integration patterns including:
+
+- Real-time data synchronization
+- Batch update operations
+- Event-driven updates
+- Scheduled data maintenance
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/scp-sink-description.adoc b/docs/modules/ROOT/partials/scp-sink-description.adoc
new file mode 100644
index 000000000..bc4dba966
--- /dev/null
+++ b/docs/modules/ROOT/partials/scp-sink-description.adoc
@@ -0,0 +1,34 @@
+== SCP Sink Kamelet Description
+
+=== Secure File Transfer
+
+This Kamelet provides secure file transfer capabilities using SCP (Secure Copy Protocol). SCP enables encrypted file transfers over SSH connections, ensuring data security during transmission.
+
+=== SSH-Based Security
+
+Uses SSH protocol for authentication and encryption, providing strong security for file transfers across networks. Supports both password and key-based authentication methods.
+
+=== Remote File Placement
+
+Transfers files to remote servers and places them in specified directories with configurable file names and permissions.
+
+=== Network Efficiency
+
+SCP provides efficient file transfer capabilities suitable for:
+
+- Automated file deployments
+- Backup operations
+- Data distribution across systems
+- Secure file archiving
+
+=== Authentication Methods
+
+Supports multiple authentication methods:
+
+- Username and password authentication
+- Public key authentication
+- Host key verification for security
+
+=== Cross-Platform Support
+
+Works across different operating systems and platforms, providing consistent secure file transfer capabilities regardless of the target system architecture.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/sftp-sink-description.adoc b/docs/modules/ROOT/partials/sftp-sink-description.adoc
new file mode 100644
index 000000000..4b35b2a97
--- /dev/null
+++ b/docs/modules/ROOT/partials/sftp-sink-description.adoc
@@ -0,0 +1,35 @@
+== SFTP Sink Kamelet Description
+
+=== Secure File Transfer Protocol
+
+This Kamelet provides secure file transfer capabilities using SFTP (SSH File Transfer Protocol). SFTP enables encrypted file transfers over SSH connections with comprehensive file management features.
+
+=== SSH-Based Security
+
+Built on top of SSH protocol, SFTP provides strong authentication and encryption for all file transfer operations, ensuring data confidentiality and integrity.
+
+=== File Management Operations
+
+Supports comprehensive file operations including:
+
+- File uploads and downloads
+- Directory creation and navigation
+- File and directory listing
+- Permission and attribute management
+
+=== Authentication Methods
+
+Supports multiple authentication mechanisms:
+
+- Username and password authentication
+- Public key authentication
+- Interactive keyboard authentication
+- Host key verification
+
+=== Resume and Recovery
+
+SFTP supports file transfer resume capabilities, allowing interrupted transfers to continue from where they left off, improving reliability for large file transfers.
+
+=== Cross-Platform Compatibility
+
+Works seamlessly across different operating systems and platforms, providing consistent secure file transfer capabilities in heterogeneous environments.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/sftp-source-description.adoc b/docs/modules/ROOT/partials/sftp-source-description.adoc
new file mode 100644
index 000000000..8f25c7790
--- /dev/null
+++ b/docs/modules/ROOT/partials/sftp-source-description.adoc
@@ -0,0 +1,88 @@
+== SFTP Source Kamelet Description
+
+=== Authentication
+
+This Kamelet supports SFTP authentication using username and password credentials. SFTP provides secure file transfer over SSH, ensuring encrypted communication.
+
+=== Configuration
+
+The SFTP Source Kamelet supports the following configurations:
+
+- **Connection Host**: The hostname or IP address of the SFTP server (required)
+- **Connection Port**: The port number of the SFTP server (default: 22)
+- **Username**: Username for SFTP authentication (required)
+- **Password**: Password for SFTP authentication (required)
+- **Directory Name**: The starting directory path on the SFTP server (required)
+- **Recursive**: Process files in subdirectories (default: false)
+- **Idempotent**: Skip already-processed files (default: true)
+- **Binary**: Use binary transfer mode instead of ASCII (default: false)
+- **Auto Create**: Automatically create the starting directory if it doesn't exist (default: true)
+- **Delete**: Delete files after successful processing (default: false)
+
+=== Output Format
+
+The Kamelet outputs file content as an `InputStream` and sets headers with file information:
+- `file`: The name of the processed file
+- `ce-file`: Cloud Events compatible file name header
+
+=== Security
+
+SFTP provides enhanced security over standard FTP by using SSH for authentication and encryption, ensuring that credentials and data are transmitted securely.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:sftp-source"
+      parameters:
+        connectionHost: "sftp.example.com"
+        connectionPort: "22"
+        username: "sftpuser"
+        password: "sftppass"
+        directoryName: "/incoming"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Recursive Processing
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:sftp-source"
+      parameters:
+        connectionHost: "sftp.example.com"
+        username: "sftpuser"
+        password: "sftppass"
+        directoryName: "/data"
+        recursive: true
+        binary: true
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with File Deletion
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:sftp-source"
+      parameters:
+        connectionHost: "sftp.example.com"
+        username: "sftpuser"
+        password: "sftppass"
+        directoryName: "/processed"
+        delete: true
+        idempotent: false
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+This example deletes files after processing and disables idempotency to allow re-processing of files with the same name.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/slack-sink-description.adoc b/docs/modules/ROOT/partials/slack-sink-description.adoc
new file mode 100644
index 000000000..b7fcdc826
--- /dev/null
+++ b/docs/modules/ROOT/partials/slack-sink-description.adoc
@@ -0,0 +1,41 @@
+== Slack Sink Kamelet Description
+
+=== Team Communication Integration
+
+This Kamelet integrates with Slack, a popular team collaboration and messaging platform. It enables automated message posting to Slack channels, users, or groups.
+
+=== Channel and Direct Messaging
+
+Supports posting messages to:
+
+- Public and private channels
+- Direct messages to users
+- Group conversations
+- Thread replies for organized discussions
+
+=== Rich Message Formatting
+
+Slack supports rich message formatting including:
+
+- Text formatting (bold, italic, code blocks)
+- Mentions (@user, @channel, @here)
+- Emoji and reactions
+- Attachments and interactive elements
+
+=== Bot Integration
+
+Often used with Slack bots and applications to provide automated notifications, alerts, and system status updates to team members.
+
+=== API Authentication
+
+Uses Slack's API authentication mechanisms including bot tokens, OAuth tokens, and webhook URLs for secure message posting.
+
+=== Notification Patterns
+
+Common use cases include:
+
+- System alerts and monitoring notifications
+- CI/CD pipeline status updates
+- Business process notifications
+- Customer support escalations
+- Automated reporting and metrics
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/slack-source-description.adoc b/docs/modules/ROOT/partials/slack-source-description.adoc
new file mode 100644
index 000000000..06ca21f66
--- /dev/null
+++ b/docs/modules/ROOT/partials/slack-source-description.adoc
@@ -0,0 +1,84 @@
+== Slack Source Kamelet Description
+
+=== Authentication
+
+This Kamelet requires a Slack app token for authentication. You need to create a Slack app and obtain the necessary permissions to access channels and messages.
+
+=== Configuration
+
+The Slack Source Kamelet supports the following configurations:
+
+- **Token**: Slack app token for authentication (required)
+- **Channel**: Slack channel to monitor (required)
+- **Server URL**: Slack API server URL (optional, defaults to Slack's API)
+- **Delay**: Polling interval in milliseconds for checking new messages
+- **Max Results**: Maximum number of messages to retrieve per poll
+
+=== Output Format
+
+The Kamelet outputs Slack messages as JSON objects containing message content, user information, timestamp, and channel details.
+
+=== Setup Requirements
+
+1. Create a Slack app in your workspace
+2. Add necessary OAuth scopes (channels:history, channels:read)
+3. Install the app to your workspace
+4. Copy the OAuth access token
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:slack-source"
+      parameters:
+        token: "xoxb-your-slack-bot-token"
+        channel: "#general"
+        delay: 10000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Specific Channel ID
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:slack-source"
+      parameters:
+        token: "xoxb-your-slack-bot-token"
+        channel: "C1234567890"
+        delay: 5000
+        maxResults: 50
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example Monitoring Multiple Aspects
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:slack-source"
+      parameters:
+        token: "xoxb-your-slack-bot-token"
+        channel: "#alerts"
+        delay: 30000
+      steps:
+        - filter:
+            simple: "${body.contains('ERROR')}"
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Security Considerations
+
+- Store the Slack token securely as a secret
+- Use appropriate OAuth scopes to limit access
+- Monitor token usage and rotate tokens periodically
+- Consider using Slack's real-time messaging API for high-frequency scenarios
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/snowflake-sink-description.adoc b/docs/modules/ROOT/partials/snowflake-sink-description.adoc
new file mode 100644
index 000000000..d4c0bdd03
--- /dev/null
+++ b/docs/modules/ROOT/partials/snowflake-sink-description.adoc
@@ -0,0 +1,25 @@
+== Snowflake Sink Kamelet Description
+
+=== Cloud Data Warehouse
+
+This Kamelet integrates with Snowflake, a cloud-based data warehouse platform that provides scalable data storage and analytics capabilities. Snowflake is designed for modern data architecture and cloud-native applications.
+
+=== JDBC Connectivity
+
+Uses the Snowflake JDBC driver for native connectivity to Snowflake instances. The driver provides optimized performance and supports Snowflake-specific features and data types.
+
+=== Instance Configuration
+
+Requires configuration of the Snowflake instance URL (e.g., `instance.snowflakecomputing.com`) which uniquely identifies your Snowflake account and region.
+
+=== Data Processing
+
+Processes JSON input data through unmarshalling before executing SQL queries. This enables seamless integration with JSON-based data pipelines and streaming applications.
+
+=== Query Execution
+
+Supports parameterized SQL queries using named parameters that map to JSON data fields. This ensures secure and efficient data insertion into Snowflake tables.
+
+=== Cloud-Native Features
+
+Snowflake's cloud-native architecture provides automatic scaling, performance optimization, and enterprise-grade security, making this Kamelet suitable for large-scale data operations.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/snowflake-source-description.adoc b/docs/modules/ROOT/partials/snowflake-source-description.adoc
new file mode 100644
index 000000000..a026bcd54
--- /dev/null
+++ b/docs/modules/ROOT/partials/snowflake-source-description.adoc
@@ -0,0 +1,46 @@
+== Snowflake Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Snowflake using:
+
+- Database-specific connection credentials
+- Username and password authentication
+- Connection URL/string configuration
+
+=== Output format
+
+The Kamelet monitors Snowflake for changes and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires database connection parameters:
+
+- Database connection URL/server information
+- Username and password for authentication
+- Query or monitoring configuration
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: snowflake-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: snowflake-source
+    properties:
+      serverName: "database-server"
+      username: "{{username}}"
+      password: "{{password}}"
+      databaseName: "mydb"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/solr-sink-description.adoc b/docs/modules/ROOT/partials/solr-sink-description.adoc
new file mode 100644
index 000000000..d105ceaee
--- /dev/null
+++ b/docs/modules/ROOT/partials/solr-sink-description.adoc
@@ -0,0 +1,36 @@
+== Solr Sink Kamelet Description
+
+=== Apache Solr Integration
+
+This Kamelet integrates with Apache Solr, a popular open-source search platform built on Apache Lucene. Solr provides powerful full-text search, faceted search, and analytics capabilities.
+
+=== Document Indexing
+
+Indexes documents in Solr cores or collections, making data searchable and available for complex queries and analytics operations.
+
+=== Schema Management
+
+Solr supports both schemaless and managed schema approaches, providing flexibility in defining field types, analyzers, and search configurations.
+
+=== Real-Time Search
+
+Provides real-time or near real-time search capabilities, enabling immediate searchability of indexed documents for dynamic applications.
+
+=== Distributed Search
+
+Supports distributed search through SolrCloud, enabling:
+
+- Horizontal scaling across multiple nodes
+- Automatic sharding and replication
+- High availability and fault tolerance
+- Load distribution for query processing
+
+=== Advanced Features
+
+Solr provides advanced search features including:
+
+- Faceted search and filtering
+- Highlighting and suggestions
+- Spatial and geographical search
+- Complex query syntax and boosting
+- Analytics and aggregations
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/solr-source-description.adoc b/docs/modules/ROOT/partials/solr-source-description.adoc
new file mode 100644
index 000000000..3d75c6e6f
--- /dev/null
+++ b/docs/modules/ROOT/partials/solr-source-description.adoc
@@ -0,0 +1,43 @@
+== Solr Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Solr using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Solr and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Solr:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: solr-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: solr-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/splunk-hec-sink-description.adoc b/docs/modules/ROOT/partials/splunk-hec-sink-description.adoc
new file mode 100644
index 000000000..a6ae4c984
--- /dev/null
+++ b/docs/modules/ROOT/partials/splunk-hec-sink-description.adoc
@@ -0,0 +1,43 @@
+== Splunk HEC Sink Kamelet Description
+
+=== Splunk HTTP Event Collector
+
+This Kamelet integrates with Splunk's HTTP Event Collector (HEC), which provides a fast and efficient way to send data to Splunk over HTTP/HTTPS connections.
+
+=== High-Performance Data Ingestion
+
+HEC is designed for high-volume data ingestion, supporting:
+
+- High throughput data streaming
+- Batch and real-time data ingestion
+- Efficient HTTP-based protocol
+- Load balancing across multiple Splunk indexers
+
+=== Event Formatting
+
+Supports Splunk event formatting with configurable:
+
+- Source and source type settings
+- Index targeting
+- Host identification
+- Custom field extraction
+- Timestamp handling
+
+=== Security and Authentication
+
+Provides secure data transmission through:
+
+- Token-based authentication
+- HTTPS encryption
+- IP allowlisting capabilities
+- Role-based access controls
+
+=== Monitoring and Analytics
+
+Ideal for sending various types of data to Splunk for:
+
+- Log aggregation and analysis
+- Metrics and performance monitoring
+- Security event correlation
+- Business intelligence and reporting
+- Machine learning and anomaly detection
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/splunk-sink-description.adoc b/docs/modules/ROOT/partials/splunk-sink-description.adoc
new file mode 100644
index 000000000..68fc37745
--- /dev/null
+++ b/docs/modules/ROOT/partials/splunk-sink-description.adoc
@@ -0,0 +1,43 @@
+== Splunk Sink Kamelet Description
+
+=== Splunk Platform Integration
+
+This Kamelet provides integration with Splunk, a comprehensive platform for searching, monitoring, and analyzing machine-generated data in real-time.
+
+=== Data Ingestion
+
+Sends data to Splunk for indexing and analysis, enabling comprehensive data analytics and operational intelligence across various data sources.
+
+=== Search and Analytics
+
+Splunk provides powerful capabilities for:
+
+- Full-text search across all indexed data
+- Real-time and historical data analysis
+- Complex correlation and pattern detection
+- Custom dashboards and visualizations
+- Alerting and notification systems
+
+=== Machine Learning
+
+Splunk includes machine learning capabilities for:
+
+- Anomaly detection
+- Predictive analytics
+- Automated insights
+- Pattern recognition
+- Behavioral analysis
+
+=== Use Cases
+
+Common applications include:
+
+- IT operations monitoring and troubleshooting
+- Security information and event management (SIEM)
+- Business analytics and KPI tracking
+- Compliance reporting and auditing
+- IoT data analysis and monitoring
+
+=== Data Format Support
+
+Supports various data formats and provides flexible parsing capabilities to handle structured, semi-structured, and unstructured data from multiple sources.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/splunk-source-description.adoc b/docs/modules/ROOT/partials/splunk-source-description.adoc
new file mode 100644
index 000000000..c8f9c23e4
--- /dev/null
+++ b/docs/modules/ROOT/partials/splunk-source-description.adoc
@@ -0,0 +1,43 @@
+== Splunk Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Splunk using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Splunk and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Splunk:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: splunk-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: splunk-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/spring-rabbitmq-sink-description.adoc b/docs/modules/ROOT/partials/spring-rabbitmq-sink-description.adoc
new file mode 100644
index 000000000..1a02871cd
--- /dev/null
+++ b/docs/modules/ROOT/partials/spring-rabbitmq-sink-description.adoc
@@ -0,0 +1,45 @@
+== Spring RabbitMQ Sink Kamelet Description
+
+=== RabbitMQ Integration with Spring
+
+This Kamelet integrates with RabbitMQ using Spring's RabbitMQ support, providing advanced messaging capabilities with Spring Framework integration.
+
+=== AMQP Protocol
+
+RabbitMQ implements the Advanced Message Queuing Protocol (AMQP), providing:
+
+- Reliable message delivery
+- Message acknowledgments and confirmations
+- Dead letter queues for error handling
+- Message persistence and durability
+
+=== Exchange and Routing
+
+Supports RabbitMQ's flexible routing mechanisms:
+
+- Direct, topic, fanout, and headers exchanges
+- Routing keys for message targeting
+- Queue binding and routing patterns
+- Message filtering and transformation
+
+=== Spring Integration Benefits
+
+Leverages Spring Framework features including:
+
+- Dependency injection and configuration
+- Transaction management
+- Error handling and retry mechanisms
+- Monitoring and management capabilities
+
+=== High Availability
+
+RabbitMQ provides enterprise-grade features:
+
+- Clustering for high availability
+- Mirrored queues for redundancy
+- Federation for distributed messaging
+- Load balancing and failover
+
+=== Message Patterns
+
+Supports various messaging patterns including publish-subscribe, request-reply, and message queuing for different application architectures.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/spring-rabbitmq-source-description.adoc b/docs/modules/ROOT/partials/spring-rabbitmq-source-description.adoc
new file mode 100644
index 000000000..5318c8bb8
--- /dev/null
+++ b/docs/modules/ROOT/partials/spring-rabbitmq-source-description.adoc
@@ -0,0 +1,43 @@
+== Spring Rabbitmq Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Spring Rabbitmq using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Spring Rabbitmq and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Spring Rabbitmq:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: spring-rabbitmq-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: spring-rabbitmq-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/sqlserver-sink-description.adoc b/docs/modules/ROOT/partials/sqlserver-sink-description.adoc
new file mode 100644
index 000000000..a57a44c85
--- /dev/null
+++ b/docs/modules/ROOT/partials/sqlserver-sink-description.adoc
@@ -0,0 +1,32 @@
+== Microsoft SQL Server Sink Kamelet Description
+
+=== Enterprise Database Platform
+
+This Kamelet integrates with Microsoft SQL Server, a comprehensive database platform that provides enterprise-class data management and business intelligence capabilities.
+
+=== JDBC Driver
+
+Uses the Microsoft SQL Server JDBC driver for optimal connectivity and performance. The driver supports modern SQL Server features and security protocols.
+
+=== Security Configuration
+
+Provides configurable encryption and certificate trust options:
+
+- Connection encryption can be enabled/disabled based on security requirements
+- Server certificate trust settings can be configured for different deployment scenarios
+
+=== Data Processing
+
+Processes JSON input data through unmarshalling before SQL execution. This enables integration with modern JSON-based applications and data pipelines.
+
+=== Parameterized Queries
+
+Supports secure SQL query execution using named parameters (e.g., `:#username`, `:#city`) that map to JSON data fields, preventing SQL injection vulnerabilities.
+
+=== Connection Management
+
+Utilizes Apache Commons DBCP2 for efficient connection pooling, ensuring optimal resource utilization and performance in enterprise environments.
+
+=== Default Port Configuration
+
+Uses SQL Server's default port 1433, with configurable port settings for custom installations and security configurations.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/sqlserver-source-description.adoc b/docs/modules/ROOT/partials/sqlserver-source-description.adoc
new file mode 100644
index 000000000..ba9fce03a
--- /dev/null
+++ b/docs/modules/ROOT/partials/sqlserver-source-description.adoc
@@ -0,0 +1,46 @@
+== Sqlserver Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Sqlserver using:
+
+- Database-specific connection credentials
+- Username and password authentication
+- Connection URL/string configuration
+
+=== Output format
+
+The Kamelet monitors Sqlserver for changes and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires database connection parameters:
+
+- Database connection URL/server information
+- Username and password for authentication
+- Query or monitoring configuration
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: sqlserver-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: sqlserver-source
+    properties:
+      serverName: "database-server"
+      username: "{{username}}"
+      password: "{{password}}"
+      databaseName: "mydb"
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/ssh-sink-description.adoc b/docs/modules/ROOT/partials/ssh-sink-description.adoc
new file mode 100644
index 000000000..87952127f
--- /dev/null
+++ b/docs/modules/ROOT/partials/ssh-sink-description.adoc
@@ -0,0 +1,41 @@
+== SSH Sink Kamelet Description
+
+=== Secure Shell Integration
+
+This Kamelet provides integration with SSH (Secure Shell) for executing remote commands and operations on remote systems over encrypted connections.
+
+=== Remote Command Execution
+
+Enables execution of commands on remote systems through SSH connections, providing secure remote administration and automation capabilities.
+
+=== Authentication Methods
+
+Supports multiple SSH authentication mechanisms:
+
+- Username and password authentication
+- Public key authentication
+- Certificate-based authentication
+- Multi-factor authentication support
+
+=== Security Features
+
+SSH provides comprehensive security features:
+
+- Strong encryption for all communications
+- Host key verification
+- User authentication and authorization
+- Session integrity and confidentiality
+
+=== Remote Administration
+
+Common use cases include:
+
+- System administration and maintenance
+- Automated deployment and configuration
+- Remote monitoring and diagnostics
+- File operations and transfers
+- Service management and control
+
+=== Cross-Platform Support
+
+Works across different operating systems and platforms, providing consistent secure remote access capabilities for heterogeneous environments.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/ssh-source-description.adoc b/docs/modules/ROOT/partials/ssh-source-description.adoc
new file mode 100644
index 000000000..f830c4424
--- /dev/null
+++ b/docs/modules/ROOT/partials/ssh-source-description.adoc
@@ -0,0 +1,86 @@
+== SSH Source Kamelet Description
+
+=== Authentication
+
+This Kamelet supports SSH authentication using username and password credentials. It can execute commands on remote SSH servers and retrieve the output.
+
+=== Configuration
+
+The SSH Source Kamelet supports the following configurations:
+
+- **Host**: SSH server hostname or IP address (required)
+- **Port**: SSH server port (default: 22)
+- **Username**: Username for SSH authentication (required)
+- **Password**: Password for SSH authentication (required)
+- **Poll Command**: Command to execute on the remote server (required)
+- **Cert Resource**: SSH certificate resource for key-based authentication
+- **Timeout**: Command execution timeout in milliseconds
+- **Poll Interval**: Interval between command executions
+
+=== Output Format
+
+The Kamelet outputs the result of SSH command execution as text, including both stdout and stderr streams from the remote command.
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:ssh-source"
+      parameters:
+        host: "server.example.com"
+        port: "22"
+        username: "sshuser"
+        password: "sshpass"
+        pollCommand: "tail -n 10 /var/log/application.log"
+        pollInterval: 30000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with System Monitoring
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:ssh-source"
+      parameters:
+        host: "server.example.com"
+        username: "monitor"
+        password: "monitorpass"
+        pollCommand: "df -h | grep -E '(Filesystem|/dev/)'  && free -m"
+        pollInterval: 60000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Custom Timeout
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:ssh-source"
+      parameters:
+        host: "server.example.com"
+        username: "operator"
+        password: "operatorpass"
+        pollCommand: "ps aux | grep java | grep -v grep"
+        timeout: 10000
+        pollInterval: 120000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Security Considerations
+
+- Use strong passwords or preferably SSH key authentication
+- Limit the commands that can be executed
+- Consider using dedicated monitoring users with restricted permissions
+- Monitor SSH access logs for security purposes
+- Use non-standard SSH ports when possible
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/telegram-sink-description.adoc b/docs/modules/ROOT/partials/telegram-sink-description.adoc
new file mode 100644
index 000000000..2751cfa3a
--- /dev/null
+++ b/docs/modules/ROOT/partials/telegram-sink-description.adoc
@@ -0,0 +1,49 @@
+== Telegram Sink Kamelet Description
+
+=== Telegram Bot Integration
+
+This Kamelet integrates with Telegram's Bot API, enabling automated message sending through Telegram bots to users, groups, or channels.
+
+=== Bot API Features
+
+Telegram Bot API provides comprehensive messaging capabilities:
+
+- Text messages with rich formatting
+- Media sharing (photos, videos, documents)
+- Inline keyboards and custom keyboards
+- Location and contact sharing
+- Polls and quizzes
+
+=== Message Formatting
+
+Supports Telegram's message formatting options:
+
+- Markdown and HTML parsing
+- Bold, italic, and code formatting
+- Links and mentions
+- Emoji and stickers
+- Message threading and replies
+
+=== Delivery Options
+
+Provides flexible message delivery:
+
+- Direct messages to users
+- Group chat messaging
+- Channel broadcasting
+- Silent notifications
+- Message scheduling and editing
+
+=== Bot Authentication
+
+Uses Telegram bot tokens for authentication, providing secure API access while maintaining user privacy and platform security.
+
+=== Notification Use Cases
+
+Common applications include:
+
+- System alerts and monitoring notifications
+- Customer support and engagement
+- News and content distribution
+- E-commerce order updates
+- IoT device status reporting
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/telegram-source-description.adoc b/docs/modules/ROOT/partials/telegram-source-description.adoc
new file mode 100644
index 000000000..20b98889b
--- /dev/null
+++ b/docs/modules/ROOT/partials/telegram-source-description.adoc
@@ -0,0 +1,57 @@
+== Telegram Source Kamelet Description
+
+=== Authentication
+
+This Kamelet requires a Telegram Bot token for authentication. You need to create a Telegram bot through @BotFather and obtain the bot token.
+
+=== Configuration
+
+The Telegram Source Kamelet supports the following configurations:
+
+- **Authorization Token**: Telegram bot token (required)
+- **Chat ID**: Telegram chat ID to monitor (optional, can monitor all chats if not specified)
+
+=== Output Format
+
+The Kamelet outputs Telegram messages as JSON objects containing message content, sender information, chat details, and timestamp.
+
+=== Bot Setup
+
+1. Contact @BotFather on Telegram
+2. Create a new bot with /newbot command
+3. Follow the instructions to set bot name and username
+4. Copy the provided bot token
+5. Add the bot to your chat or channel
+
+=== Usage Example
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:telegram-source"
+      parameters:
+        authorizationToken: "your-bot-token-here"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Example with Specific Chat
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:telegram-source"
+      parameters:
+        authorizationToken: "your-bot-token-here"
+        chatId: "-1001234567890"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+=== Message Processing
+
+The kamelet receives all types of Telegram messages including text, photos, documents, and other media. Message metadata includes sender information, chat details, and message type.
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/timer-source-description.adoc b/docs/modules/ROOT/partials/timer-source-description.adoc
new file mode 100644
index 000000000..356326c72
--- /dev/null
+++ b/docs/modules/ROOT/partials/timer-source-description.adoc
@@ -0,0 +1,74 @@
+== Timer Source Kamelet Description
+
+This Kamelet produces periodic messages with a custom payload at configurable intervals. It's useful for generating scheduled events or heartbeat messages.
+
+=== Output format
+
+The Kamelet outputs the configured message with a specified content type. By default, it produces plain text messages.
+
+=== Special headers
+
+The Kamelet sets the following header:
+
+- `Content-Type`: Configurable content type (default: `text/plain`)
+
+=== Configuration requirements
+
+This Kamelet requires the following mandatory property:
+
+- **message**: The text message to generate
+
+=== Configuration options
+
+- **period**: Time interval between messages in milliseconds (default: 1000)
+- **message**: The message content to send (required)
+- **contentType**: MIME type of the message (default: `text/plain`)
+- **repeatCount**: Maximum number of messages to send (optional - if not set, runs indefinitely)
+
+=== Usage examples
+
+Basic periodic message:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        message: "hello world"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Custom interval and content type:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        message: '{"status": "heartbeat", "timestamp": "${date:now:yyyy-MM-dd HH:mm:ss}"}'
+        contentType: "application/json"
+        period: 30000
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+Limited number of messages:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:timer-source"
+      parameters:
+        message: "Scheduled notification"
+        period: 5000
+        repeatCount: 10
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/twitter-directmessage-source-description.adoc b/docs/modules/ROOT/partials/twitter-directmessage-source-description.adoc
new file mode 100644
index 000000000..1224dc369
--- /dev/null
+++ b/docs/modules/ROOT/partials/twitter-directmessage-source-description.adoc
@@ -0,0 +1,43 @@
+== Twitter Directmessage Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Twitter Directmessage using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Twitter Directmessage and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Twitter Directmessage:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: twitter-directmessage-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: twitter-directmessage-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/twitter-search-source-description.adoc b/docs/modules/ROOT/partials/twitter-search-source-description.adoc
new file mode 100644
index 000000000..2a5bd9f8a
--- /dev/null
+++ b/docs/modules/ROOT/partials/twitter-search-source-description.adoc
@@ -0,0 +1,43 @@
+== Twitter Search Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Twitter Search using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Twitter Search and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Twitter Search:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: twitter-search-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: twitter-search-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/twitter-timeline-source-description.adoc b/docs/modules/ROOT/partials/twitter-timeline-source-description.adoc
new file mode 100644
index 000000000..7a696e82e
--- /dev/null
+++ b/docs/modules/ROOT/partials/twitter-timeline-source-description.adoc
@@ -0,0 +1,43 @@
+== Twitter Timeline Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Twitter Timeline using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Twitter Timeline and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Twitter Timeline:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: twitter-timeline-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: twitter-timeline-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/docs/modules/ROOT/partials/webhook-source-description.adoc b/docs/modules/ROOT/partials/webhook-source-description.adoc
new file mode 100644
index 000000000..ef67dbc00
--- /dev/null
+++ b/docs/modules/ROOT/partials/webhook-source-description.adoc
@@ -0,0 +1,85 @@
+== Webhook Source Kamelet Description
+
+This Kamelet creates an HTTP endpoint that can receive webhook calls and forward the received data to the sink. It's designed to act as a bridge for incoming HTTP requests, making it ideal for integrating with external systems that send data via webhooks.
+
+=== HTTP endpoint configuration
+
+The Kamelet creates an HTTP endpoint accessible at a configurable subpath. By default, it listens on `/webhook`, but this can be customized using the `subpath` parameter.
+
+=== Request handling
+
+The webhook accepts HTTP requests of any method (GET, POST, PUT, etc.) and forwards the complete request (including headers, body, and parameters) to the configured sink.
+
+=== Data forwarding
+
+All incoming HTTP requests are forwarded as-is to the sink, preserving:
+
+- Request body content
+- HTTP headers
+- Query parameters
+- HTTP method information
+
+=== Configuration options
+
+- **subpath**: The URL subpath where the webhook listens (default: "webhook")
+
+=== Usage examples
+
+Basic webhook listener:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:webhook-source"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+This creates an endpoint at `/webhook` that logs all incoming requests.
+
+Custom webhook path:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:webhook-source"
+      parameters:
+        subpath: "api/notifications"
+      steps:
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+This creates an endpoint at `/api/notifications`.
+
+Processing webhook data:
+
+[source,yaml,subs='+attributes,macros']
+----
+- route:
+    from:
+      uri: "kamelet:webhook-source"
+      parameters:
+        subpath: "github-webhook"
+      steps:
+        - filter:
+            header:
+              name: "X-GitHub-Event"
+              value: "push"
+        - to:
+            uri: "kamelet:log-sink"
+----
+
+This example filters for GitHub push events before processing.
+
+=== Integration scenarios
+
+The webhook source is commonly used for:
+
+- Receiving notifications from external services
+- Creating API endpoints for data ingestion
+- Building event-driven integrations
+- Implementing serverless function triggers
\ No newline at end of file
diff --git a/docs/modules/ROOT/partials/wttrin-source-description.adoc b/docs/modules/ROOT/partials/wttrin-source-description.adoc
new file mode 100644
index 000000000..0255eea36
--- /dev/null
+++ b/docs/modules/ROOT/partials/wttrin-source-description.adoc
@@ -0,0 +1,43 @@
+== Wttrin Source Kamelet Description
+
+=== Authentication methods
+
+This Kamelet connects to Wttrin using appropriate authentication mechanisms:
+
+- Service-specific authentication methods
+- API keys, tokens, or credential-based authentication
+- Connection configuration
+
+=== Output format
+
+The Kamelet consumes data from Wttrin and produces the data in JSON format.
+
+=== Configuration
+
+The Kamelet requires connection parameters specific to Wttrin:
+
+- Service connection details
+- Authentication credentials
+- Query or consumption parameters
+
+=== Usage example
+
+```yaml
+apiVersion: camel.apache.org/v1alpha1
+kind: KameletBinding
+metadata:
+  name: wttrin-source-binding
+spec:
+  source:
+    ref:
+      kind: Kamelet
+      apiVersion: camel.apache.org/v1alpha1
+      name: wttrin-source
+    properties:
+      # Add service-specific properties here
+  sink:
+    ref:
+      kind: Service
+      apiVersion: v1
+      name: my-service
+```
diff --git a/kamelets/aws-cloudtrail-source.kamelet.yaml b/kamelets/aws-cloudtrail-source.kamelet.yaml
index 09a85ce9e..b9b7531b9 100644
--- a/kamelets/aws-cloudtrail-source.kamelet.yaml
+++ b/kamelets/aws-cloudtrail-source.kamelet.yaml
@@ -127,9 +127,7 @@ spec:
           mediaType: text/plain
         cloudevents:
           format: "aws-cloudtrail:application-cloudevents"
-          description: |-
-            Data type transformer converts AWS Cloudtrail lookup events response to CloudEvent v1_0 data format. The data type
-            sets Camel specific CloudEvent headers with values extracted from AWS Cloudtrail lookup events response.
+          description: Data type transformer converts AWS Cloudtrail lookup events response to CloudEvent v1_0 data format. The data type
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/aws-ddb-sink.kamelet.yaml b/kamelets/aws-ddb-sink.kamelet.yaml
index 9135f52d0..a96611b41 100644
--- a/kamelets/aws-ddb-sink.kamelet.yaml
+++ b/kamelets/aws-ddb-sink.kamelet.yaml
@@ -108,14 +108,7 @@ spec:
       types:
         json:
           format: "aws2-ddb:application-json"
-          description: |-
-            Json representation of a DDB operation. The input type supports the operations: PutItem, UpdateItem, DeleteItem
-            
-            For PutItem operation the Json body defines all item attributes.
-            For DeleteItem operation the Json body defines only the primary key attributes that identify the item to delete.
-            For UpdateItem operation the Json body defines both key attributes to identify the item to be updated and all item attributes tht get updated on the item.
-  
-            The given JSON body can use `operation`, `key` and `item` as top level properties that are mapped to respective attribute value maps.
+          description: Json representation of a DDB operation. The input type supports the operations: PutItem, UpdateItem, DeleteItem
           headers:
             CamelAwsDdbOperation:
               title: Operation
diff --git a/kamelets/aws-ddb-streams-source.kamelet.yaml b/kamelets/aws-ddb-streams-source.kamelet.yaml
index 7ae5fcc9d..e8a26d883 100644
--- a/kamelets/aws-ddb-streams-source.kamelet.yaml
+++ b/kamelets/aws-ddb-streams-source.kamelet.yaml
@@ -124,9 +124,7 @@ spec:
           mediaType: application/json
         cloudevents:
           format: "aws2-ddbstream:application-cloudevents"
-          description: |-
-            Data type transformer converts AWS Dynamo DB Streams get records response to CloudEvent v1_0 data format. The data
-            type sets Camel specific CloudEvent headers with values extracted from AWS Dynamo DB Streams get records.
+          description: Data type transformer converts AWS Dynamo DB Streams get records response to CloudEvent v1_0 data format. The data
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/aws-s3-source.kamelet.yaml b/kamelets/aws-s3-source.kamelet.yaml
index 88ede5583..45bfd20a6 100644
--- a/kamelets/aws-s3-source.kamelet.yaml
+++ b/kamelets/aws-s3-source.kamelet.yaml
@@ -31,14 +31,7 @@ metadata:
 spec:
   definition:
     title: "AWS S3 Source"
-    description: |-
-      Receive data from an Amazon S3 Bucket.
-
-      The basic authentication method for the S3 service is to specify an access key and a secret key. These parameters are optional because the Kamelet provides a default credentials provider.
-      
-      If you use the default credentials provider, the S3 client loads the credentials through this provider and doesn't use the basic authentication method.
-
-      Two headers are duplicated with different names for clarity at sink level. `CamelAwsS3Key` is duplicated into `aws.s3.key` and `CamelAwsS3BucketName` is duplicated in `aws.s3.bucket.name`.
+    description: Receive data from an Amazon S3 Bucket.
     required:
       - bucketNameOrArn
       - region
@@ -173,9 +166,7 @@ spec:
           type: string
         CamelAwsS3ETag:
           title: ETag Value
-          description: |-
-            The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. 
-            This data is used as an integrity check to verify that the data received by the caller is the same data that was sent by Amazon S3.
+          description: The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864.
           type: string
       types:
         binary:
@@ -184,9 +175,7 @@ spec:
           mediaType: application/octet-stream
         cloudevents:
           format: "aws2-s3:application-cloudevents"
-          description: |-
-            Output data type represents AWS S3 get object response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
-            respective data from the S3 bucket and its derived object.
+          description: Output data type represents AWS S3 get object response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/aws-sqs-source.kamelet.yaml b/kamelets/aws-sqs-source.kamelet.yaml
index dec474d07..cb174de3a 100644
--- a/kamelets/aws-sqs-source.kamelet.yaml
+++ b/kamelets/aws-sqs-source.kamelet.yaml
@@ -177,13 +177,11 @@ spec:
           type: string
         CamelAwsSqsAttributes:
           title: The SQS Message System Attributes
-          description: |-
-            A map of the attributes requested in ReceiveMessage to their respective values, the Map type is Map<MessageSystemAttributeName, String>
+          description: A map of the attributes requested in ReceiveMessage to their respective values, the Map type is Map<MessageSystemAttributeName, String>
           type: object
         CamelAwsSqsMessageAttributes:
           title: The SQS Message Attributes
-          description: |-
-            The Amazon SQS message attributes, the Map type is Map<String, MessageAttributeValue>
+          description: The Amazon SQS message attributes, the Map type is Map<String, MessageAttributeValue>
           type: object
       types:
         text:
@@ -192,9 +190,7 @@ spec:
           mediaType: text/plain
         cloudevents:
           format: "aws2-sqs:application-cloudevents"
-          description: |-
-            Output data type represents AWS SQS receive message response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
-            respective data from the SQS message and its derived object.
+          description: Output data type represents AWS SQS receive message response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/azure-cosmosdb-source.kamelet.yaml b/kamelets/azure-cosmosdb-source.kamelet.yaml
index eb78ad075..3f41852a8 100644
--- a/kamelets/azure-cosmosdb-source.kamelet.yaml
+++ b/kamelets/azure-cosmosdb-source.kamelet.yaml
@@ -92,9 +92,7 @@ spec:
           mediaType: application/json
         cloudevents:
           format: "azure-cosmosdb:application-cloudevents"
-          description: |-
-            Data type transformer converts Azure CosmosDB Change Feed processor response to CloudEvent v1_0 data format. The data
-            type sets Camel specific CloudEvent headers with values extracted from Azure CosmosDB Change Feed processor response.
+          description: Data type transformer converts Azure CosmosDB Change Feed processor response to CloudEvent v1_0 data format. The data
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/azure-eventhubs-source.kamelet.yaml b/kamelets/azure-eventhubs-source.kamelet.yaml
index 0d045457d..fe8f93717 100644
--- a/kamelets/azure-eventhubs-source.kamelet.yaml
+++ b/kamelets/azure-eventhubs-source.kamelet.yaml
@@ -100,8 +100,7 @@ spec:
           type: java.time.Instant
         CamelAzureEventHubsSequenceNumber:
           title: Azure Event Hubs Event Sequence Number
-          description: |-
-            It sets the sequence number assigned to the event when it was enqueued in the associated Event Hub partition. This is unique for every message received in the Event Hub partition. This is only present on a received EventData.
+          description: It sets the sequence number assigned to the event when it was enqueued in the associated Event Hub partition. This is unique for every message received in the Event Hub partition. This is only present on a received EventData.
           type: long
         CamelAzureEventHubsMetadata:
           title: Azure Event Hubs Event Metadata
@@ -122,9 +121,7 @@ spec:
           mediaType: application/octet-stream
         cloudevents:
           format: "azure-eventhubs:application-cloudevents"
-          description: |-
-            Data type transformer converts Azure Eventhubs consumer response to CloudEvent v1_0 data format. The data type sets
-            Camel specific CloudEvent headers with values extracted from Azure Eventhubs consumer response.
+          description: Data type transformer converts Azure Eventhubs consumer response to CloudEvent v1_0 data format. The data type sets
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/azure-storage-blob-source.kamelet.yaml b/kamelets/azure-storage-blob-source.kamelet.yaml
index 9b7d70ab4..15e496115 100644
--- a/kamelets/azure-storage-blob-source.kamelet.yaml
+++ b/kamelets/azure-storage-blob-source.kamelet.yaml
@@ -89,8 +89,7 @@ spec:
           type: string
         CamelAzureStorageBlobETag:
           title: ETag Value
-          description: |-
-            The E tag of the blob
+          description: The E tag of the blob
           type: string
         CamelAzureStorageBlobCreationTime:
           title: Creation time
@@ -115,9 +114,7 @@ spec:
           mediaType: application/octet-stream
         cloudevents:
           format: "azure-storage-blob:application-cloudevents"
-          description: |-
-            Output data type represents Azure Storage Blob get blob response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
-            respective data from the Azure container and its derived object.
+          description: Output data type represents Azure Storage Blob get blob response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/azure-storage-datalake-source.kamelet.yaml b/kamelets/azure-storage-datalake-source.kamelet.yaml
index 01a2b9558..a60cf99dc 100644
--- a/kamelets/azure-storage-datalake-source.kamelet.yaml
+++ b/kamelets/azure-storage-datalake-source.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "Azure Storage Blob Data Lake Source"
-    description: |-
-      Consume files from Azure Storage Blob Data Lake.
+    description: Consume files from Azure Storage Blob Data Lake.
     required:
       - accountName
       - clientId
@@ -103,8 +102,7 @@ spec:
           type: object
         CamelAzureStorageDataLakeAccessTierChangeTime:
           title: Azure Storage Data Lake Access Tier Change Time.
-          description: |-
-            Datetime when the access tier of the blob last changed.
+          description: Datetime when the access tier of the blob last changed.
           type: object
         CamelAzureStorageDataLakeArchiveStatus:
           title: Azure Storage Data Lake Archive Status
@@ -201,9 +199,7 @@ spec:
           mediaType: application/octet-stream
         cloudevents:
           format: "azure-storage-datalake:application-cloudevents"
-          description: |-
-            Data type transformer converts Azure Data Lake consumer response to CloudEvent v1_0 data format. The data type sets
-            Camel specific CloudEvent headers with values extracted from Azure Data Lake consumer response.
+          description: Data type transformer converts Azure Data Lake consumer response to CloudEvent v1_0 data format. The data type sets
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/azure-storage-files-source.kamelet.yaml b/kamelets/azure-storage-files-source.kamelet.yaml
index 121d5e1f5..e816e419f 100644
--- a/kamelets/azure-storage-files-source.kamelet.yaml
+++ b/kamelets/azure-storage-files-source.kamelet.yaml
@@ -98,8 +98,7 @@ spec:
           type: string
         CamelFileName:
           title: Azure Storage Files File Name 
-          description: |-
-            Name of the consumed file as a relative file path with offset from the starting directory configured on the endpoint.
+          description: Name of the consumed file as a relative file path with offset from the starting directory configured on the endpoint.
           type: string
         CamelFileNameConsumed:
           title: Azure Storage Files Consumed File Name
@@ -107,10 +106,7 @@ spec:
           type: string
         CamelFileAbsolute:
           title: Azure Storage Files Consumed Absolute Format
-          description: |- 
-            A boolean option specifying whether the consumed file denotes an absolute path or not. 
-            Should normally be false for relative paths. Absolute paths should normally not be used but we added to the move option to allow moving files to absolute paths. 
-            But can be used elsewhere as well.
+          description: A boolean option specifying whether the consumed file denotes an absolute path or not.
           type: boolean
         CamelFileAbsolutePath:
           title: Azure Storage Files Consumed Absolute Path
@@ -144,9 +140,7 @@ spec:
           mediaType: application/octet-stream
         cloudevents:
           format: "azure-files:application-cloudevents"
-          description: |-
-            Data type transformer converts Azure Storage Files poll response to CloudEvent v1_0 data format. The data type sets
-            Camel specific CloudEvent headers with values extracted from Azure Storage Files poll response.
+          description: Data type transformer converts Azure Storage Files poll response to CloudEvent v1_0 data format. The data type sets
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/azure-storage-queue-source.kamelet.yaml b/kamelets/azure-storage-queue-source.kamelet.yaml
index 6ed7bb420..0a4ccff7c 100644
--- a/kamelets/azure-storage-queue-source.kamelet.yaml
+++ b/kamelets/azure-storage-queue-source.kamelet.yaml
@@ -84,8 +84,7 @@ spec:
           type: OffsetDateTime
         CamelAzureStorageQueuePopReceipt:
           title: Pop Receipt
-          description: |-
-            Unique identifier that must match for the message to be deleted or updated. If deletion fails using this pop receipt then the message has been dequeued by another client.
+          description: Unique identifier that must match for the message to be deleted or updated. If deletion fails using this pop receipt then the message has been dequeued by another client.
           type: string
         CamelAzureStorageQueueTimeNextVisible:
           title: Azure Storage Queue Message Time Next Visible
@@ -102,9 +101,7 @@ spec:
           mediaType: text/plain
         cloudevents:
           format: "azure-storage-queue:application-cloudevents"
-          description: |-
-            Output data type represents Azure Storage Queue receive messages operation as CloudEvent V1. The data type sets Camel
-            specific CloudEvent headers on the exchange.
+          description: Output data type represents Azure Storage Queue receive messages operation as CloudEvent V1. The data type sets Camel
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/caffeine-action.kamelet.yaml b/kamelets/caffeine-action.kamelet.yaml
index ed035bebe..b7f739870 100644
--- a/kamelets/caffeine-action.kamelet.yaml
+++ b/kamelets/caffeine-action.kamelet.yaml
@@ -30,18 +30,7 @@ metadata:
 spec:
   definition:
     title: "Caffeine Action"
-    description: |-
-      Perform operations on a caffeine cache
-
-      The Kamelet expects the following headers to be set:
-
-      - `caffeine-key` / `ce-caffeinekey`: as the cache key used in the operation
-
-      - `caffeine-operation` / `ce-caffeineoperation`: as the operation to perform. It can be PUT, GET, INVALIDATE and CLEANUP.
-
-      If the `caffeine-key` header is not set, the exchange ID is used as key.
-
-      If the `caffeine-operation` header is not set, the GET operation is performed.
+    description: Perform operations on a caffeine cache
     required:
       - cacheName
     type: object
diff --git a/kamelets/chunk-template-action.kamelet.yaml b/kamelets/chunk-template-action.kamelet.yaml
index 27d5e5eab..da9c64980 100644
--- a/kamelets/chunk-template-action.kamelet.yaml
+++ b/kamelets/chunk-template-action.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "Chunk Template Action"
-    description: |-
-      Apply a Chunk Template.
-
-      The template property needs to be encoded in base64, so when you pass it as parameter, don't forget to encode it.
+    description: Apply a Chunk Template.
     required:
       - template
     type: object
diff --git a/kamelets/couchbase-sink.kamelet.yaml b/kamelets/couchbase-sink.kamelet.yaml
index e2103045a..e88602773 100644
--- a/kamelets/couchbase-sink.kamelet.yaml
+++ b/kamelets/couchbase-sink.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Couchbase Sink"
-    description: |-
-      Send documents to Couchbase.
+    description: Send documents to Couchbase.
     required:
       - protocol
       - couchbaseHostname
diff --git a/kamelets/cron-source.kamelet.yaml b/kamelets/cron-source.kamelet.yaml
index 6b243439a..109889e87 100644
--- a/kamelets/cron-source.kamelet.yaml
+++ b/kamelets/cron-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Cron Source"
-    description: |-
-      Send events at specific time.
+    description: Send events at specific time.
     required:
       - schedule
       - message
diff --git a/kamelets/data-type-action.kamelet.yaml b/kamelets/data-type-action.kamelet.yaml
index 89fe2123f..05937a925 100644
--- a/kamelets/data-type-action.kamelet.yaml
+++ b/kamelets/data-type-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Data Type Action"
-    description: |-
-      Applies a given data type with respective data transformation.
+    description: Applies a given data type with respective data transformation.
     required:
       - format
     type: object
diff --git a/kamelets/delay-action.kamelet.yaml b/kamelets/delay-action.kamelet.yaml
index e304b11ac..08f8f76ec 100644
--- a/kamelets/delay-action.kamelet.yaml
+++ b/kamelets/delay-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Delay Action"
-    description: |-
-      Delay the processing using a specific amount of time
+    description: Delay the processing using a specific amount of time
     required:
       - milliseconds
     type: object
diff --git a/kamelets/dns-dig-action.kamelet.yaml b/kamelets/dns-dig-action.kamelet.yaml
index 78dc9ef59..c7c29a3d2 100644
--- a/kamelets/dns-dig-action.kamelet.yaml
+++ b/kamelets/dns-dig-action.kamelet.yaml
@@ -30,18 +30,7 @@ metadata:
 spec:
   definition:
     title: "DNS DIG Action"
-    description: |-
-      Query a DNS through Dig.
-
-      The Kamelet expects the following headers to be set:
-
-      - `domain-name` / `ce-domainname`: as the domain for which we are querying the DNS
-
-      - `dns-type` / `ce-dnstype`: as the DNS type
-
-      If the `domain-name` header is not set, the body is used as domain name.
-
-      If the `dns-type` header is not set, the DNS Type A is used.
+    description: Query a DNS through Dig.
     type: object
   dependencies:
     - "camel:core"
diff --git a/kamelets/dns-ip-action.kamelet.yaml b/kamelets/dns-ip-action.kamelet.yaml
index af2f3fc9f..5030f8bdf 100644
--- a/kamelets/dns-ip-action.kamelet.yaml
+++ b/kamelets/dns-ip-action.kamelet.yaml
@@ -30,14 +30,7 @@ metadata:
 spec:
   definition:
     title: "DNS IP Action"
-    description: |-
-      Get an IP from a DNS
-
-      The Kamelet expects the following headers to be set:
-
-      - `domain` / `ce-domain`: as the domain for which we are looking for the IP
-
-      If the header isn't set the body is used as domain to look for.
+    description: Get an IP from a DNS
     type: object
   dependencies:
     - "camel:core"
diff --git a/kamelets/dns-lookup-action.kamelet.yaml b/kamelets/dns-lookup-action.kamelet.yaml
index 961643678..7f2ce768f 100644
--- a/kamelets/dns-lookup-action.kamelet.yaml
+++ b/kamelets/dns-lookup-action.kamelet.yaml
@@ -30,14 +30,7 @@ metadata:
 spec:
   definition:
     title: "DNS Lookup Action"
-    description: |-
-      Lookup for a domain
-
-      The Kamelet expects the following headers to be set:
-
-      - `domain-name` / `ce-domainname`: as the domain for which we are looking up
-
-      If the domain-name header is not set, the body is used as domain name.
+    description: Lookup for a domain
     type: object
   types:
     out:
diff --git a/kamelets/drop-field-action.kamelet.yaml b/kamelets/drop-field-action.kamelet.yaml
index 1acb2c99c..864352cac 100644
--- a/kamelets/drop-field-action.kamelet.yaml
+++ b/kamelets/drop-field-action.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "Drop Field Action"
-    description: |-
-      Removes a custom field by given name from the message in transit.
-
-      The drop field action expects an `application/json` content type.
-
-      For example,  if you have an object like '{ "foo":"John", "bar":30 }', and your action is configured with the field `element` and the value `hello`, the result is `{ "foo":"John", "bar":30, "element":"hello" }`.
+    description: Removes a custom field by given name from the message in transit.
     required:
       - field
     properties:
diff --git a/kamelets/dropbox-sink.kamelet.yaml b/kamelets/dropbox-sink.kamelet.yaml
index db490cf1f..85771c3f9 100644
--- a/kamelets/dropbox-sink.kamelet.yaml
+++ b/kamelets/dropbox-sink.kamelet.yaml
@@ -30,14 +30,7 @@ metadata:
 spec:
   definition:
     title: "Dropbox Sink"
-    description: |-
-      Upload Files to Dropbox.
-
-      The Kamelet expects the following headers to be set:
-
-      - `file` / `ce-file`: as the file name to upload
-
-      If the header is not set, the exchange ID is used as file name.
+    description: Upload Files to Dropbox.
     required:
       - accessToken
       - clientIdentifier
diff --git a/kamelets/dropbox-source.kamelet.yaml b/kamelets/dropbox-source.kamelet.yaml
index 80dd36232..574bacb6f 100644
--- a/kamelets/dropbox-source.kamelet.yaml
+++ b/kamelets/dropbox-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Dropbox Source"
-    description: |-
-      Consume Files from Dropbox.
+    description: Consume Files from Dropbox.
     required:
       - period
       - accessToken
diff --git a/kamelets/earthquake-source.kamelet.yaml b/kamelets/earthquake-source.kamelet.yaml
index 8a7f8a2f5..52fe8e6c0 100644
--- a/kamelets/earthquake-source.kamelet.yaml
+++ b/kamelets/earthquake-source.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "Earthquake Source"
-    description: |-
-      Get data about current earthquake events happening in the world using the USGS API
+    description: Get data about current earthquake events happening in the world using the USGS API
     type: object
     properties:
       period:
diff --git a/kamelets/elasticsearch-index-sink.kamelet.yaml b/kamelets/elasticsearch-index-sink.kamelet.yaml
index 7e6c6fc5c..71b93fb1f 100644
--- a/kamelets/elasticsearch-index-sink.kamelet.yaml
+++ b/kamelets/elasticsearch-index-sink.kamelet.yaml
@@ -30,20 +30,7 @@ metadata:
 spec:
   definition:
     title: "ElasticSearch Index Sink"
-    description: |-
-      Stores JSON-formatted data into ElasticSearch.
-
-      The input data must be formatted in JSON according to the requirements of the index. 
-
-      If you specify the `certificate` property, you must base64 encode it before you pass it as a parameter.
-      
-      In the header, you can set the following properties:
-
-      - `indexId` / `ce-indexid`: The index ID for ElasticSearch.
-      
-      - `indexName` / `ce-indexname`: The index name for ElasticSearch.
-      
-      If you do not set a property in the header, the Kamelet uses the exchange ID for the index setting.
+    description: Stores JSON-formatted data into ElasticSearch.
     required:
       - clusterName
       - hostAddresses
diff --git a/kamelets/elasticsearch-search-source.kamelet.yaml b/kamelets/elasticsearch-search-source.kamelet.yaml
index 10936d5f1..7f7e6e5fc 100644
--- a/kamelets/elasticsearch-search-source.kamelet.yaml
+++ b/kamelets/elasticsearch-search-source.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "ElasticSearch Search Source"
-    description: |-
-      Search data on ElasticSearch
-      
-      The `query` parameter must be formatted in JSON.
-
-      If you specify the `certificate` property, you must base64 encode it before you pass it as a parameter.
+    description: Search data on ElasticSearch
     required:
       - query
       - clusterName
diff --git a/kamelets/exec-sink.kamelet.yaml b/kamelets/exec-sink.kamelet.yaml
index ea15a6cd8..9163ecfe7 100644
--- a/kamelets/exec-sink.kamelet.yaml
+++ b/kamelets/exec-sink.kamelet.yaml
@@ -30,14 +30,7 @@ metadata:
 spec:
   definition:
     title: "Exec Sink"
-    description: |-
-      Execute system commands
-
-      The Kamelet expects the following headers to be set:
-
-      - `args` / `ce-args`: as the args to be set on the executable.
-
-      If the header is not set, the executable is run without arguments.
+    description: Execute system commands
     required:
     - executable
     type: object
diff --git a/kamelets/extract-field-action.kamelet.yaml b/kamelets/extract-field-action.kamelet.yaml
index 4635e1216..0931a7f58 100644
--- a/kamelets/extract-field-action.kamelet.yaml
+++ b/kamelets/extract-field-action.kamelet.yaml
@@ -30,21 +30,7 @@ metadata:
 spec:
   definition:
     title: "Extract Field Action"
-    description: |-
-      Extract a field from the message body.
-
-      The extract field action expects an `application/json` content type.
-
-      The field parameter specifies which field in the JSON to extract. By default, the message body is overridden with the extracted field.
-
-      The optional parameter `headerOutput` specifies whether the extracted field should be stored in a message header named 'CamelKameletsExtractFieldName', leaving the message body untouched.
-
-      The optional parameter `headerOutputName` specifies a custom header name instead of the default 'CamelKameletsExtractFieldName'. This parameter must be used in conjunction with `headerOutput`.
-      If no `headerOutputName` parameter is provided, the default 'CamelKameletsExtractFieldName' is used.
-
-      The optional parameter `strictHeaderCheck` enables a strict header name check. If enabled, the action checks if the header output name (custom or default) is already used in the exchange. If so, the extracted field is stored in the message body, if not, the extracted field is stored in the selected header (custom or default).
-
-      The `headerOutput`/`headerOutputName`/`strictHeaderCheck` parameters are particulary useful in case you would like to reuse an extracted field as parameter for another header, for example.
+    description: Extract a field from the message body.
     required:
       - field
     properties:
diff --git a/kamelets/fhir-sink.kamelet.yaml b/kamelets/fhir-sink.kamelet.yaml
index 206e55b58..c03a35eef 100644
--- a/kamelets/fhir-sink.kamelet.yaml
+++ b/kamelets/fhir-sink.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "FHIR Sink"
-    description: |-
-      Forward data to a FHIR endpoint.
+    description: Forward data to a FHIR endpoint.
     required:
     - serverUrl
     - methodName
diff --git a/kamelets/fhir-source.kamelet.yaml b/kamelets/fhir-source.kamelet.yaml
index 313a1cdcb..7d8583f22 100644
--- a/kamelets/fhir-source.kamelet.yaml
+++ b/kamelets/fhir-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "FHIR Source"
-    description: |-
-      Receive data from FHIR server.
+    description: Receive data from FHIR server.
     required:
       - serverUrl
       - username
diff --git a/kamelets/file-watch-source.kamelet.yaml b/kamelets/file-watch-source.kamelet.yaml
index 62b82c5f5..ae2c1530e 100644
--- a/kamelets/file-watch-source.kamelet.yaml
+++ b/kamelets/file-watch-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "File Watch Source"
-    description: |-
-      Receive events related to a file or folder. It may require a volume mounting on Kubernetes.
+    description: Receive events related to a file or folder. It may require a volume mounting on Kubernetes.
     required:
       - filePath
       - events
diff --git a/kamelets/freemarker-template-action.kamelet.yaml b/kamelets/freemarker-template-action.kamelet.yaml
index a124f91e5..f2d59d8e8 100644
--- a/kamelets/freemarker-template-action.kamelet.yaml
+++ b/kamelets/freemarker-template-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Freemarker Template Action"
-    description: |-
-      Apply a Freemarker Template.
+    description: Apply a Freemarker Template.
     required:
       - template
     type: object
diff --git a/kamelets/ftp-sink.kamelet.yaml b/kamelets/ftp-sink.kamelet.yaml
index f9e160b8d..32f293229 100644
--- a/kamelets/ftp-sink.kamelet.yaml
+++ b/kamelets/ftp-sink.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "FTP Sink"
-    description: |-
-      Send data to an FTP server.
-      
-      In the header, you can set the `file` / `ce-file` property to specify the filename to upload.
-
-      If you do not set the property in the header, the Kamelet uses the exchange ID for the filename.
+    description: Send data to an FTP server.
     required:
       - connectionHost
       - connectionPort
diff --git a/kamelets/ftp-source.kamelet.yaml b/kamelets/ftp-source.kamelet.yaml
index 025c97414..6c91e8d4a 100644
--- a/kamelets/ftp-source.kamelet.yaml
+++ b/kamelets/ftp-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "FTP Source"
-    description: |-
-      Receive data from an FTP server.
+    description: Receive data from an FTP server.
     required:
       - connectionHost
       - connectionPort
diff --git a/kamelets/ftps-sink.kamelet.yaml b/kamelets/ftps-sink.kamelet.yaml
index b35dba8bb..97deb9f0c 100644
--- a/kamelets/ftps-sink.kamelet.yaml
+++ b/kamelets/ftps-sink.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "FTPS Sink"
-    description: |-
-      Send data to an FTPS server.
-
-      In the header, you can set the `file` / `ce-file` property to specify the filename to upload.
-
-      If you do not set the property in the header, the Kamelet uses the exchange ID for the filename.
+    description: Send data to an FTPS server.
     required:
       - connectionHost
       - connectionPort
diff --git a/kamelets/ftps-source.kamelet.yaml b/kamelets/ftps-source.kamelet.yaml
index 7e8e5a048..98dbab56b 100644
--- a/kamelets/ftps-source.kamelet.yaml
+++ b/kamelets/ftps-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "FTPS Source"
-    description: |-
-      Receive data from an FTPS server.
+    description: Receive data from an FTPS server.
     required:
       - connectionHost
       - connectionPort
diff --git a/kamelets/github-commit-source.kamelet.yaml b/kamelets/github-commit-source.kamelet.yaml
index ebb2bdfd7..a98637ed2 100644
--- a/kamelets/github-commit-source.kamelet.yaml
+++ b/kamelets/github-commit-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "GitHub Commit Source"
-    description: |-
-      Receive commit From GitHub.
+    description: Receive commit From GitHub.
     required:
       - repoName
       - repoOwner
diff --git a/kamelets/github-event-source.kamelet.yaml b/kamelets/github-event-source.kamelet.yaml
index 76c2f2d09..b6e9a0b74 100644
--- a/kamelets/github-event-source.kamelet.yaml
+++ b/kamelets/github-event-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "GitHub Event Source"
-    description: |-
-      Receive Events From a GitHub Repository.
+    description: Receive Events From a GitHub Repository.
     required:
       - repoName
       - repoOwner
diff --git a/kamelets/github-pullrequest-comment-source.kamelet.yaml b/kamelets/github-pullrequest-comment-source.kamelet.yaml
index cb0328ab4..f9656856b 100644
--- a/kamelets/github-pullrequest-comment-source.kamelet.yaml
+++ b/kamelets/github-pullrequest-comment-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "GitHub Pull Request Comments Source"
-    description: |-
-      Receive pull request Comments From GitHub.
+    description: Receive pull request Comments From GitHub.
     required:
       - repoName
       - repoOwner
diff --git a/kamelets/github-pullrequest-source.kamelet.yaml b/kamelets/github-pullrequest-source.kamelet.yaml
index 7044c5adc..63854cc84 100644
--- a/kamelets/github-pullrequest-source.kamelet.yaml
+++ b/kamelets/github-pullrequest-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "GitHub Pull Request Source"
-    description: |-
-      Receive pull request From GitHub.
+    description: Receive pull request From GitHub.
     required:
       - repoName
       - repoOwner
diff --git a/kamelets/github-tag-source.kamelet.yaml b/kamelets/github-tag-source.kamelet.yaml
index 0b69fbee8..4ee5f57af 100644
--- a/kamelets/github-tag-source.kamelet.yaml
+++ b/kamelets/github-tag-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "GitHub Tag Source"
-    description: |-
-      Receive Tags From a GitHub Repository.
+    description: Receive Tags From a GitHub Repository.
     required:
       - repoName
       - repoOwner
diff --git a/kamelets/google-bigquery-sink.kamelet.yaml b/kamelets/google-bigquery-sink.kamelet.yaml
index 49b89ceca..d6df134f4 100644
--- a/kamelets/google-bigquery-sink.kamelet.yaml
+++ b/kamelets/google-bigquery-sink.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "Google Big Query Sink"
-    description: |-
-      Send data to a Google Big Query table.
-
-      The data must be in JSON format to represent an object or an array of objects.
+    description: Send data to a Google Big Query table.
     required:
       - projectId
       - dataset
diff --git a/kamelets/google-calendar-source.kamelet.yaml b/kamelets/google-calendar-source.kamelet.yaml
index 78ae616bb..ed0a413e7 100644
--- a/kamelets/google-calendar-source.kamelet.yaml
+++ b/kamelets/google-calendar-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Google Calendar Source"
-    description: |-
-      Receive event data from Google Calendar.
+    description: Receive event data from Google Calendar.
     required:
       - index
       - calendarId
@@ -108,14 +107,11 @@ spec:
       types:
         json:
           format: "application-json"
-          description: |-
-            Json representation of a Google Calendar event object.
+          description: Json representation of a Google Calendar event object.
           mediaType: application/json
         cloudevents:
           format: "google-calendar-stream:application-cloudevents"
-          description: |-
-            Output data type represents Google Calendar Stream response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
-            respective data from the Calendar Events and its derived object.
+          description: Output data type represents Google Calendar Stream response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/google-functions-sink.kamelet.yaml b/kamelets/google-functions-sink.kamelet.yaml
index 7e749f2b0..d5b5006d6 100644
--- a/kamelets/google-functions-sink.kamelet.yaml
+++ b/kamelets/google-functions-sink.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Google Functions Sink"
-    description: |-
-      Send data to Google Functions.
+    description: Send data to Google Functions.
     required:
       - projectId
       - functionName
diff --git a/kamelets/google-mail-source.kamelet.yaml b/kamelets/google-mail-source.kamelet.yaml
index ccca8210a..7cbef8944 100644
--- a/kamelets/google-mail-source.kamelet.yaml
+++ b/kamelets/google-mail-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Google Mail Source"
-    description: |-
-      Receive data from Google Mail.
+    description: Receive data from Google Mail.
     required:
       - index
       - clientId
@@ -129,14 +128,11 @@ spec:
       types:
         json:
           format: "application-json"
-          description: |-
-            Json representation of a Google Mail event object.
+          description: Json representation of a Google Mail event object.
           mediaType: application/json
         cloudevents:
           format: "google-mail-stream:application-cloudevents"
-          description: |-
-            Output data type represents Google Mail Streams response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
-            respective data from the Mail and its derived object.
+          description: Output data type represents Google Mail Streams response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/google-pubsub-sink.kamelet.yaml b/kamelets/google-pubsub-sink.kamelet.yaml
index 14db2b7f2..fb336ebaf 100644
--- a/kamelets/google-pubsub-sink.kamelet.yaml
+++ b/kamelets/google-pubsub-sink.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "Google Pubsub Sink"
-    description: |-
-      Send messages to Google Cloud Pub/Sub.
-
-      If you specify the `serviceAccountKey` property, you must base64 encode it before you pass it as a parameter.
+    description: Send messages to Google Cloud Pub/Sub.
     required:
       - projectId
       - destinationName
diff --git a/kamelets/google-pubsub-source.kamelet.yaml b/kamelets/google-pubsub-source.kamelet.yaml
index 5b9dce990..af7c111e4 100644
--- a/kamelets/google-pubsub-source.kamelet.yaml
+++ b/kamelets/google-pubsub-source.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "Google Pubsub Source"
-    description: |-
-      Consume messages from Google Cloud Pub/Sub.
-
-      If you specify the `serviceAccountKey` property, you must base64 encode it before you pass it as a parameter.
+    description: Consume messages from Google Cloud Pub/Sub.
     required:
       - projectId
       - subscriptionName
diff --git a/kamelets/google-sheets-sink.kamelet.yaml b/kamelets/google-sheets-sink.kamelet.yaml
index 8214f31a9..41baa981f 100644
--- a/kamelets/google-sheets-sink.kamelet.yaml
+++ b/kamelets/google-sheets-sink.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Google Sheets Sink"
-    description: |-
-      Send data to Google Sheets and update/append values on a spreadsheet.
+    description: Send data to Google Sheets and update/append values on a spreadsheet.
     required:
       - spreadsheetId
       - clientId
@@ -113,12 +112,7 @@ spec:
       types:
         json-struct:
           format: "google-sheets:application-x-struct"
-          description: |-
-            Special Json representation of Google Sheets ValueRange object with just row and column values as a generic JsonNode.
-            Each cell value is represented by a Json property named after the respective row (A-Z) or column (1-n) depending on the given majorDimension.
-            Custom column names are supported in order to use custom property names instead of generic row (A-Z) or column (1-n) coordinates.
-            The given Json struct is ready to be transformed into a proper Google Sheets ValueRange object that can be used in the update/append values operation.
-            The data type uses a set of header entries to determine properties such as spreadsheetId, the target cell range, the majorDimension and so on.
+          description: Special Json representation of Google Sheets ValueRange object with just row and column values as a generic JsonNode.
           headers:
             CamelGoogleSheets.range:
               title: Range
diff --git a/kamelets/google-sheets-source.kamelet.yaml b/kamelets/google-sheets-source.kamelet.yaml
index 3a9aa9cc9..253c91eeb 100644
--- a/kamelets/google-sheets-source.kamelet.yaml
+++ b/kamelets/google-sheets-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Google Sheets Source"
-    description: |-
-      Receive data from Google Sheets.
+    description: Receive data from Google Sheets.
     required:
       - spreadsheetId
       - clientId
@@ -138,23 +137,15 @@ spec:
       types:
         json:
           format: "application-json"
-          description: |-
-            Json representation of a GoogleSheets ValueRange object that holds all values for the given cell range.
-            Or Json array of values for a single row/column in the range when 'splitResults' mode is enabled.
+          description: Json representation of a GoogleSheets ValueRange object that holds all values for the given cell range.
           mediaType: application/json
         json-struct:
           format: "google-sheets:application-x-struct"
-          description: |-
-            Special Json representation of Google Sheets ValueRange object with just row and column values as a generic JsonNode.
-            Each cell value is represented by a Json property named after the respective row (A-Z) or column (1-n) depending on the given majorDimension.
-            Custom column names are supported in order to use custom property names instead of generic row (A-Z) or column (1-n) coordinates.
-            The produced Json struct is ready to be transformed back into a proper Google Sheets ValueRange object that can be used in an update/append values operation.
+          description: Special Json representation of Google Sheets ValueRange object with just row and column values as a generic JsonNode.
           mediaType: application/json
         cloudevents:
           format: "google-sheets-stream:application-cloudevents"
-          description: |-
-            Output data type represents Google Sheets Stream response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
-            respective data from the Spreasheet and its derived object.
+          description: Output data type represents Google Sheets Stream response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/google-storage-event-based-source.kamelet.yaml b/kamelets/google-storage-event-based-source.kamelet.yaml
index fde8be48b..613c0bfe3 100644
--- a/kamelets/google-storage-event-based-source.kamelet.yaml
+++ b/kamelets/google-storage-event-based-source.kamelet.yaml
@@ -30,14 +30,7 @@ metadata:
 spec:
   definition:
     title: "Google Storage Event-based Source"
-    description: |-
-      Receive data from Google Pubsub reporting events related to a Google Storage bucket.
-
-      Service account key is the basic method for authenticating to the Google Pubsub and Google Storage.
-
-      To use this Kamelet, you need to set up Events notification for your Google Storage Bucket.
-
-      You must encode the `serviceAccountKey` property before you pass it as a parameter.
+    description: Receive data from Google Pubsub reporting events related to a Google Storage bucket.
     required:
       - projectId
       - subscriptionName
diff --git a/kamelets/google-storage-sink.kamelet.yaml b/kamelets/google-storage-sink.kamelet.yaml
index fdfa9e067..8d240d529 100644
--- a/kamelets/google-storage-sink.kamelet.yaml
+++ b/kamelets/google-storage-sink.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "Google Storage Sink"
-    description: |-
-      Upload objects to Google Cloud Storage.
-
-      If you specify the `serviceAccountKey` property, you must base64 encode it before you pass it as a parameter.
-
-      In the header, you can set the `file` / `ce-file` property to specify the filename to upload. If you do set property in the header, the Kamelet uses the exchange ID as filename.
+    description: Upload objects to Google Cloud Storage.
     required:
       - bucketNameOrArn
     type: object
diff --git a/kamelets/google-storage-source.kamelet.yaml b/kamelets/google-storage-source.kamelet.yaml
index ac3a2bad9..43a9e1ce1 100644
--- a/kamelets/google-storage-source.kamelet.yaml
+++ b/kamelets/google-storage-source.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "Google Storage Source"
-    description: |-
-      Consume objects from Google Cloud Storage.
-
-      If you specify the `serviceAccountKey` property, you must base64 encode it before you pass it as a parameter.
+    description: Consume objects from Google Cloud Storage.
     required:
       - bucketNameOrArn
     type: object
@@ -85,9 +82,7 @@ spec:
           type: string
         CamelGoogleCloudStorageETag:
           title: ETag Value
-          description: |-
-            The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864.
-            Is the generation number of the object for which you are retrieving information.
+          description: The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864.
           type: string
       types:
         binary:
@@ -96,9 +91,7 @@ spec:
           mediaType: application/octet-stream
         cloudevents:
           format: "aws2-s3:application-cloudevents"
-          description: |-
-            Output data type represents Google Storage download to response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
-            respective data from the S3 bucket and its derived object.
+          description: Output data type represents Google Storage download to response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/http-secured-source.kamelet.yaml b/kamelets/http-secured-source.kamelet.yaml
index c0b396877..ea5600bba 100644
--- a/kamelets/http-secured-source.kamelet.yaml
+++ b/kamelets/http-secured-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "HTTP Secured Source"
-    description: |-
-      Periodically fetches a secured HTTP resource and provides the content as output. Supports Oauth and Basic authentication.
+    description: Periodically fetches a secured HTTP resource and provides the content as output. Supports Oauth and Basic authentication.
     required:
     - url
     type: object
diff --git a/kamelets/http-source.kamelet.yaml b/kamelets/http-source.kamelet.yaml
index 5ae8b8051..7c0a5dcd9 100644
--- a/kamelets/http-source.kamelet.yaml
+++ b/kamelets/http-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "HTTP Source"
-    description: |-
-      Periodically fetches an HTTP resource and provides the content as output.
+    description: Periodically fetches an HTTP resource and provides the content as output.
     required:
     - url
     type: object
diff --git a/kamelets/infinispan-sink.kamelet.yaml b/kamelets/infinispan-sink.kamelet.yaml
index b63e8dd61..43b30a5a8 100644
--- a/kamelets/infinispan-sink.kamelet.yaml
+++ b/kamelets/infinispan-sink.kamelet.yaml
@@ -30,14 +30,7 @@ metadata:
 spec:
   definition:
     title: "Infinispan Sink"
-    description: |-
-      Write object to an Infinispan cache.
-
-      The Kamelet expects the following headers to be set:
-
-      - `key` / `ce-key`: as the key to use when put an object in the Infinispan cache.
-
-      If the header is not set, the exchange ID is used as key.
+    description: Write object to an Infinispan cache.
     required:
       - cacheName
       - hosts
diff --git a/kamelets/infinispan-source.kamelet.yaml b/kamelets/infinispan-source.kamelet.yaml
index d57588c22..f30c53e9e 100644
--- a/kamelets/infinispan-source.kamelet.yaml
+++ b/kamelets/infinispan-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Infinispan Source"
-    description: |-
-      Get Events from an Infinispan cache
+    description: Get Events from an Infinispan cache
     required:
       - cacheName
       - hosts
diff --git a/kamelets/insert-field-action.kamelet.yaml b/kamelets/insert-field-action.kamelet.yaml
index 3015634b7..3ca801cab 100644
--- a/kamelets/insert-field-action.kamelet.yaml
+++ b/kamelets/insert-field-action.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "Insert Field Action"
-    description: |-
-      Adds a custom field with a simple language parsed value to the message in transit.
-
-      The insert field action expects an `application/json` content type.
-
-      For example,  if you have an object like '{ "foo":"John", "bar":30 }', and your action is configured with the field `element` and the value `hello`, the result is `{ "foo":"John", "bar":30, "element":"hello" }`.
+    description: Adds a custom field with a simple language parsed value to the message in transit.
     required:
       - field
       - value
diff --git a/kamelets/jira-add-comment-sink.kamelet.yaml b/kamelets/jira-add-comment-sink.kamelet.yaml
index 582c0cb48..f0c06153b 100644
--- a/kamelets/jira-add-comment-sink.kamelet.yaml
+++ b/kamelets/jira-add-comment-sink.kamelet.yaml
@@ -30,16 +30,7 @@ metadata:
 spec:
   definition:
     title: "Jira Add Comment Sink"
-    description: |-
-      Add a new comment to an existing issue in Jira.
-
-      The Kamelet expects the following headers to be set:
-
-      - `issueKey` / `ce-issueKey`: as the issue code.
-
-      The comment is set in the body of the message.
-
-      To authenticate, a username/password or personal token must be defined. We recommend to use personal token as it is a safer way to get access to Jira.
+    description: Add a new comment to an existing issue in Jira.
 
     required:
       - jiraUrl
diff --git a/kamelets/jira-add-issue-sink.kamelet.yaml b/kamelets/jira-add-issue-sink.kamelet.yaml
index 7e7099e47..febfff8e6 100644
--- a/kamelets/jira-add-issue-sink.kamelet.yaml
+++ b/kamelets/jira-add-issue-sink.kamelet.yaml
@@ -30,28 +30,7 @@ metadata:
 spec:
   definition:
     title: "Jira Add Issue Sink"
-    description: |-
-      Add a new issue to Jira.
-
-      The Kamelet expects the following headers to be set:
-
-      - `projectKey` / `ce-projectKey`: as the Jira project key.
-
-      - `issueTypeName` / `ce-issueTypeName`: as the name of the issue type (example: Bug, Enhancement).
-
-      - `issueSummary` / `ce-issueSummary`: as the title or summary of the issue.
-
-      - `issueAssignee` / `ce-issueAssignee`: as the user assigned to the issue (Optional).
-
-      - `issuePriorityName` / `ce-issuePriorityName`: as the priority name of the issue (example: Critical, Blocker, Trivial) (Optional).
-
-      - `issueComponents` / `ce-issueComponents`: as list of string with the valid component names (Optional).
-
-      - `issueDescription` / `ce-issueDescription`: as the issue description (Optional).
-
-      The issue description can be set from the body of the message or the `issueDescription`/`ce-issueDescription` in the header, however the body takes precedence.
-
-      To authenticate, a username/password or personal token must be defined. We recommend to use personal token as it is a safer way to get access to Jira.
+    description: Add a new issue to Jira.
 
     required:
       - jiraUrl
diff --git a/kamelets/jira-oauth-source.kamelet.yaml b/kamelets/jira-oauth-source.kamelet.yaml
index e5c576599..d9e3901d6 100644
--- a/kamelets/jira-oauth-source.kamelet.yaml
+++ b/kamelets/jira-oauth-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Jira oauth Source"
-    description: |-
-      Receive notifications about new issues from Jira through OAuth authentication.
+    description: Receive notifications about new issues from Jira through OAuth authentication.
     required:
       - jiraUrl
       - accessToken
diff --git a/kamelets/jira-source.kamelet.yaml b/kamelets/jira-source.kamelet.yaml
index 3c79780d1..ebc125745 100644
--- a/kamelets/jira-source.kamelet.yaml
+++ b/kamelets/jira-source.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "Jira Source"
-    description: |-
-      Receive notifications about new issues from Jira.
-
-      To authenticate, a username/password or personal token must be defined. We recommend to use personal token as it is a safer way to get access to Jira.
+    description: Receive notifications about new issues from Jira.
 
     required:
       - jiraUrl
diff --git a/kamelets/jira-transition-issue-sink.kamelet.yaml b/kamelets/jira-transition-issue-sink.kamelet.yaml
index a3d30168f..4199e7a4e 100644
--- a/kamelets/jira-transition-issue-sink.kamelet.yaml
+++ b/kamelets/jira-transition-issue-sink.kamelet.yaml
@@ -30,18 +30,7 @@ metadata:
 spec:
   definition:
     title: "Jira Transition Issue Sink"
-    description: |-
-      Sets a new status (transition to) of an existing issue in Jira.
-
-      The Kamelet expects the following headers to be set:
-
-      - `issueKey` / `ce-issueKey`: as the issue unique code.
-
-      - `issueTransitionId` / `ce-issueTransitionId`: as the new status (transition) code. You should carefully check the project workflow as each transition may have conditions to check before the transition is made.
-
-      The comment of the transition is set in the body of the message.
-
-      To authenticate, a username/password or personal token must be defined. We recommend to use personal token as it is a safer way to get access to Jira.
+    description: Sets a new status (transition to) of an existing issue in Jira.
 
     required:
       - jiraUrl
diff --git a/kamelets/jira-update-issue-sink.kamelet.yaml b/kamelets/jira-update-issue-sink.kamelet.yaml
index 78bc5d5f1..321b44837 100644
--- a/kamelets/jira-update-issue-sink.kamelet.yaml
+++ b/kamelets/jira-update-issue-sink.kamelet.yaml
@@ -30,28 +30,7 @@ metadata:
 spec:
   definition:
     title: "Jira Update Issue Sink"
-    description: |-
-      Update fields of an existing issue in Jira.
-
-      The Kamelet expects the following headers to be set:
-
-      - `issueKey` / `ce-issueKey`: as the issue code in Jira.
-
-      - `issueTypeName` / `ce-issueTypeName`: as the name of the issue type (example: Bug, Enhancement).
-
-      - `issueSummary` / `ce-issueSummary`: as the title or summary of the issue.
-
-      - `issueAssignee` / `ce-issueAssignee`: as the user assigned to the issue (Optional).
-
-      - `issuePriorityName` / `ce-issuePriorityName`: as the priority name of the issue (example: Critical, Blocker, Trivial) (Optional).
-
-      - `issueComponents` / `ce-issueComponents`: as list of string with the valid component names (Optional).
-
-      - `issueDescription` / `ce-issueDescription`: as the issue description (Optional).
-
-      The issue description can be set from the body of the message or the `issueDescription`/`ce-issueDescription` in the header, however the body takes precedence.
-
-      To authenticate, a username/password or personal token must be defined. We recommend to use personal token as it is a safer way to get access to Jira.
+    description: Update fields of an existing issue in Jira.
 
     required:
       - jiraUrl
diff --git a/kamelets/jms-ibm-mq-sink.kamelet.yaml b/kamelets/jms-ibm-mq-sink.kamelet.yaml
index 264bb0410..47ec76f31 100644
--- a/kamelets/jms-ibm-mq-sink.kamelet.yaml
+++ b/kamelets/jms-ibm-mq-sink.kamelet.yaml
@@ -31,12 +31,7 @@ metadata:
 spec:
   definition:
     title: "JMS - IBM MQ Sink"
-    description: |-
-      A Kamelet that can produce events to an IBM MQ message queue using JMS.
-
-      In your Pipe file, you must explicitly declare the IBM MQ Server driver dependency in spec->integration->dependencies
-
-      - "mvn:com.ibm.mq:com.ibm.mq.jakarta.client:<version>"
+    description: A Kamelet that can produce events to an IBM MQ message queue using JMS.
 
     required:
       - serverName
diff --git a/kamelets/jms-ibm-mq-source.kamelet.yaml b/kamelets/jms-ibm-mq-source.kamelet.yaml
index 768c9b959..f79e46441 100644
--- a/kamelets/jms-ibm-mq-source.kamelet.yaml
+++ b/kamelets/jms-ibm-mq-source.kamelet.yaml
@@ -31,12 +31,7 @@ metadata:
 spec:
   definition:
     title: "JMS - IBM MQ Source"
-    description: |-
-      A Kamelet that can read events from an IBM MQ message queue using JMS.
-      
-      In your Pipe file, you must explicitly declare the IBM MQ Server driver dependency in spec->integration->dependencies
-
-      - "mvn:com.ibm.mq:com.ibm.mq.jakarta.client:<version>"
+    description: A Kamelet that can read events from an IBM MQ message queue using JMS.
       
     required:
       - serverName
diff --git a/kamelets/jolt-transformation-action.kamelet.yaml b/kamelets/jolt-transformation-action.kamelet.yaml
index 384ad5e7f..f6162968d 100644
--- a/kamelets/jolt-transformation-action.kamelet.yaml
+++ b/kamelets/jolt-transformation-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Jolt Transformation Action"
-    description: |-
-      Apply a Jolt Transformation.
+    description: Apply a Jolt Transformation.
     required:
       - template
     type: object
diff --git a/kamelets/jslt-action.kamelet.yaml b/kamelets/jslt-action.kamelet.yaml
index cea42b504..8cb0bff1f 100644
--- a/kamelets/jslt-action.kamelet.yaml
+++ b/kamelets/jslt-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "JSLT Action"
-    description: |-
-      Apply a JSLT query or transformation on JSON.
+    description: Apply a JSLT query or transformation on JSON.
     required:
       - template
     type: object
diff --git a/kamelets/json-patch-action.kamelet.yaml b/kamelets/json-patch-action.kamelet.yaml
index e5da4f365..f4217b004 100644
--- a/kamelets/json-patch-action.kamelet.yaml
+++ b/kamelets/json-patch-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Json Patch Action"
-    description: |-
-      Apply a Json Patch Transformation.
+    description: Apply a Json Patch Transformation.
     required:
       - template
     type: object
diff --git a/kamelets/json-schema-validator-action.kamelet.yaml b/kamelets/json-schema-validator-action.kamelet.yaml
index ae54fc1c2..3ac8a79ac 100644
--- a/kamelets/json-schema-validator-action.kamelet.yaml
+++ b/kamelets/json-schema-validator-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Json Schema Validator Action"
-    description: |-
-      Apply a Json Schema Template to validate the payload against.
+    description: Apply a Json Schema Template to validate the payload against.
     required:
       - template
     type: object
diff --git a/kamelets/jsonata-action.kamelet.yaml b/kamelets/jsonata-action.kamelet.yaml
index 7b54aa151..bcc022698 100644
--- a/kamelets/jsonata-action.kamelet.yaml
+++ b/kamelets/jsonata-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Jsonata Action"
-    description: |-
-      Apply a Jsonata Transformation.
+    description: Apply a Jsonata Transformation.
     required:
       - template
     type: object
diff --git a/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml b/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
index c5efea76b..ccd3bb742 100644
--- a/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
+++ b/kamelets/kafka-apicurio-registry-not-secured-sink.kamelet.yaml
@@ -30,16 +30,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Not Secured with Apicurio Registry Sink"
-    description: |-
-      Send data to Kafka topics on an insecure broker with Apicurio Registry.
-
-      The Kamelet is able to understand the following headers to be set:
-
-      - `key` / `ce-key`: as message key
-    
-      - `partition-key` / `ce-partitionkey`: as message partition key
-
-      Both the headers are optional.
+    description: Send data to Kafka topics on an insecure broker with Apicurio Registry.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-apicurio-registry-not-secured-source.kamelet.yaml b/kamelets/kafka-apicurio-registry-not-secured-source.kamelet.yaml
index 115e0820c..fecc09c19 100644
--- a/kamelets/kafka-apicurio-registry-not-secured-source.kamelet.yaml
+++ b/kamelets/kafka-apicurio-registry-not-secured-source.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Not Secured with Apicurio Registry Source"
-    description: |-
-      Receive data from Kafka topics on an insecure broker combined with Apicurio Registry.
+    description: Receive data from Kafka topics on an insecure broker combined with Apicurio Registry.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-azure-schema-registry-sink.kamelet.yaml b/kamelets/kafka-azure-schema-registry-sink.kamelet.yaml
index 6bae19480..5fc87bd6f 100644
--- a/kamelets/kafka-azure-schema-registry-sink.kamelet.yaml
+++ b/kamelets/kafka-azure-schema-registry-sink.kamelet.yaml
@@ -30,16 +30,7 @@ metadata:
 spec:
   definition:
     title: "Azure Kafka through Eventhubs with Azure Schema Registry Sink"
-    description: |-
-      Send data to Kafka topics on Azure Eventhubs combined with Azure Schema Registry.
-
-      The Kamelet is able to understand the following headers to be set:
-
-      - `key` / `ce-key`: as message key
-    
-      - `partition-key` / `ce-partitionkey`: as message partition key
-
-      Both the headers are optional.
+    description: Send data to Kafka topics on Azure Eventhubs combined with Azure Schema Registry.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-azure-schema-registry-source.kamelet.yaml b/kamelets/kafka-azure-schema-registry-source.kamelet.yaml
index 83ce0c235..9b177cec2 100644
--- a/kamelets/kafka-azure-schema-registry-source.kamelet.yaml
+++ b/kamelets/kafka-azure-schema-registry-source.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "Azure Kafka through Eventhubs with Azure Schema Registry Source"
-    description: |-
-      Receive data from Kafka topics on Azure Eventhubs combined with Azure Schema Registry.
+    description: Receive data from Kafka topics on Azure Eventhubs combined with Azure Schema Registry.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-batch-apicurio-registry-not-secured-source.kamelet.yaml b/kamelets/kafka-batch-apicurio-registry-not-secured-source.kamelet.yaml
index 7f8f0dc3f..80e15e3ed 100644
--- a/kamelets/kafka-batch-apicurio-registry-not-secured-source.kamelet.yaml
+++ b/kamelets/kafka-batch-apicurio-registry-not-secured-source.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Batch Not Secured with Apicurio Registry Source"
-    description: |-
-      Receive data from Kafka topics in batch on an insecure broker combined with Apicurio Registry and commit them manually through KafkaManualCommit or auto commit.
+    description: Receive data from Kafka topics in batch on an insecure broker combined with Apicurio Registry and commit them manually through KafkaManualCommit or auto commit.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-batch-apicurio-registry-source.kamelet.yaml b/kamelets/kafka-batch-apicurio-registry-source.kamelet.yaml
index 53ba70a8c..39751c136 100644
--- a/kamelets/kafka-batch-apicurio-registry-source.kamelet.yaml
+++ b/kamelets/kafka-batch-apicurio-registry-source.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Batch with Apicurio Registry secured with Keycloak Source"
-    description: |-
-      Receive data from Kafka topics in batch on an insecure broker combined with Apicurio Registry secured with Keycloak and commit them manually through KafkaManualCommit or auto commit.
+    description: Receive data from Kafka topics in batch on an insecure broker combined with Apicurio Registry secured with Keycloak and commit them manually through KafkaManualCommit or auto commit.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-batch-azure-schema-registry-source.kamelet.yaml b/kamelets/kafka-batch-azure-schema-registry-source.kamelet.yaml
index 7b923535a..919080609 100644
--- a/kamelets/kafka-batch-azure-schema-registry-source.kamelet.yaml
+++ b/kamelets/kafka-batch-azure-schema-registry-source.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "Azure Kafka Batch through Eventhubs with Azure Schema Registry Source"
-    description: |-
-      Receive data from Kafka topics in batch on Azure Eventhubs combined with Azure Schema Registry and commit them manually through KafkaManualCommit or auto commit.
+    description: Receive data from Kafka topics in batch on Azure Eventhubs combined with Azure Schema Registry and commit them manually through KafkaManualCommit or auto commit.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-batch-not-secured-source.kamelet.yaml b/kamelets/kafka-batch-not-secured-source.kamelet.yaml
index 70bc909a2..3bfa2f609 100644
--- a/kamelets/kafka-batch-not-secured-source.kamelet.yaml
+++ b/kamelets/kafka-batch-not-secured-source.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Batch Not Secured Source"
-    description: |-
-      Receive data from Kafka topics in batch on an insecure broker and commit them manually through KafkaManualCommit.
+    description: Receive data from Kafka topics in batch on an insecure broker and commit them manually through KafkaManualCommit.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-batch-scram-source.kamelet.yaml b/kamelets/kafka-batch-scram-source.kamelet.yaml
index f97d37b10..c3da90740 100644
--- a/kamelets/kafka-batch-scram-source.kamelet.yaml
+++ b/kamelets/kafka-batch-scram-source.kamelet.yaml
@@ -33,8 +33,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Batch Scram Source"
-    description: |-
-      Receive data from Kafka topics in batch through SCRAM login module and commit them manually through KafkaManualCommit..
+    description: Receive data from Kafka topics in batch through SCRAM login module and commit them manually through KafkaManualCommit..
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-batch-source.kamelet.yaml b/kamelets/kafka-batch-source.kamelet.yaml
index a0a3fdaa6..086db39fc 100644
--- a/kamelets/kafka-batch-source.kamelet.yaml
+++ b/kamelets/kafka-batch-source.kamelet.yaml
@@ -33,8 +33,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Batch Source"
-    description: |-
-      Receive data from Kafka topics in batch through Plain Login Module and commit them manually through KafkaManualCommit..
+    description: Receive data from Kafka topics in batch through Plain Login Module and commit them manually through KafkaManualCommit..
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-batch-ssl-source.kamelet.yaml b/kamelets/kafka-batch-ssl-source.kamelet.yaml
index b19cb294a..39371af4d 100644
--- a/kamelets/kafka-batch-ssl-source.kamelet.yaml
+++ b/kamelets/kafka-batch-ssl-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Batch SSL Source"
-    description: |-
-      Receive data from Kafka topics in batch with SSL/TLS support and commit them manually through KafkaManualCommit or automatically.
+    description: Receive data from Kafka topics in batch with SSL/TLS support and commit them manually through KafkaManualCommit or automatically.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-not-secured-apicurio-registry-json-source.kamelet.yaml b/kamelets/kafka-not-secured-apicurio-registry-json-source.kamelet.yaml
index 721431dfd..ba300d8fb 100644
--- a/kamelets/kafka-not-secured-apicurio-registry-json-source.kamelet.yaml
+++ b/kamelets/kafka-not-secured-apicurio-registry-json-source.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "Kafka not secured with Apicurio Registry secured with Keycloak for JSON schema support Source"
-    description: |-
-      Receive data from Kafka topics on an insecure broker combined with Apicurio Registry secured with Keycloak for JSON Schema support.
+    description: Receive data from Kafka topics on an insecure broker combined with Apicurio Registry secured with Keycloak for JSON Schema support.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-not-secured-apicurio-registry-sink.kamelet.yaml b/kamelets/kafka-not-secured-apicurio-registry-sink.kamelet.yaml
index 2b0970037..1fdf0a1a9 100644
--- a/kamelets/kafka-not-secured-apicurio-registry-sink.kamelet.yaml
+++ b/kamelets/kafka-not-secured-apicurio-registry-sink.kamelet.yaml
@@ -30,16 +30,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Not Secured with Apicurio Registry secured with Keycloak Sink"
-    description: |-
-      Send data to Kafka topics on an insecure broker with Apicurio Registry secured with Keycloak.
-
-      The Kamelet is able to understand the following headers to be set:
-
-      - `key` / `ce-key`: as message key
-    
-      - `partition-key` / `ce-partitionkey`: as message partition key
-
-      Both the headers are optional.
+    description: Send data to Kafka topics on an insecure broker with Apicurio Registry secured with Keycloak.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-not-secured-apicurio-registry-source.kamelet.yaml b/kamelets/kafka-not-secured-apicurio-registry-source.kamelet.yaml
index 474c28080..79e9f4e8e 100644
--- a/kamelets/kafka-not-secured-apicurio-registry-source.kamelet.yaml
+++ b/kamelets/kafka-not-secured-apicurio-registry-source.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "Kafka not secured with Apicurio Registry secured with Keycloak Source"
-    description: |-
-      Receive data from Kafka topics on an insecure broker combined with Apicurio Registry secured with Keycloak.
+    description: Receive data from Kafka topics on an insecure broker combined with Apicurio Registry secured with Keycloak.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-not-secured-sink.kamelet.yaml b/kamelets/kafka-not-secured-sink.kamelet.yaml
index 886751902..64c8557a4 100644
--- a/kamelets/kafka-not-secured-sink.kamelet.yaml
+++ b/kamelets/kafka-not-secured-sink.kamelet.yaml
@@ -30,16 +30,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Not Secured Sink"
-    description: |-
-      Send data to Kafka topics on an insecure broker.
-
-      The Kamelet is able to understand the following headers to be set:
-
-      - `key` / `ce-key`: as message key
-    
-      - `partition-key` / `ce-partitionkey`: as message partition key
-
-      Both the headers are optional.
+    description: Send data to Kafka topics on an insecure broker.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-not-secured-source.kamelet.yaml b/kamelets/kafka-not-secured-source.kamelet.yaml
index 940f06008..7f008a5a6 100644
--- a/kamelets/kafka-not-secured-source.kamelet.yaml
+++ b/kamelets/kafka-not-secured-source.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Not Secured Source"
-    description: |-
-      Receive data from Kafka topics on an insecure broker.
+    description: Receive data from Kafka topics on an insecure broker.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-scram-sink.kamelet.yaml b/kamelets/kafka-scram-sink.kamelet.yaml
index bc9264fa8..222f2b173 100644
--- a/kamelets/kafka-scram-sink.kamelet.yaml
+++ b/kamelets/kafka-scram-sink.kamelet.yaml
@@ -30,16 +30,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Scram Sink"
-    description: |-
-      Send data to Kafka topics through SCRAM login module.
-
-      The Kamelet is able to understand the following headers to be set:
-
-      - `key` / `ce-key`: as message key
-    
-      - `partition-key` / `ce-partitionkey`: as message partition key
-
-      Both the headers are optional.
+    description: Send data to Kafka topics through SCRAM login module.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-scram-source.kamelet.yaml b/kamelets/kafka-scram-source.kamelet.yaml
index f96e95e89..02951ba04 100644
--- a/kamelets/kafka-scram-source.kamelet.yaml
+++ b/kamelets/kafka-scram-source.kamelet.yaml
@@ -33,8 +33,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Scram Source"
-    description: |-
-      Receive data from Kafka topics through SCRAM login module.
+    description: Receive data from Kafka topics through SCRAM login module.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-sink.kamelet.yaml b/kamelets/kafka-sink.kamelet.yaml
index ddfa61014..ecc178577 100644
--- a/kamelets/kafka-sink.kamelet.yaml
+++ b/kamelets/kafka-sink.kamelet.yaml
@@ -30,16 +30,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Sink"
-    description: |-
-      Send data to Kafka topics through Plain Login Module.
-
-      The Kamelet is able to understand the following headers to be set:
-
-      - `key` / `ce-key`: as message key
-    
-      - `partition-key` / `ce-partitionkey`: as message partition key
-
-      Both the headers are optional.
+    description: Send data to Kafka topics through Plain Login Module.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-source.kamelet.yaml b/kamelets/kafka-source.kamelet.yaml
index 34bee3f7b..ed4f260b0 100644
--- a/kamelets/kafka-source.kamelet.yaml
+++ b/kamelets/kafka-source.kamelet.yaml
@@ -33,8 +33,7 @@ metadata:
 spec:
   definition:
     title: "Kafka Source"
-    description: |-
-      Receive data from Kafka topics through Plain Login Module.
+    description: Receive data from Kafka topics through Plain Login Module.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-ssl-sink.kamelet.yaml b/kamelets/kafka-ssl-sink.kamelet.yaml
index bd27d4c3d..7ab1ff1e6 100644
--- a/kamelets/kafka-ssl-sink.kamelet.yaml
+++ b/kamelets/kafka-ssl-sink.kamelet.yaml
@@ -29,16 +29,7 @@ metadata:
     camel.apache.org/kamelet.type: "sink"
 spec:
   definition:
-    description: |-
-      Send data to Kafka topics wit TLS/SSL support.
-
-      The Kamelet is able to understand the following headers to be set:
-
-      - `key` / `ce-key`: as message key
-
-      - `partition-key` / `ce-partitionkey`: as message partition key
-
-      Both the headers are optional.
+    description: Send data to Kafka topics wit TLS/SSL support.
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kafka-ssl-source.kamelet.yaml b/kamelets/kafka-ssl-source.kamelet.yaml
index dbe194224..ee4b5de02 100644
--- a/kamelets/kafka-ssl-source.kamelet.yaml
+++ b/kamelets/kafka-ssl-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Kafka SSL Source"
-    description: |-
-      Receive data from Kafka topics with SSL/TLS support
+    description: Receive data from Kafka topics with SSL/TLS support
     required:
       - topic
       - bootstrapServers
diff --git a/kamelets/kubernetes-namespaces-source.kamelet.yaml b/kamelets/kubernetes-namespaces-source.kamelet.yaml
index 472ac355a..d653902d0 100644
--- a/kamelets/kubernetes-namespaces-source.kamelet.yaml
+++ b/kamelets/kubernetes-namespaces-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Kubernetes Namespaces Source"
-    description: |-
-      Consume Events from Kubernetes Namespaces
+    description: Consume Events from Kubernetes Namespaces
     required:
       - token
       - masterUrl
diff --git a/kamelets/kubernetes-nodes-source.kamelet.yaml b/kamelets/kubernetes-nodes-source.kamelet.yaml
index a4a7f3ce6..65b343a54 100644
--- a/kamelets/kubernetes-nodes-source.kamelet.yaml
+++ b/kamelets/kubernetes-nodes-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Kubernetes Nodes Source"
-    description: |-
-      Consume Events from Kubernetes Nodes
+    description: Consume Events from Kubernetes Nodes
     required:
       - token
       - masterUrl
diff --git a/kamelets/kubernetes-pods-source.kamelet.yaml b/kamelets/kubernetes-pods-source.kamelet.yaml
index dc903428c..ec30ba9cc 100644
--- a/kamelets/kubernetes-pods-source.kamelet.yaml
+++ b/kamelets/kubernetes-pods-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Kubernetes Pods Source"
-    description: |-
-      Consume Events from Kubernetes Pods
+    description: Consume Events from Kubernetes Pods
     required:
       - token
       - masterUrl
diff --git a/kamelets/log-action.kamelet.yaml b/kamelets/log-action.kamelet.yaml
index b262c7bd6..6dabe1e1b 100644
--- a/kamelets/log-action.kamelet.yaml
+++ b/kamelets/log-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Log Action"
-    description: |-
-      Logs all data that flows between source and sink, useful for debugging purposes.
+    description: Logs all data that flows between source and sink, useful for debugging purposes.
     type: object
     properties:
       loggerName:
diff --git a/kamelets/log-sink.kamelet.yaml b/kamelets/log-sink.kamelet.yaml
index be29dbfa2..73db1ad11 100644
--- a/kamelets/log-sink.kamelet.yaml
+++ b/kamelets/log-sink.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Log Sink"
-    description: |-
-      A sink that logs all data that it receives, useful for debugging purposes.
+    description: A sink that logs all data that it receives, useful for debugging purposes.
     type: object
     properties:
       loggerName:
diff --git a/kamelets/mail-imap-source.kamelet.yaml b/kamelets/mail-imap-source.kamelet.yaml
index 3143af8fa..ec4e413f1 100644
--- a/kamelets/mail-imap-source.kamelet.yaml
+++ b/kamelets/mail-imap-source.kamelet.yaml
@@ -30,18 +30,7 @@ metadata:
 spec:
   definition:
     title: "Mail IMAP Source"
-    description: |-
-      Receive unread emails from an IMAP mail server, marking them as read once they are received.
-
-      The Kamelet generates the following headers:
-
-      - `subject` / `ce-subject`: the subject of the incoming mail
-
-      - `from` / `ce-from`: the `from` field of the incoming mail
-
-      - `to` / `ce-to`: the `to` field of the incoming mail
-
-      - `cc` / `ce-cc`: the `cc` field of the incoming mail
+    description: Receive unread emails from an IMAP mail server, marking them as read once they are received.
 
     required:
     - connectionHost
diff --git a/kamelets/mariadb-sink.kamelet.yaml b/kamelets/mariadb-sink.kamelet.yaml
index 268c25258..11239877e 100644
--- a/kamelets/mariadb-sink.kamelet.yaml
+++ b/kamelets/mariadb-sink.kamelet.yaml
@@ -30,20 +30,7 @@ metadata:
 spec:
   definition:
     title: "MariaDB Sink"
-    description: |-
-      Send data to a MariaDB Database.
-
-      In your Pipe file, you must explicitly declare the MariaDB Server driver dependency in spec->integration->dependencies.
-      
-      - "mvn:org.mariadb.jdbc:mariadb-java-client:<version>"
-
-      This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. For example, here is a query:
-
-      'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
-
-      Here is example input for the example query:
-
-      '{ "username":"oscerd", "city":"Rome"}'
+    description: Send data to a MariaDB Database.
     required:
       - serverName
       - username
diff --git a/kamelets/mariadb-source.kamelet.yaml b/kamelets/mariadb-source.kamelet.yaml
index 2d3ae5c6b..e0469da9a 100644
--- a/kamelets/mariadb-source.kamelet.yaml
+++ b/kamelets/mariadb-source.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "MariaDB Source"
-    description: |-
-      Query data from a MariaDB Database.
-
-      In your Pipe file, you must explicitly declare the MariaDB Server driver dependency in spec->integration->dependencies
-      
-      - "mvn:org.mariadb.jdbc:mariadb-java-client:<version>"
+    description: Query data from a MariaDB Database.
     required:
       - serverName
       - username
diff --git a/kamelets/minio-sink.kamelet.yaml b/kamelets/minio-sink.kamelet.yaml
index 9c2bc8b3f..aec05fe03 100644
--- a/kamelets/minio-sink.kamelet.yaml
+++ b/kamelets/minio-sink.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "Minio Sink"
-    description: |-
-      Upload data to MinIO.
-
-      In the header, you can set the `file` / `ce-file` property to specify the filename to upload.
-
-      If you do not set the property in the header, the Kamelet uses the exchange ID for the filename.
+    description: Upload data to MinIO.
     required:
       - bucketName
       - accessKey
diff --git a/kamelets/minio-source.kamelet.yaml b/kamelets/minio-source.kamelet.yaml
index d95ce3748..8fbd5fd11 100644
--- a/kamelets/minio-source.kamelet.yaml
+++ b/kamelets/minio-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Minio Source"
-    description: |-
-      Receive data from MinIO.
+    description: Receive data from MinIO.
     required:
       - bucketName
       - accessKey
diff --git a/kamelets/mongodb-changes-stream-source.kamelet.yaml b/kamelets/mongodb-changes-stream-source.kamelet.yaml
index 004dbecd3..c05967521 100644
--- a/kamelets/mongodb-changes-stream-source.kamelet.yaml
+++ b/kamelets/mongodb-changes-stream-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "MongoDB Changes Stream Source"
-    description: |-
-      Consume Changes from MongoDB Collection in streaming mode.
+    description: Consume Changes from MongoDB Collection in streaming mode.
     required:
       - hosts
       - collection
diff --git a/kamelets/mongodb-sink.kamelet.yaml b/kamelets/mongodb-sink.kamelet.yaml
index 6683871cb..ed83c1bba 100644
--- a/kamelets/mongodb-sink.kamelet.yaml
+++ b/kamelets/mongodb-sink.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "MongoDB Sink"
-    description: |-
-      Send data to MongoDB.
-
-      This Kamelet expects a JSON-formatted body.
-
-      In the header, you can set the `db-upsert` / `ce-dbupsert` property, a boolean value that specifies whether the database should create an element if it does not exist.
+    description: Send data to MongoDB.
     required:
       - hosts
       - collection
diff --git a/kamelets/mongodb-source.kamelet.yaml b/kamelets/mongodb-source.kamelet.yaml
index c0cca05cb..125a00466 100644
--- a/kamelets/mongodb-source.kamelet.yaml
+++ b/kamelets/mongodb-source.kamelet.yaml
@@ -30,14 +30,7 @@ metadata:
 spec:
   definition:
     title: "MongoDB Source"
-    description: |-
-      Consume data from MongoDB.
-
-      If you enable the `persistentTailTracking` property, the consumer keeps track of the last consumed message and, on the next restart, the consumption restarts from that message. If you enable `persistentTailTracking`, you must provide a value for the `tailTrackIncreasingField` property (by default it is optional).
-
-      If you disable the `persistentTailTracking` property, the consumer consumes the whole collection and waits in idle for new data to consume.
-
-      The collection that provides the data must be a capped collection.
+    description: Consume data from MongoDB.
     required:
       - hosts
       - collection
diff --git a/kamelets/mqtt-sink.kamelet.yaml b/kamelets/mqtt-sink.kamelet.yaml
index 598e97a60..e0b153a01 100644
--- a/kamelets/mqtt-sink.kamelet.yaml
+++ b/kamelets/mqtt-sink.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "MQTT Sink"
-    description: |-
-      Allows sending messages to any endpoint that supports the MQTT protocol, such as a message broker.
+    description: Allows sending messages to any endpoint that supports the MQTT protocol, such as a message broker.
     required:
     - topic
     - brokerUrl
diff --git a/kamelets/mqtt-source.kamelet.yaml b/kamelets/mqtt-source.kamelet.yaml
index e3cc06ac5..341def130 100644
--- a/kamelets/mqtt-source.kamelet.yaml
+++ b/kamelets/mqtt-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "MQTT Source"
-    description: |-
-      Allows receiving messages from any endpoint that supports the MQTT protocol, such as a message broker.
+    description: Allows receiving messages from any endpoint that supports the MQTT protocol, such as a message broker.
     required:
     - topic
     - brokerUrl
diff --git a/kamelets/mqtt5-sink.kamelet.yaml b/kamelets/mqtt5-sink.kamelet.yaml
index a6482afd0..32c2318da 100644
--- a/kamelets/mqtt5-sink.kamelet.yaml
+++ b/kamelets/mqtt5-sink.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "MQTT v5 Sink"
-    description: |-
-      Allows sending messages to any endpoint that supports the MQTT v5 protocol, such as a message broker.
+    description: Allows sending messages to any endpoint that supports the MQTT v5 protocol, such as a message broker.
     required:
     - topic
     - brokerUrl
diff --git a/kamelets/mqtt5-source.kamelet.yaml b/kamelets/mqtt5-source.kamelet.yaml
index 1a204efa5..1d757460b 100644
--- a/kamelets/mqtt5-source.kamelet.yaml
+++ b/kamelets/mqtt5-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "MQTT 5 Source"
-    description: |-
-      Allows receiving messages from any endpoint that supports the MQTT v5 protocol, such as a message broker.
+    description: Allows receiving messages from any endpoint that supports the MQTT v5 protocol, such as a message broker.
     required:
     - topic
     - brokerUrl
diff --git a/kamelets/ms-exchange-online-imap-oauth-source.kamelet.yaml b/kamelets/ms-exchange-online-imap-oauth-source.kamelet.yaml
index 89703d06b..5187d9d19 100644
--- a/kamelets/ms-exchange-online-imap-oauth-source.kamelet.yaml
+++ b/kamelets/ms-exchange-online-imap-oauth-source.kamelet.yaml
@@ -30,9 +30,7 @@ metadata:
 spec:
   definition:
     title: "Microsoft Exchange IMAP OAuth2 Source"
-    description: |-
-      Receive unread emails from an IMAP Microsoft Exchange mail server, marking them as read once they are received.
-      It uses OAuth2 to authenticate IMAP session.
+    description: Receive unread emails from an IMAP Microsoft Exchange mail server, marking them as read once they are received.
     required:
       - tenantId
       - clientId
diff --git a/kamelets/mustache-template-action.kamelet.yaml b/kamelets/mustache-template-action.kamelet.yaml
index be0e69fa6..fd821956c 100644
--- a/kamelets/mustache-template-action.kamelet.yaml
+++ b/kamelets/mustache-template-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Mustache Template Action"
-    description: |-
-      Apply a Mustache Template.
+    description: Apply a Mustache Template.
     required:
       - template
     type: object
diff --git a/kamelets/mvel-template-action.kamelet.yaml b/kamelets/mvel-template-action.kamelet.yaml
index b2000cb81..7f4b9b483 100644
--- a/kamelets/mvel-template-action.kamelet.yaml
+++ b/kamelets/mvel-template-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Mvel Template Action"
-    description: |-
-      Apply a Mvel Template.
+    description: Apply a Mvel Template.
     required:
       - template
     type: object
diff --git a/kamelets/mysql-sink.kamelet.yaml b/kamelets/mysql-sink.kamelet.yaml
index a3e2aefeb..7ca4f4011 100644
--- a/kamelets/mysql-sink.kamelet.yaml
+++ b/kamelets/mysql-sink.kamelet.yaml
@@ -30,20 +30,7 @@ metadata:
 spec:
   definition:
     title: "MySQL Sink"
-    description: |-
-      Send data to a MySQL Database.
-      
-      In your Pipe file, you must explicitly declare the SQL Server driver dependency in spec->integration->dependencies.
-      
-      - "mvn:mysql:mysql-connector-java:<version>"
-
-      This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. For example, here is a query:
-
-      'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
-
-      Here is example input for the example query:
-
-      '{ "username":"oscerd", "city":"Rome"}'
+    description: Send data to a MySQL Database.
     required:
       - serverName
       - username
diff --git a/kamelets/mysql-source.kamelet.yaml b/kamelets/mysql-source.kamelet.yaml
index d9de5df0d..c450200d8 100644
--- a/kamelets/mysql-source.kamelet.yaml
+++ b/kamelets/mysql-source.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "MySQL Source"
-    description: |-
-      Query data from a MySQL Database.
-
-      In your Pipe file, you must explicitly declare the SQL Server driver dependency in spec->integration->dependencies.
-      
-      - "mvn:mysql:mysql-connector-java:<version>"
+    description: Query data from a MySQL Database.
     required:
       - serverName
       - username
diff --git a/kamelets/nats-sink.kamelet.yaml b/kamelets/nats-sink.kamelet.yaml
index 553b53534..dcb987295 100644
--- a/kamelets/nats-sink.kamelet.yaml
+++ b/kamelets/nats-sink.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "NATS Sink"
-    description: |-
-      Send data to NATS topics.
+    description: Send data to NATS topics.
     required:
       - topic
       - servers
diff --git a/kamelets/nats-source.kamelet.yaml b/kamelets/nats-source.kamelet.yaml
index 6280fee53..03bd3192a 100644
--- a/kamelets/nats-source.kamelet.yaml
+++ b/kamelets/nats-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "NATS Source"
-    description: |-
-      Receive data from NATS topics.
+    description: Receive data from NATS topics.
     required:
       - topic
       - servers
diff --git a/kamelets/nominatim-geocode-action.kamelet.yaml b/kamelets/nominatim-geocode-action.kamelet.yaml
index 81bfac19f..f0f18b059 100644
--- a/kamelets/nominatim-geocode-action.kamelet.yaml
+++ b/kamelets/nominatim-geocode-action.kamelet.yaml
@@ -30,24 +30,7 @@ metadata:
 spec:
   definition:
     title: "Nominatim GeoCode Action"
-    description: |-
-      Find locations on Earth by name and address. 
-      This Kamelet expects in the body the `address` to find.
-      The return message will also contain the following headers with the geolocation info:
-       
-      - `CamelGeoCoderAddress`
-      - `CamelGeoCoderCity`
-      - `CamelGeoCoderCountryLong`
-      - `CamelGeoCoderCountryShort`
-      - `CamelGeoCoderLat`
-      - `CamelGeoCoderLng`
-      - `CamelGeoCoderLatlng`
-      - `CamelGeoCoderPostalCode`
-      - `CamelGeoCoderRegionCode`
-      - `CamelGeoCoderRegionName`
-      - `CamelGeoCoderStatus`
-      
-      The body is returned in JSON format.
+    description: Find locations on Earth by name and address.
     required:
       - serverUrl
     type: object
diff --git a/kamelets/ogcapi-features-action.kamelet.yaml b/kamelets/ogcapi-features-action.kamelet.yaml
index f73e96f67..dcd109aa5 100644
--- a/kamelets/ogcapi-features-action.kamelet.yaml
+++ b/kamelets/ogcapi-features-action.kamelet.yaml
@@ -30,13 +30,7 @@ metadata:
 spec:
   definition:
     title: "OGC Api Feature Get Item Action"
-    description: |-
-      Returns the items of the collection provided of an OGC API Features server. 
-      The collection must be a valid collection name on the server.
-      
-      Query can be defined in the body too.
-      
-      See https://www.ogc.org/standards/ogcapi-features
+    description: Returns the items of the collection provided of an OGC API Features server.
     required:
       - url
       - collection
diff --git a/kamelets/opensearch-index-sink.kamelet.yaml b/kamelets/opensearch-index-sink.kamelet.yaml
index cd9c4b9b0..aad4fd6ff 100644
--- a/kamelets/opensearch-index-sink.kamelet.yaml
+++ b/kamelets/opensearch-index-sink.kamelet.yaml
@@ -30,20 +30,7 @@ metadata:
 spec:
   definition:
     title: "OpenSearch Index Sink"
-    description: |-
-      Stores JSON-formatted data into Opensearch.
-
-      The input data must be formatted in JSON according to the requirements of the index.
-
-      If you specify the `certificate` property, you must base64 encode it before you pass it as a parameter.
-
-      In the header, you can set the following properties:
-
-      - `indexId` / `ce-indexid`: The index ID for OpenSearch.
-
-      - `indexName` / `ce-indexname`: The index name for OpenSearch.
-
-      If you do not set a property in the header, the Kamelet uses the exchange ID for the index setting.
+    description: Stores JSON-formatted data into Opensearch.
     required:
       - clusterName
       - hostAddresses
diff --git a/kamelets/opensearch-search-source.kamelet.yaml b/kamelets/opensearch-search-source.kamelet.yaml
index dc87cd3b1..f99f9916d 100644
--- a/kamelets/opensearch-search-source.kamelet.yaml
+++ b/kamelets/opensearch-search-source.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "OpenSearch Search Source"
-    description: |-
-      Search data on OpenSearch.
-
-      The `query` parameter must be formatted in JSON.
-
-      If you specify the `certificate` property, you must base64 encode it before you pass it as a parameter.
+    description: Search data on OpenSearch.
     required:
       - query
       - clusterName
diff --git a/kamelets/oracle-database-sink.kamelet.yaml b/kamelets/oracle-database-sink.kamelet.yaml
index 23eae6a2c..efffd0955 100644
--- a/kamelets/oracle-database-sink.kamelet.yaml
+++ b/kamelets/oracle-database-sink.kamelet.yaml
@@ -30,20 +30,7 @@ metadata:
 spec:
   definition:
     title: "Oracle Database Sink"
-    description: |-
-      Send data to an Oracle Database.
-
-      In your Pipe file, you must explicitly declare the Oracle Database driver dependency in spec->integration->dependencies.
-
-      - "mvn:com.oracle.database.jdbc:ojdbc11:<version>"
-
-      This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. For example, here is a query:
-
-      'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
-
-      Here is example input for the example query:
-
-      '{ "username":"oscerd", "city":"Rome"}'
+    description: Send data to an Oracle Database.
     required:
       - serverName
       - username
diff --git a/kamelets/oracle-database-source.kamelet.yaml b/kamelets/oracle-database-source.kamelet.yaml
index daf77ad7e..c0e0b866d 100644
--- a/kamelets/oracle-database-source.kamelet.yaml
+++ b/kamelets/oracle-database-source.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "Oracle Database Source"
-    description: |-
-      Query data from an Oracle Database.
-
-      In your Pipe file, you must explicitly declare the Oracle Database driver dependency in spec->integration->dependencies.
-
-      - "mvn:com.oracle.database.jdbc:ojdbc11:<version>"
+    description: Query data from an Oracle Database.
     required:
       - serverName
       - username
diff --git a/kamelets/pdf-action.kamelet.yaml b/kamelets/pdf-action.kamelet.yaml
index 2dda23bee..c1b3883ad 100644
--- a/kamelets/pdf-action.kamelet.yaml
+++ b/kamelets/pdf-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "PDF Action"
-    description: |-
-      Create a PDF.
+    description: Create a PDF.
     required:
       - font
       - fontSize
diff --git a/kamelets/postgresql-sink.kamelet.yaml b/kamelets/postgresql-sink.kamelet.yaml
index d8b4ae6b0..b7a048067 100644
--- a/kamelets/postgresql-sink.kamelet.yaml
+++ b/kamelets/postgresql-sink.kamelet.yaml
@@ -30,16 +30,7 @@ metadata:
 spec:
   definition:
     title: "PostgreSQL Sink"
-    description: |-
-      Send data to a PostgreSQL Database.
-
-      This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. For example, here is a query:
-
-      'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
-
-      Here is example input for the example query:
-
-      '{ "username":"oscerd", "city":"Rome"}'
+    description: Send data to a PostgreSQL Database.
     required:
       - serverName
       - username
diff --git a/kamelets/postgresql-source.kamelet.yaml b/kamelets/postgresql-source.kamelet.yaml
index 923482ee1..8ceccee73 100644
--- a/kamelets/postgresql-source.kamelet.yaml
+++ b/kamelets/postgresql-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "PostgreSQL Source"
-    description: |-
-      Query data from a PostgreSQL Database.
+    description: Query data from a PostgreSQL Database.
     required:
       - serverName
       - username
diff --git a/kamelets/replace-field-action.kamelet.yaml b/kamelets/replace-field-action.kamelet.yaml
index 0ecdc5b6f..bc3299cd9 100644
--- a/kamelets/replace-field-action.kamelet.yaml
+++ b/kamelets/replace-field-action.kamelet.yaml
@@ -30,18 +30,7 @@ metadata:
 spec:
   definition:
     title: "Replace Field Action"
-    description: |-
-      Replace field with a different key in the message in transit.
-
-      The required parameter `renames` is a comma-separated list of colon-delimited renaming pairs like for example `foo:bar,abc:xyz` and it represents the field rename mappings.
-
-      The optional parameter `enabled` represents the fields to include. If specified, only the named fields are included in the resulting message.
-
-      The optional parameter `disabled` represents the fields to exclude. If specified, the listed fields are excluded from the resulting message. This takes precedence over the `enabled` parameter.
-
-      The default value of `enabled` parameter is `all`, so all the fields in the payload are included.
-
-      The default value of `disabled` parameter is `none`, so no fields in the payload are excluded.
+    description: Replace field with a different key in the message in transit.
     required:
       - renames
     properties:
diff --git a/kamelets/salesforce-composite-upsert-sink.kamelet.yaml b/kamelets/salesforce-composite-upsert-sink.kamelet.yaml
index 5458a60fa..fe43b0474 100644
--- a/kamelets/salesforce-composite-upsert-sink.kamelet.yaml
+++ b/kamelets/salesforce-composite-upsert-sink.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "Salesforce composite upsert Sink"
-    description: |-
-      Upsert Composite List of sObjects in Salesforce. 
-      
-      The body received must contain List of JSON SObjects to insert/update inside the records attribute, for example: 
-      
-      `{"records" : ["attributes" : {"type" : "KameletSinkSObject__c"},"ExtId__c" : "1","Name__c": "Ziauddin", "City__c": "Bhopal"], ["attributes" : {"type" : "KameletSinkSObject__c"},"ExtId__c" : "2","Name__c": "Shaikh", "City__c": "Bhopal"] }`      
+    description: Upsert Composite List of sObjects in Salesforce.
      
     required:
       - sObjectName
diff --git a/kamelets/salesforce-create-sink.kamelet.yaml b/kamelets/salesforce-create-sink.kamelet.yaml
index 8d7292fa2..a227890f5 100644
--- a/kamelets/salesforce-create-sink.kamelet.yaml
+++ b/kamelets/salesforce-create-sink.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "Salesforce Create Sink"
-    description: |-
-      Create an object in Salesforce. 
-      
-      The body of the message must contain the JSON of the Salesforce object, for example: `{ "Phone": "555", "Name": "Antonia", "LastName": "Garcia" }`.
+    description: Create an object in Salesforce.
     required:
       - clientId
       - clientSecret
diff --git a/kamelets/salesforce-delete-sink.kamelet.yaml b/kamelets/salesforce-delete-sink.kamelet.yaml
index 5962c3cfb..58e3ff32e 100644
--- a/kamelets/salesforce-delete-sink.kamelet.yaml
+++ b/kamelets/salesforce-delete-sink.kamelet.yaml
@@ -30,11 +30,7 @@ metadata:
 spec:
   definition:
     title: "Salesforce Delete Sink"
-    description: |-
-      Remove an object from Salesforce. 
-      
-      The data body must be JSON-formatted and it must
-      contain two keys: `sObjectId` and `sObjectName`. For example: `{ "sObjectId": "XXXXX0", "sObjectName": "Contact" }`
+    description: Remove an object from Salesforce.
     required:
       - clientId
       - clientSecret
diff --git a/kamelets/salesforce-source.kamelet.yaml b/kamelets/salesforce-source.kamelet.yaml
index 6aaca8b7e..65d253826 100644
--- a/kamelets/salesforce-source.kamelet.yaml
+++ b/kamelets/salesforce-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Salesforce Source"
-    description: |-
-      Receive updates from Salesforce.
+    description: Receive updates from Salesforce.
     required:
       - query
       - topicName
diff --git a/kamelets/salesforce-update-sink.kamelet.yaml b/kamelets/salesforce-update-sink.kamelet.yaml
index a661b2969..76f22c191 100644
--- a/kamelets/salesforce-update-sink.kamelet.yaml
+++ b/kamelets/salesforce-update-sink.kamelet.yaml
@@ -30,16 +30,7 @@ metadata:
 spec:
   definition:
     title: "Salesforce Update Sink"
-    description: |-
-      Update an object in Salesforce.
-
-      The body received must contain a JSON key-value pair for each property to update inside the payload attribute, for example:
-
-      `{ "payload": { "Phone": "1234567890", "Name": "Antonia" } }`
-
-      The body received must include the `sObjectName` and `sObjectId` properties, for example:
-
-      `{ "payload": { "Phone": "1234567890", "Name": "Antonia" }, "sObjectId": "sObjectId", "sObjectName": "sObjectName" }`
+    description: Update an object in Salesforce.
 
     required:
       - clientId
diff --git a/kamelets/scp-sink.kamelet.yaml b/kamelets/scp-sink.kamelet.yaml
index ce9e4b156..5c2582f49 100644
--- a/kamelets/scp-sink.kamelet.yaml
+++ b/kamelets/scp-sink.kamelet.yaml
@@ -31,8 +31,7 @@ metadata:
 spec:
   definition:
     title: "SCP Sink"
-    description: |-
-      Send file to an FTP Server through Secure Copy Protocol
+    description: Send file to an FTP Server through Secure Copy Protocol
     required:
       - serverName
       - serverPort
diff --git a/kamelets/set-body-action.kamelet.yaml b/kamelets/set-body-action.kamelet.yaml
index 81897ad63..f0dc9d45c 100644
--- a/kamelets/set-body-action.kamelet.yaml
+++ b/kamelets/set-body-action.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Set Body Action"
-    description: |-
-      Sets a simple language parsed value as the new message body in transit.
+    description: Sets a simple language parsed value as the new message body in transit.
     required:
       - value
     properties:
diff --git a/kamelets/set-kafka-key-action.kamelet.yaml b/kamelets/set-kafka-key-action.kamelet.yaml
index 500a67c4b..605909033 100644
--- a/kamelets/set-kafka-key-action.kamelet.yaml
+++ b/kamelets/set-kafka-key-action.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
 spec:
   definition:
     title: "Set Kafka Key Action"
-    description: |-
-      Set Kafka Key based on a specific incoming header value from the message body.
-
-      The `headerName` parameter specifies which header value to set as Kafka Key.
+    description: Set Kafka Key based on a specific incoming header value from the message body.
     required:
       - headerName
     properties:
diff --git a/kamelets/sftp-sink.kamelet.yaml b/kamelets/sftp-sink.kamelet.yaml
index c2cf9a005..7026595f9 100644
--- a/kamelets/sftp-sink.kamelet.yaml
+++ b/kamelets/sftp-sink.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
 spec:
   definition:
     title: "SFTP Sink"
-    description: |-
-      Send data to an SFTP Server.
-
-      In the header, you can set the `file` / `ce-file` property to specify the filename to upload.
-
-      If you do not set the property in the header, the Kamelet uses the exchange ID for the filename.
+    description: Send data to an SFTP Server.
     required:
       - connectionHost
       - connectionPort
diff --git a/kamelets/sftp-source.kamelet.yaml b/kamelets/sftp-source.kamelet.yaml
index e89f9ef6c..67ea4512a 100644
--- a/kamelets/sftp-source.kamelet.yaml
+++ b/kamelets/sftp-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "SFTP Source"
-    description: |-
-      Receive data from an SFTP server.
+    description: Receive data from an SFTP server.
     required:
       - connectionHost
       - connectionPort
diff --git a/kamelets/slack-sink.kamelet.yaml b/kamelets/slack-sink.kamelet.yaml
index 003cbc279..0b05a19cf 100644
--- a/kamelets/slack-sink.kamelet.yaml
+++ b/kamelets/slack-sink.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Slack Sink"
-    description: |-
-      Send messages to a Slack channel.
+    description: Send messages to a Slack channel.
     required:
       - channel
       - webhookUrl
diff --git a/kamelets/slack-source.kamelet.yaml b/kamelets/slack-source.kamelet.yaml
index 91e253202..84bd6da49 100644
--- a/kamelets/slack-source.kamelet.yaml
+++ b/kamelets/slack-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Slack Source"
-    description: |-
-      Receive messages from a Slack channel.
+    description: Receive messages from a Slack channel.
     required:
       - channel
       - token
@@ -77,9 +76,7 @@ spec:
           mediaType: application/json
         cloudevents:
           format: "slack:application-cloudevents"
-          description: |-
-            Output data type represents Azure Storage Blob get blob response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
-            respective data from the Azure container and its derived object.
+          description: Output data type represents Azure Storage Blob get blob response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with
           headers:
             CamelCloudEventID:
               title: CloudEvent ID
diff --git a/kamelets/snowflake-sink.kamelet.yaml b/kamelets/snowflake-sink.kamelet.yaml
index 690f263bc..24b3132fe 100644
--- a/kamelets/snowflake-sink.kamelet.yaml
+++ b/kamelets/snowflake-sink.kamelet.yaml
@@ -30,16 +30,7 @@ metadata:
 spec:
   definition:
     title: "Snowflake Sink"
-    description: |-
-      Send data to a Snowflake Database.
-
-      This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. For example, here is a query:
-
-      'INSERT INTO accounts (username,city) VALUES (:#username,:#city)'
-
-      Here is example input for the example query:
-
-      '{ "username":"oscerd", "city":"Rome"}'
+    description: Send data to a Snowflake Database.
     required:
       - instanceUrl
       - username
diff --git a/kamelets/snowflake-source.kamelet.yaml b/kamelets/snowflake-source.kamelet.yaml
index 408a3bc86..13ae1cc7c 100644
--- a/kamelets/snowflake-source.kamelet.yaml
+++ b/kamelets/snowflake-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Snowflake Source"
-    description: |-
-      Query data from a Snowflake Database.
+    description: Query data from a Snowflake Database.
     required:
       - instanceUrl
       - username
diff --git a/kamelets/solr-sink.kamelet.yaml b/kamelets/solr-sink.kamelet.yaml
index 5ee63d06c..5c661a4fc 100644
--- a/kamelets/solr-sink.kamelet.yaml
+++ b/kamelets/solr-sink.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Solr Sink"
-    description: |-
-      Send documents to Solr Collection.
+    description: Send documents to Solr Collection.
     required:
       - servers
       - collection
diff --git a/kamelets/solr-source.kamelet.yaml b/kamelets/solr-source.kamelet.yaml
index 24277061c..5c6c6153b 100644
--- a/kamelets/solr-source.kamelet.yaml
+++ b/kamelets/solr-source.kamelet.yaml
@@ -30,8 +30,7 @@ metadata:
 spec:
   definition:
     title: "Solr Source"
-    description: |-
-      Query for documents to Solr Collection.
+    description: Query for documents to Solr Collection.
... 348 lines suppressed ...