This is an automated email from the ASF dual-hosted git repository.
oscerd pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel-kamelets.git
The following commit(s) were added to refs/heads/main by this push:
new 24420967d chore: make the Kamelet descriptions I added one liners
(#3029)
24420967d is described below
commit 24420967dcb3140f136c514be7ac09844e5413ac
Author: Andrea Cosentino <[email protected]>
AuthorDate: Mon Sep 14 15:11:02 2026 +0200
chore: make the Kamelet descriptions I added one liners (#3029)
The catalog settled on a one line spec.definition.description in #2589, with
anything longer living in docs/modules/ROOT/partials. The nine Kamelets I
added or touched recently did not follow that, so this moves them across.
aws-bedrock-agent-sink ceph-event-based-source couchbase-source
replace-field-action salesforce-pubsub-source sap-netweaver-sink
smpp-sink smpp-source snmp-source
Each keeps its first sentence as the description and gains a
<name>-description.adoc partial holding the rest, organised into sections
rather than transcribed as loose paragraphs. Nothing is lost: the couchbase
statement requirements, the SNMP community string warning, the Salesforce
protobuf caveat and the rest are all in the partials.
No template or property changes, so behaviour is untouched.
Claude-Session: https://claude.ai/code/session_01TvXfz2pbDbHPz33TcpxhPm
Co-authored-by: Claude Opus 5 <[email protected]>
---
.../aws-bedrock-agent-sink-description.adoc | 18 ++++++++++++++++
.../ceph-event-based-source-description.adoc | 18 ++++++++++++++++
.../partials/couchbase-source-description.adoc | 21 ++++++++++++++++++
.../partials/replace-field-action-description.adoc | 11 ++++++++++
.../salesforce-pubsub-source-description.adoc | 25 ++++++++++++++++++++++
.../partials/sap-netweaver-sink-description.adoc | 10 +++++++++
.../ROOT/partials/smpp-sink-description.adoc | 12 +++++++++++
.../ROOT/partials/smpp-source-description.adoc | 12 +++++++++++
.../ROOT/partials/snmp-source-description.adoc | 17 +++++++++++++++
kamelets/aws-bedrock-agent-sink.kamelet.yaml | 5 +----
kamelets/ceph-event-based-source.kamelet.yaml | 7 +-----
kamelets/couchbase-source.kamelet.yaml | 5 +----
kamelets/replace-field-action.kamelet.yaml | 6 +-----
kamelets/salesforce-pubsub-source.kamelet.yaml | 7 +-----
kamelets/sap-netweaver-sink.kamelet.yaml | 5 +----
kamelets/smpp-sink.kamelet.yaml | 5 +----
kamelets/smpp-source.kamelet.yaml | 5 +----
kamelets/snmp-source.kamelet.yaml | 7 +-----
18 files changed, 153 insertions(+), 43 deletions(-)
diff --git a/docs/modules/ROOT/partials/aws-bedrock-agent-sink-description.adoc
b/docs/modules/ROOT/partials/aws-bedrock-agent-sink-description.adoc
new file mode 100644
index 000000000..5643350a6
--- /dev/null
+++ b/docs/modules/ROOT/partials/aws-bedrock-agent-sink-description.adoc
@@ -0,0 +1,18 @@
+== AWS Bedrock Agent Sink Kamelet Description
+
+=== Operations
+
+This Kamelet manages the data source ingestion jobs of a knowledge base. The
operation
+property selects which one runs:
+
+- `startIngestionJob` - kick off an ingestion of the configured data source
+- `listIngestionJobs` - list the ingestion jobs of the knowledge base
+- `getIngestionJob` - look up a single job
+
+=== Job Id
+
+For the `getIngestionJob` operation the job id is taken from the
+`CamelAwsBedrockAgentIngestionJobId` header, which is the one input this
Kamelet
+deliberately reads from the message. Every other `CamelAwsBedrockAgent*`
header is
+removed before the call, so an inbound message cannot change the operation, the
+knowledge base or the data source.
diff --git
a/docs/modules/ROOT/partials/ceph-event-based-source-description.adoc
b/docs/modules/ROOT/partials/ceph-event-based-source-description.adoc
new file mode 100644
index 000000000..7a45743da
--- /dev/null
+++ b/docs/modules/ROOT/partials/ceph-event-based-source-description.adoc
@@ -0,0 +1,18 @@
+== Ceph Event Based Source Kamelet Description
+
+=== How Notifications Arrive
+
+Ceph RGW pushes bucket notifications to an endpoint configured on the topic
rather than
+being polled. This Kamelet consumes the Kafka flavour of that.
+
+Configuring the notification and the topic on the Ceph side is done out of
band, with the
+S3 and topic APIs, and is not something this Kamelet does.
+
+=== Fetching the Object
+
+Set `getObject` to true to fetch the object body from Ceph for `ObjectCreated`
events,
+using the same S3 compatible path that `ceph-source` and `ceph-sink` use. The
notification
+JSON is emitted unchanged otherwise.
+
+When `getObject` is enabled, `cephUrl`, `accessKey`, `secretKey` and
`zoneGroup` are
+required so the object can be read back from the RGW endpoint.
diff --git a/docs/modules/ROOT/partials/couchbase-source-description.adoc
b/docs/modules/ROOT/partials/couchbase-source-description.adoc
new file mode 100644
index 000000000..f4e2e8d75
--- /dev/null
+++ b/docs/modules/ROOT/partials/couchbase-source-description.adoc
@@ -0,0 +1,21 @@
+== Couchbase Source Kamelet Description
+
+=== Query Modes
+
+The bucket is polled in one of two modes.
+
+By default the N1QL statement in the `statement` property is run against the
bucket on each
+poll. Set `useView` to true to poll a MapReduce view instead, selected with
+`designDocumentName` and `viewName`.
+
+=== Writing the Statement
+
+The statement runs in the bucket scope, so the keyspace is the collection
rather than the
+bucket name - use `_default` for the default collection.
+
+It must also alias the document id as `__id`, because the consumer skips any
row without
+that field. A query that omits it produces a source that polls without
emitting anything:
+
+----
+SELECT META().id AS __id, * FROM _default
+----
diff --git a/docs/modules/ROOT/partials/replace-field-action-description.adoc
b/docs/modules/ROOT/partials/replace-field-action-description.adoc
new file mode 100644
index 000000000..b6da2f530
--- /dev/null
+++ b/docs/modules/ROOT/partials/replace-field-action-description.adoc
@@ -0,0 +1,11 @@
+== Replace Field Action Kamelet Description
+
+=== Scope
+
+Only top level fields are considered. Fields nested inside an object are
passed through
+untouched, so a rename that names a nested field has no effect.
+
+The `enabled` and `disabled` properties filter on the same top level keys.
+
+For example, with a body of `{"message":{"Hola":"mundo"}}`, renaming `message`
works while
+renaming `Hola` does nothing.
diff --git
a/docs/modules/ROOT/partials/salesforce-pubsub-source-description.adoc
b/docs/modules/ROOT/partials/salesforce-pubsub-source-description.adoc
new file mode 100644
index 000000000..c261deec3
--- /dev/null
+++ b/docs/modules/ROOT/partials/salesforce-pubsub-source-description.adoc
@@ -0,0 +1,25 @@
+== Salesforce Pub/Sub Source Kamelet Description
+
+=== Which API
+
+This is the gRPC based Pub/Sub API, not the older streaming API that
`salesforce-source`
+uses. Subscribe to a channel such as `/event/MyEvent__e`, `/topic/MyTopic` or
+`/data/AccountChangeEvent`.
+
+=== Deserialization
+
+`deserializeType` defaults to JSON so the body is usable downstream without
further
+decoding. The component's own default is AVRO, which emits binary. Use POJO
together with
+`pojoClass` to deserialise into a generated class.
+
+=== Runtime Dependency
+
+The Pub/Sub API is gRPC based and needs a `protobuf-java` new enough for the
generated
+stubs in `camel-salesforce`. Under Camel JBang an older protobuf is resolved
and the route
+fails to start during class loading:
+
+----
+java.lang.NoClassDefFoundError:
com/google/protobuf/RuntimeVersion$RuntimeDomain
+----
+
+Adding protobuf-java as an explicit dependency resolves it.
diff --git a/docs/modules/ROOT/partials/sap-netweaver-sink-description.adoc
b/docs/modules/ROOT/partials/sap-netweaver-sink-description.adoc
new file mode 100644
index 000000000..d241b571c
--- /dev/null
+++ b/docs/modules/ROOT/partials/sap-netweaver-sink-description.adoc
@@ -0,0 +1,10 @@
+== SAP NetWeaver Sink Kamelet Description
+
+=== The Command
+
+The `command` property is the OData command to run against the gateway, and it
becomes the
+request path.
+
+The component reads the command from the `CamelNetWeaverCommand` header, which
this
+Kamelet sets from the property. Setting it also overwrites any inbound value,
so a caller
+cannot choose the request path.
diff --git a/docs/modules/ROOT/partials/smpp-sink-description.adoc
b/docs/modules/ROOT/partials/smpp-sink-description.adoc
new file mode 100644
index 000000000..45bc159d8
--- /dev/null
+++ b/docs/modules/ROOT/partials/smpp-sink-description.adoc
@@ -0,0 +1,12 @@
+== SMPP Sink Kamelet Description
+
+=== Message
+
+The message body is sent as the short message text.
+
+=== Connection
+
+The SMPP producer binds to the SMSC when the route starts, so an unreachable
SMSC or wrong
+credentials fail the route rather than the individual exchange.
+
+Set `usingSSL` to secure the connection with TLS, where the SMSC supports it.
diff --git a/docs/modules/ROOT/partials/smpp-source-description.adoc
b/docs/modules/ROOT/partials/smpp-source-description.adoc
new file mode 100644
index 000000000..e99ce66fc
--- /dev/null
+++ b/docs/modules/ROOT/partials/smpp-source-description.adoc
@@ -0,0 +1,12 @@
+== SMPP Source Kamelet Description
+
+=== Message
+
+The short message text is emitted as the message body. Details of the received
PDU stay in
+the `CamelSmpp*` headers the component sets, such as `CamelSmppMessageType`,
+`CamelSmppStatus` and `CamelSmppOptionalParameters`.
+
+=== Address Range
+
+`addressRange` is the consumer side option that tells the SMSC which messages
to route to
+this ESME, as defined in section 5.2.7 of the SMPP 3.4 specification.
diff --git a/docs/modules/ROOT/partials/snmp-source-description.adoc
b/docs/modules/ROOT/partials/snmp-source-description.adoc
new file mode 100644
index 000000000..b5844463a
--- /dev/null
+++ b/docs/modules/ROOT/partials/snmp-source-description.adoc
@@ -0,0 +1,17 @@
+== SNMP Source Kamelet Description
+
+=== Modes
+
+Set `type` to `POLL` or `GET_NEXT` to query the OIDs listed in the `oids`
property on a
+schedule, or to `TRAP` to listen for traps sent to this host and port.
+
+Polling normally uses port 161 and trap listening normally uses port 162.
+
+=== Security
+
+SNMP v1 and v2c authenticate with a community string that is sent in clear
text, so the
+`snmpCommunity` value should be treated as a credential even though it is not
encrypted on
+the wire.
+
+Prefer `snmpVersion` 3 where the device supports it. `securityLevel` defaults
to 3
+(authPriv), which gives both authentication and privacy.
diff --git a/kamelets/aws-bedrock-agent-sink.kamelet.yaml
b/kamelets/aws-bedrock-agent-sink.kamelet.yaml
index a9a87441a..de26017bc 100644
--- a/kamelets/aws-bedrock-agent-sink.kamelet.yaml
+++ b/kamelets/aws-bedrock-agent-sink.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
spec:
definition:
title: "AWS Bedrock Agent Sink"
- description: |-
- Manage the data source ingestion jobs of an AWS Bedrock knowledge base.
-
- Use startIngestionJob to kick off an ingestion of the configured data
source, listIngestionJobs to list the jobs of a knowledge base, or
getIngestionJob to look one up. For getIngestionJob the job id is taken from
the CamelAwsBedrockAgentIngestionJobId header.
+ description: Manage the data source ingestion jobs of an AWS Bedrock
knowledge base.
required:
- knowledgeBaseId
- region
diff --git a/kamelets/ceph-event-based-source.kamelet.yaml
b/kamelets/ceph-event-based-source.kamelet.yaml
index 418e830a8..3db5f2067 100644
--- a/kamelets/ceph-event-based-source.kamelet.yaml
+++ b/kamelets/ceph-event-based-source.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
spec:
definition:
title: "Ceph Event Based Source"
- description: |-
- Receive Ceph RGW bucket notifications from a Kafka topic, and optionally
fetch the object each notification refers to.
-
- Ceph pushes bucket notifications to an endpoint configured on the topic;
this Kamelet consumes the Kafka flavour of that. Configuring the notification
and the topic on the Ceph side is done out of band with the S3 and topic APIs,
not by this Kamelet.
-
- Set getObject to true to fetch the object body from Ceph for
ObjectCreated events. The notification JSON is emitted unchanged otherwise.
+ description: Receive Ceph RGW bucket notifications from a Kafka topic, and
optionally fetch the object each notification refers to.
required:
- topic
- bootstrapServers
diff --git a/kamelets/couchbase-source.kamelet.yaml
b/kamelets/couchbase-source.kamelet.yaml
index c91fb9e31..bfc957fcf 100644
--- a/kamelets/couchbase-source.kamelet.yaml
+++ b/kamelets/couchbase-source.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
spec:
definition:
title: "Couchbase Source"
- description: |-
- Poll a Couchbase bucket and emit the results.
-
- By default the bucket is queried with the N1QL statement given in the
statement property. Set useView to true to poll a MapReduce view instead,
selected with designDocumentName and viewName.
+ description: Poll a Couchbase bucket and emit the results.
required:
- protocol
- couchbaseHostname
diff --git a/kamelets/replace-field-action.kamelet.yaml
b/kamelets/replace-field-action.kamelet.yaml
index ee03ff120..dd9aedc95 100644
--- a/kamelets/replace-field-action.kamelet.yaml
+++ b/kamelets/replace-field-action.kamelet.yaml
@@ -30,11 +30,7 @@ metadata:
spec:
definition:
title: "Replace Field Action"
- description: |-
- Replace field with a different key in the message in transit.
-
- Only top level fields are considered. Fields nested inside an object are
passed through
- untouched, so a rename that names a nested field has no effect.
+ description: Replace field with a different key in the message in transit.
required:
- renames
properties:
diff --git a/kamelets/salesforce-pubsub-source.kamelet.yaml
b/kamelets/salesforce-pubsub-source.kamelet.yaml
index 4bc3455f0..3a6f9728b 100644
--- a/kamelets/salesforce-pubsub-source.kamelet.yaml
+++ b/kamelets/salesforce-pubsub-source.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
spec:
definition:
title: "Salesforce Pub/Sub Source"
- description: |-
- Receive events from the Salesforce Pub/Sub API.
-
- This is the gRPC based Pub/Sub API, not the older streaming API that
salesforce-source uses. Subscribe to a channel such as /event/MyEvent__e,
/topic/MyTopic or /data/AccountChangeEvent.
-
- The Pub/Sub API is gRPC based and needs a protobuf-java new enough for
the generated stubs in camel-salesforce. Under Camel JBang an older protobuf is
resolved and the route fails to start with NoClassDefFoundError on
com.google.protobuf.RuntimeVersion; adding protobuf-java as an explicit
dependency resolves it.
+ description: Receive events from the Salesforce Pub/Sub API.
required:
- topic
- clientId
diff --git a/kamelets/sap-netweaver-sink.kamelet.yaml
b/kamelets/sap-netweaver-sink.kamelet.yaml
index d04e9c1de..e08941dba 100644
--- a/kamelets/sap-netweaver-sink.kamelet.yaml
+++ b/kamelets/sap-netweaver-sink.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
spec:
definition:
title: "SAP NetWeaver Sink"
- description: |-
- Send requests to an SAP NetWeaver Gateway over HTTP.
-
- The command property is the OData command to run against the gateway,
and is pinned by this Kamelet rather than taken from the message.
+ description: Send requests to an SAP NetWeaver Gateway over HTTP.
required:
- url
- username
diff --git a/kamelets/smpp-sink.kamelet.yaml b/kamelets/smpp-sink.kamelet.yaml
index bb169695f..05036b16f 100644
--- a/kamelets/smpp-sink.kamelet.yaml
+++ b/kamelets/smpp-sink.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
spec:
definition:
title: "SMPP Sink"
- description: |-
- Send SMS messages through a SMSC (Short Message Service Center) using
the SMPP protocol.
-
- The message body is sent as the short message text.
+ description: Send SMS messages through a SMSC (Short Message Service
Center) using the SMPP protocol.
required:
- host
type: object
diff --git a/kamelets/smpp-source.kamelet.yaml
b/kamelets/smpp-source.kamelet.yaml
index 6cfe54ddb..4faa94c05 100644
--- a/kamelets/smpp-source.kamelet.yaml
+++ b/kamelets/smpp-source.kamelet.yaml
@@ -30,10 +30,7 @@ metadata:
spec:
definition:
title: "SMPP Source"
- description: |-
- Receive SMS messages and delivery receipts from a SMSC (Short Message
Service Center) using the SMPP protocol.
-
- The short message text is emitted as the message body. Details of the
received PDU are available in the CamelSmpp* headers.
+ description: Receive SMS messages and delivery receipts from a SMSC (Short
Message Service Center) using the SMPP protocol.
required:
- host
type: object
diff --git a/kamelets/snmp-source.kamelet.yaml
b/kamelets/snmp-source.kamelet.yaml
index 728b99f56..9136c342d 100644
--- a/kamelets/snmp-source.kamelet.yaml
+++ b/kamelets/snmp-source.kamelet.yaml
@@ -30,12 +30,7 @@ metadata:
spec:
definition:
title: "SNMP Source"
- description: |-
- Poll SNMP (Simple Network Management Protocol) capable devices, or
receive SNMP traps.
-
- Set type to POLL or GET_NEXT to query the OIDs listed in the oids
property on a schedule, or to TRAP to listen for traps sent to this host and
port.
-
- SNMP v1 and v2c authenticate with a plaintext community string. Prefer
snmpVersion 3 with authentication and privacy where the device supports it.
+ description: Poll SNMP (Simple Network Management Protocol) capable
devices, or receive SNMP traps.
required:
- host
type: object