This is an automated email from the ASF dual-hosted git repository.
acosentino 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 98cb692f9 Fix #1774: Add AMQPS (SSL/TLS) source and sink kamelets
(#2783)
98cb692f9 is described below
commit 98cb692f9d3a8496a8023960edb85963029f535f
Author: Andrea Cosentino <[email protected]>
AuthorDate: Wed Apr 8 12:52:22 2026 +0200
Fix #1774: Add AMQPS (SSL/TLS) source and sink kamelets (#2783)
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
---
.../partials/jms-amqp-10-ssl-sink-description.adoc | 24 ++++++++
.../jms-amqp-10-ssl-source-description.adoc | 53 ++++++++++++++++
kamelets/jms-amqp-10-ssl-sink.kamelet.yaml | 70 ++++++++++++++++++++++
kamelets/jms-amqp-10-ssl-source.kamelet.yaml | 70 ++++++++++++++++++++++
.../catalog/model/KameletPrefixSchemeEnum.java | 1 +
.../kamelets/catalog/KameletsCatalogTest.java | 2 +
.../kamelets/jms-amqp-10-ssl-sink.kamelet.yaml | 70 ++++++++++++++++++++++
.../kamelets/jms-amqp-10-ssl-source.kamelet.yaml | 70 ++++++++++++++++++++++
.../pipes/camel-k/jms-amqp-10-ssl-sink-pipe.yaml | 18 ++++++
.../pipes/camel-k/jms-amqp-10-ssl-source-pipe.yaml | 18 ++++++
.../pipes/core/jms-amqp-10-ssl-sink-pipe.yaml | 12 ++++
.../pipes/core/jms-amqp-10-ssl-source-pipe.yaml | 9 +++
12 files changed, 417 insertions(+)
diff --git a/docs/modules/ROOT/partials/jms-amqp-10-ssl-sink-description.adoc
b/docs/modules/ROOT/partials/jms-amqp-10-ssl-sink-description.adoc
new file mode 100644
index 000000000..fa6e3a673
--- /dev/null
+++ b/docs/modules/ROOT/partials/jms-amqp-10-ssl-sink-description.adoc
@@ -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.
diff --git a/docs/modules/ROOT/partials/jms-amqp-10-ssl-source-description.adoc
b/docs/modules/ROOT/partials/jms-amqp-10-ssl-source-description.adoc
new file mode 100644
index 000000000..38ec9f80a
--- /dev/null
+++ b/docs/modules/ROOT/partials/jms-amqp-10-ssl-source-description.adoc
@@ -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
+```
diff --git a/kamelets/jms-amqp-10-ssl-sink.kamelet.yaml
b/kamelets/jms-amqp-10-ssl-sink.kamelet.yaml
new file mode 100644
index 000000000..c8db5884d
--- /dev/null
+++ b/kamelets/jms-amqp-10-ssl-sink.kamelet.yaml
@@ -0,0 +1,70 @@
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ---------------------------------------------------------------------------
+apiVersion: camel.apache.org/v1
+kind: Kamelet
+metadata:
+ name: jms-amqp-10-ssl-sink
+ annotations:
+ camel.apache.org/kamelet.icon:
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Im
[...]
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/provider: "Apache Software Foundation"
+ camel.apache.org/catalog.version: "4.19.0-SNAPSHOT"
+ camel.apache.org/kamelet.group: "JMS"
+ camel.apache.org/kamelet.namespace: "Messaging"
+ labels:
+ camel.apache.org/kamelet.type: "sink"
+ camel.apache.org/requires.runtime: camel-k
+spec:
+ definition:
+ title: "JMS - AMQP 1.0 SSL Sink"
+ description: "Send data to any AMQP 1.0 compliant message broker over an
SSL/TLS connection by using the Apache Qpid JMS client. SSL transport options
can be configured as query parameters on the remoteURI (e.g.
transport.trustStoreLocation, transport.trustStorePassword,
transport.keyStoreLocation, transport.keyStorePassword, transport.verifyHost,
transport.trustAll)."
+ required:
+ - destinationName
+ - remoteURI
+ type: object
+ properties:
+ destinationType:
+ title: "Destination Type"
+ description: "The JMS destination type (queue or topic)."
+ type: string
+ default: queue
+ destinationName:
+ title: "Destination Name"
+ description: "The JMS destination name."
+ type: string
+ remoteURI:
+ title: "Broker URL"
+ description: "The JMS URL with amqps scheme and SSL transport options
as query parameters."
+ type: string
+ example:
"amqps://my-host:5671?transport.trustStoreLocation=/path/to/truststore.jks&transport.trustStorePassword=changeit"
+ dependencies:
+ - "camel:jms"
+ - "camel:amqp"
+ - "camel:kamelet"
+ template:
+ beans:
+ - name: connectionFactoryBean
+ type: "#class:org.apache.qpid.jms.JmsConnectionFactory"
+ properties:
+ remoteURI: '{{remoteURI}}'
+ from:
+ uri: "kamelet:source"
+ steps:
+ - to:
+ uri: "jms:{{destinationType}}:{{destinationName}}"
+ parameters:
+ connectionFactory: "#bean:{{connectionFactoryBean}}"
diff --git a/kamelets/jms-amqp-10-ssl-source.kamelet.yaml
b/kamelets/jms-amqp-10-ssl-source.kamelet.yaml
new file mode 100644
index 000000000..bebc4c8ba
--- /dev/null
+++ b/kamelets/jms-amqp-10-ssl-source.kamelet.yaml
@@ -0,0 +1,70 @@
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ---------------------------------------------------------------------------
+apiVersion: camel.apache.org/v1
+kind: Kamelet
+metadata:
+ name: jms-amqp-10-ssl-source
+ annotations:
+ camel.apache.org/kamelet.icon:
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Im
[...]
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/provider: "Apache Software Foundation"
+ camel.apache.org/catalog.version: "4.19.0-SNAPSHOT"
+ camel.apache.org/kamelet.group: "JMS"
+ camel.apache.org/kamelet.namespace: "Messaging"
+ labels:
+ camel.apache.org/kamelet.type: "source"
+ camel.apache.org/requires.runtime: camel-k
+spec:
+ definition:
+ title: "JMS - AMQP 1.0 SSL Source"
+ description: "Consume data from any AMQP 1.0 compliant message broker over
an SSL/TLS connection by using the Apache Qpid JMS client. SSL transport
options can be configured as query parameters on the remoteURI (e.g.
transport.trustStoreLocation, transport.trustStorePassword,
transport.keyStoreLocation, transport.keyStorePassword, transport.verifyHost,
transport.trustAll)."
+ required:
+ - destinationName
+ - remoteURI
+ type: object
+ properties:
+ destinationType:
+ title: "Destination Type"
+ description: "The JMS destination type (queue or topic)."
+ type: string
+ default: queue
+ destinationName:
+ title: "Destination Name"
+ description: "The JMS destination name."
+ type: string
+ remoteURI:
+ title: "Broker URL"
+ description: "The JMS URL with amqps scheme and SSL transport options
as query parameters."
+ type: string
+ example:
"amqps://my-host:5671?transport.trustStoreLocation=/path/to/truststore.jks&transport.trustStorePassword=changeit"
+ dependencies:
+ - "camel:jms"
+ - "camel:amqp"
+ - "camel:kamelet"
+ template:
+ beans:
+ - name: connectionFactoryBean
+ type: "#class:org.apache.qpid.jms.JmsConnectionFactory"
+ properties:
+ remoteURI: '{{remoteURI}}'
+ from:
+ uri: "jms:{{destinationType}}:{{destinationName}}"
+ parameters:
+ connectionFactory: "#bean:{{connectionFactoryBean}}"
+ steps:
+ - to:
+ uri: "kamelet:sink"
diff --git
a/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletPrefixSchemeEnum.java
b/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletPrefixSchemeEnum.java
index 587e9eb52..77d7b868f 100644
---
a/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletPrefixSchemeEnum.java
+++
b/library/camel-kamelets-catalog/src/main/java/org/apache/camel/kamelets/catalog/model/KameletPrefixSchemeEnum.java
@@ -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"),
diff --git
a/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
b/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
index bb98384ca..b99a1239f 100644
---
a/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
+++
b/library/camel-kamelets-catalog/src/test/java/org/apache/camel/kamelets/catalog/KameletsCatalogTest.java
@@ -209,6 +209,8 @@ public class KameletsCatalogTest {
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);
diff --git
a/library/camel-kamelets/src/main/resources/kamelets/jms-amqp-10-ssl-sink.kamelet.yaml
b/library/camel-kamelets/src/main/resources/kamelets/jms-amqp-10-ssl-sink.kamelet.yaml
new file mode 100644
index 000000000..c8db5884d
--- /dev/null
+++
b/library/camel-kamelets/src/main/resources/kamelets/jms-amqp-10-ssl-sink.kamelet.yaml
@@ -0,0 +1,70 @@
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ---------------------------------------------------------------------------
+apiVersion: camel.apache.org/v1
+kind: Kamelet
+metadata:
+ name: jms-amqp-10-ssl-sink
+ annotations:
+ camel.apache.org/kamelet.icon:
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Im
[...]
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/provider: "Apache Software Foundation"
+ camel.apache.org/catalog.version: "4.19.0-SNAPSHOT"
+ camel.apache.org/kamelet.group: "JMS"
+ camel.apache.org/kamelet.namespace: "Messaging"
+ labels:
+ camel.apache.org/kamelet.type: "sink"
+ camel.apache.org/requires.runtime: camel-k
+spec:
+ definition:
+ title: "JMS - AMQP 1.0 SSL Sink"
+ description: "Send data to any AMQP 1.0 compliant message broker over an
SSL/TLS connection by using the Apache Qpid JMS client. SSL transport options
can be configured as query parameters on the remoteURI (e.g.
transport.trustStoreLocation, transport.trustStorePassword,
transport.keyStoreLocation, transport.keyStorePassword, transport.verifyHost,
transport.trustAll)."
+ required:
+ - destinationName
+ - remoteURI
+ type: object
+ properties:
+ destinationType:
+ title: "Destination Type"
+ description: "The JMS destination type (queue or topic)."
+ type: string
+ default: queue
+ destinationName:
+ title: "Destination Name"
+ description: "The JMS destination name."
+ type: string
+ remoteURI:
+ title: "Broker URL"
+ description: "The JMS URL with amqps scheme and SSL transport options
as query parameters."
+ type: string
+ example:
"amqps://my-host:5671?transport.trustStoreLocation=/path/to/truststore.jks&transport.trustStorePassword=changeit"
+ dependencies:
+ - "camel:jms"
+ - "camel:amqp"
+ - "camel:kamelet"
+ template:
+ beans:
+ - name: connectionFactoryBean
+ type: "#class:org.apache.qpid.jms.JmsConnectionFactory"
+ properties:
+ remoteURI: '{{remoteURI}}'
+ from:
+ uri: "kamelet:source"
+ steps:
+ - to:
+ uri: "jms:{{destinationType}}:{{destinationName}}"
+ parameters:
+ connectionFactory: "#bean:{{connectionFactoryBean}}"
diff --git
a/library/camel-kamelets/src/main/resources/kamelets/jms-amqp-10-ssl-source.kamelet.yaml
b/library/camel-kamelets/src/main/resources/kamelets/jms-amqp-10-ssl-source.kamelet.yaml
new file mode 100644
index 000000000..bebc4c8ba
--- /dev/null
+++
b/library/camel-kamelets/src/main/resources/kamelets/jms-amqp-10-ssl-source.kamelet.yaml
@@ -0,0 +1,70 @@
+# ---------------------------------------------------------------------------
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements. See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License. You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ---------------------------------------------------------------------------
+apiVersion: camel.apache.org/v1
+kind: Kamelet
+metadata:
+ name: jms-amqp-10-ssl-source
+ annotations:
+ camel.apache.org/kamelet.icon:
"data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Im
[...]
+ camel.apache.org/kamelet.support.level: "Stable"
+ camel.apache.org/provider: "Apache Software Foundation"
+ camel.apache.org/catalog.version: "4.19.0-SNAPSHOT"
+ camel.apache.org/kamelet.group: "JMS"
+ camel.apache.org/kamelet.namespace: "Messaging"
+ labels:
+ camel.apache.org/kamelet.type: "source"
+ camel.apache.org/requires.runtime: camel-k
+spec:
+ definition:
+ title: "JMS - AMQP 1.0 SSL Source"
+ description: "Consume data from any AMQP 1.0 compliant message broker over
an SSL/TLS connection by using the Apache Qpid JMS client. SSL transport
options can be configured as query parameters on the remoteURI (e.g.
transport.trustStoreLocation, transport.trustStorePassword,
transport.keyStoreLocation, transport.keyStorePassword, transport.verifyHost,
transport.trustAll)."
+ required:
+ - destinationName
+ - remoteURI
+ type: object
+ properties:
+ destinationType:
+ title: "Destination Type"
+ description: "The JMS destination type (queue or topic)."
+ type: string
+ default: queue
+ destinationName:
+ title: "Destination Name"
+ description: "The JMS destination name."
+ type: string
+ remoteURI:
+ title: "Broker URL"
+ description: "The JMS URL with amqps scheme and SSL transport options
as query parameters."
+ type: string
+ example:
"amqps://my-host:5671?transport.trustStoreLocation=/path/to/truststore.jks&transport.trustStorePassword=changeit"
+ dependencies:
+ - "camel:jms"
+ - "camel:amqp"
+ - "camel:kamelet"
+ template:
+ beans:
+ - name: connectionFactoryBean
+ type: "#class:org.apache.qpid.jms.JmsConnectionFactory"
+ properties:
+ remoteURI: '{{remoteURI}}'
+ from:
+ uri: "jms:{{destinationType}}:{{destinationName}}"
+ parameters:
+ connectionFactory: "#bean:{{connectionFactoryBean}}"
+ steps:
+ - to:
+ uri: "kamelet:sink"
diff --git a/templates/pipes/camel-k/jms-amqp-10-ssl-sink-pipe.yaml
b/templates/pipes/camel-k/jms-amqp-10-ssl-sink-pipe.yaml
new file mode 100644
index 000000000..cee3f4106
--- /dev/null
+++ b/templates/pipes/camel-k/jms-amqp-10-ssl-sink-pipe.yaml
@@ -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"
diff --git a/templates/pipes/camel-k/jms-amqp-10-ssl-source-pipe.yaml
b/templates/pipes/camel-k/jms-amqp-10-ssl-source-pipe.yaml
new file mode 100644
index 000000000..eb293e1fa
--- /dev/null
+++ b/templates/pipes/camel-k/jms-amqp-10-ssl-source-pipe.yaml
@@ -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
diff --git a/templates/pipes/core/jms-amqp-10-ssl-sink-pipe.yaml
b/templates/pipes/core/jms-amqp-10-ssl-sink-pipe.yaml
new file mode 100644
index 000000000..630880068
--- /dev/null
+++ b/templates/pipes/core/jms-amqp-10-ssl-sink-pipe.yaml
@@ -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"
diff --git a/templates/pipes/core/jms-amqp-10-ssl-source-pipe.yaml
b/templates/pipes/core/jms-amqp-10-ssl-source-pipe.yaml
new file mode 100644
index 000000000..20a288ecf
--- /dev/null
+++ b/templates/pipes/core/jms-amqp-10-ssl-source-pipe.yaml
@@ -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"