Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions docs/modules/ROOT/partials/jms-amqp-10-ssl-sink-description.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
== JMS - AMQP 1.0 SSL Sink Kamelet Description

=== Connection Configuration

This Kamelet connects to any AMQP 1.0 compliant message broker over an SSL/TLS connection using the Apache Qpid JMS client.

=== SSL/TLS Configuration

SSL transport options are configured as query parameters on the `remoteURI`. Common options include:

- `transport.trustStoreLocation`: Path to the truststore file
- `transport.trustStorePassword`: Password for the truststore
- `transport.keyStoreLocation`: Path to the keystore file
- `transport.keyStorePassword`: Password for the keystore
- `transport.verifyHost`: Verify hostname matches certificate (default: true)
- `transport.trustAll`: Trust server certificate implicitly (default: false)

=== 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 over SSL/TLS for sending messages to the broker. AMQP 1.0 is an open standard messaging protocol that provides reliable, secure, and interoperable messaging.
53 changes: 53 additions & 0 deletions docs/modules/ROOT/partials/jms-amqp-10-ssl-source-description.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
== JMS AMQP 1.0 SSL Source Kamelet Description

=== Authentication methods

This Kamelet supports AMQP 1.0 authentication mechanisms over SSL/TLS including:

- SASL authentication with username and password
- Connection to AMQP 1.0 brokers over SSL/TLS

=== SSL/TLS Configuration

SSL transport options are configured as query parameters on the `remoteURI`. Common options include:

- `transport.trustStoreLocation`: Path to the truststore file
- `transport.trustStorePassword`: Password for the truststore
- `transport.keyStoreLocation`: Path to the keystore file
- `transport.keyStorePassword`: Password for the keystore
- `transport.verifyHost`: Verify hostname matches certificate (default: true)
- `transport.trustAll`: Trust server certificate implicitly (default: false)

=== Output format

The Kamelet consumes messages from JMS AMQP 1.0 queues over SSL/TLS and produces the message data in the configured format.

=== Configuration

The Kamelet requires connection parameters for the AMQP 1.0 broker:

- `remoteURI`: The AMQPS broker URI with SSL transport options
- `destinationName`: The destination queue or topic name

=== Usage example

```yaml
apiVersion: camel.apache.org/v1alpha1
kind: KameletBinding
metadata:
name: jms-amqp-10-ssl-source-binding
spec:
source:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1alpha1
name: jms-amqp-10-ssl-source
properties:
remoteURI: "amqps://broker.example.com:5671?transport.trustStoreLocation=/path/to/truststore.jks&transport.trustStorePassword=changeit"
destinationName: "my-queue"
sink:
ref:
kind: Service
apiVersion: v1
name: my-service
```
70 changes: 70 additions & 0 deletions kamelets/jms-amqp-10-ssl-sink.kamelet.yaml

Large diffs are not rendered by default.

70 changes: 70 additions & 0 deletions kamelets/jms-amqp-10-ssl-source.kamelet.yaml

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ public enum KameletPrefixSchemeEnum {
jira_transition_issue("jira-transition-issue", "jira"),
jira_update_issue("jira-update-issue", "jira"),
jms_amqp_10("jms-amqp-10", "jms"),
jms_amqp_10_ssl("jms-amqp-10-ssl", "jms"),
jms_apache_artemis("jms-apache-artemis", "jms"),
jms_ibm_mq("jms-ibm-mq", "jms"),
kafka("kafka", "kafka"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,8 @@ void testSupportedHeaders() throws Exception {
verifyHeaders("jira-oauth-source", 3);
verifyHeaders("jms-amqp-10-source", 15);
verifyHeaders("jms-amqp-10-sink", 18);
verifyHeaders("jms-amqp-10-ssl-source", 15);
verifyHeaders("jms-amqp-10-ssl-sink", 18);
verifyHeaders("jms-apache-artemis-source", 15);
verifyHeaders("jms-apache-artemis-sink", 18);
verifyHeaders("jms-ibm-mq-source", 15);
Expand Down

Large diffs are not rendered by default.

Large diffs are not rendered by default.

18 changes: 18 additions & 0 deletions templates/pipes/camel-k/jms-amqp-10-ssl-sink-pipe.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: camel.apache.org/v1
kind: Pipe
metadata:
name: jms-amqp-10-ssl-sink-pipe
spec:
source:
ref:
kind: KafkaTopic
apiVersion: kafka.strimzi.io/v1beta1
name: my-topic
sink:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1
name: jms-amqp-10-ssl-sink
properties:
destinationName: "The Destination Name"
remoteURI: "amqps://my-host:5671?transport.trustStoreLocation=/path/to/truststore.jks&transport.trustStorePassword=changeit"
18 changes: 18 additions & 0 deletions templates/pipes/camel-k/jms-amqp-10-ssl-source-pipe.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
apiVersion: camel.apache.org/v1
kind: Pipe
metadata:
name: jms-amqp-10-ssl-source-pipe
spec:
source:
ref:
kind: Kamelet
apiVersion: camel.apache.org/v1
name: jms-amqp-10-ssl-source
properties:
destinationName: "The Destination Name"
remoteURI: "amqps://my-host:5671?transport.trustStoreLocation=/path/to/truststore.jks&transport.trustStorePassword=changeit"
sink:
ref:
kind: KafkaTopic
apiVersion: kafka.strimzi.io/v1beta1
name: my-topic
12 changes: 12 additions & 0 deletions templates/pipes/core/jms-amqp-10-ssl-sink-pipe.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
- route:
from:
uri: "kamelet:timer-source"
parameters:
period: 1000
message: "Hello Camel JBang"
steps:
- to:
uri: "kamelet:jms-amqp-10-ssl-sink"
parameters:
destinationName: "The Destination Name"
remoteURI: "amqps://my-host:5671?transport.trustStoreLocation=/path/to/truststore.jks&transport.trustStorePassword=changeit"
9 changes: 9 additions & 0 deletions templates/pipes/core/jms-amqp-10-ssl-source-pipe.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
- route:
from:
uri: "kamelet:jms-amqp-10-ssl-source"
parameters:
destinationName: "The Destination Name"
remoteURI: "amqps://my-host:5671?transport.trustStoreLocation=/path/to/truststore.jks&transport.trustStorePassword=changeit"
steps:
- to:
uri: "log:info"
Loading