diff --git a/kamelet.yaml b/kamelet.yaml new file mode 100644 index 0000000..9525a55 --- /dev/null +++ b/kamelet.yaml @@ -0,0 +1,103 @@ +apiVersion: camel.apache.org/v1 +kind: Kamelet +metadata: + name: jms-ibm-mq-source + annotations: + camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA1NzMuMDggNTc2Ljk3Ij4KICAgIDxkZWZzPgogICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgLmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzVhNzdiNTt9LmNscy0ze2ZpbGw6I2FmYmVlMDt9LmNscy00e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aCk7fS5jbHMtNXtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMik7fQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgICAgIGQ9Ik0xNjQuNSw1MTAuODhWNDU3aDQuMDh2NTMuOTFabTQ3Ljc4LTI3LjcxYTEzLjE0LDEzLjE0LDAsMCwxLDkuMjMsMTNjMCw5LjYyLTYuMjgsMTQuNjktMTUuODIsMTQuNjlIMTg1LjI0VjQ1N2gxOS44NGM4Ljk0LDAsMTUuNiw1LjE1LDE1LjYsMTQuMDhhMTIuMzgsMTIuMzgsMCwwLDEtOC40LDEyLjEyWm0tMjIuOTUsMjQuMDhoMTUuOWM3LjM1LDAsMTIuMTktNC4xNywxMi4xOS0xMS4wNnMtNC44NC0xMS4wNS0xMi4xOS0xMS4wNWgtMTUuOXYyMi4xMVptMTUuMy00Ni42NWgtMTUuM3YyMC45aDE1LjNjNi41MSwwLDEyLTMsMTItMTAuNDVzLTUuNDUtMTAuNDUtMTItMTAuNDVabTcyLjYxLDUwLjI4VjQ2Ni40M2wtMTYuMzUsMzYuODhIMjU2LjhsLTE2LjY2LTM2Ljg4djQ0LjQ1aC00LjA5VjQ1N2g0LjA5bDE4Ljc4LDQxLjU3TDI3Ny4yNCw0NTdoNC4wOXY1My45MVoiLz4KICAgICAgICA8L2NsaXBQYXRoPgogICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIiPgogICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgICAgIGQ9Ik0zNDkuNyw1MTAuODRWNDc3LjI4aC0uMThsLTEwLjkxLDI1Ljg0SDMzMmwtMTAuOTEtMjUuODRIMzIxdjMzLjU2aC03LjlWNDU3aDcuNDRsMTUsMzUuMDdMMzUwLjEzLDQ1N2g3LjQ2djUzLjgxWm01NC4yLTEwLDYuODgsNS42NS00LjY5LDUuNjEtNi41OC01LjQ0cS00LjYyLDQuNTEtMTIuMyw0LjY2YTE3Ljg5LDE3Ljg5LDAsMCwxLTEwLjI1LTMuMSwxNy43LDE3LjcsMCwwLDEtNi4wOC02LjU3Yy0uMzgtLjgxLS43My0xLjU5LTEtMi4zMmExNS40NSwxNS40NSwwLDAsMS0uNzItMi44OCwxNDUuMjksMTQ1LjI5LDAsMCwxLDAtMjUsMTUuMzgsMTUuMzgsMCwwLDEsMS43NS01LjEzLDE4LjMzLDE4LjMzLDAsMCwxLDYuMDgtNi42NCwxNy40NywxNy40NywwLDAsMSwxMC4yNS0zLDE3Ljc2LDE3Ljc2LDAsMCwxLDEwLjM2LDMsMTgsMTgsMCwwLDEsNS45NCw2LjY0LDEyLjc5LDEyLjc5LDAsMCwxLDEuODIsNS4xMywxMDcuMjMsMTA3LjIzLDAsMCwxLC40NiwxMi41NXEwLDguMzgtLjM2LDExLjdhMTQuNTEsMTQuNTEsMCwwLDEtMS41Myw1LjE3Wm0tNi41NC0yNy43MWExMS4yNiwxMS4yNiwwLDAsMC01LjI2LTcuMjQsMTEuMTgsMTEuMTgsMCwwLDAtNC45MS0xLjE1LDEwLjYzLDEwLjYzLDAsMCwwLTQuOCwxLjE1LDEwLjA5LDEwLjA5LDAsMCwwLTMuMjksMi43Nyw5LDksMCwwLDAtMiw0LjQ4LDY2LjcsNjYuNywwLDAsMC0uNTcsMTAuODMsNjUuNDcsNjUuNDcsMCwwLDAsLjU3LDEwLjc3LDksOSwwLDAsMCwyLDQuNTQsOS40Nyw5LjQ3LDAsMCwwLDMuMjksMi43MSw5LjExLDkuMTEsMCwwLDAsNC44LDEuMjIsOC42Miw4LjYyLDAsMCwwLDUuODQtMS44OWwtNi42Ni01LjQ3LDQuNjktNS41OSw2LjA5LDVxLjc1LTIuNzMuNzUtMTEuMjhhNzAuNiw3MC42LDAsMCwwLS41NC0xMC44NFoiLz4KICAgICAgICA8L2NsaXBQYXRoPgogICAgPC9kZWZzPgogICAgPHRpdGxlPklCTSBJUTwvdGl0bGU+CiAgICA8Y2lyY2xlIGNsYXNzPSJjbHMtMiIgY3g9IjI4Ny42NCIgY3k9IjI4Ny4yIiByPSIyNzguNSIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0zIgogICAgICAgICAgICAgcG9pbnRzPSI0NTguMTcgNDI2LjY3IDExNy4xMSA0MjYuNjcgMTE3LjExIDE1My41NSA3MC45MSAxNTMuNTUgNzAuOTEgMTMxLjU1IDEzOS4xMSAxMzEuNTUgMTM5LjExIDQwNC42NyA0MzYuMTcgNDA0LjY3IDQzNi4xNyAxMzEuNTUgNTA0LjM3IDEzMS41NSA1MDQuMzcgMTUzLjU1IDQ1OC4xNyAxNTMuNTUgNDU4LjE3IDQyNi42NyIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgcG9pbnRzPSI0MjAuMjYgMjUzLjEyIDQyMC4yNiAyNDEuNzcgMTU1LjAyIDI0MS43NyAxNTUuMDIgMjUyLjg1IDI4Ny44OCAzMjkuNDkgNDIwLjI2IDI1My4xMiIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgcG9pbnRzPSIyODcuODggMzM5Ljc1IDE1NS4wMiAyNjMuMTEgMTU1LjAyIDM4OC44NCA0MjAuMjYgMzg4Ljg0IDQyMC4yNiAyNjMuMzggMjg3Ljg4IDMzOS43NSIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTE2NC41LDUxMC44OFY0NTdoNC4wOHY1My45MVptNDcuNzgtMjcuNzFhMTMuMTQsMTMuMTQsMCwwLDEsOS4yMywxM2MwLDkuNjItNi4yOCwxNC42OS0xNS44MiwxNC42OUgxODUuMjRWNDU3aDE5Ljg0YzguOTQsMCwxNS42LDUuMTUsMTUuNiwxNC4wOGExMi4zOCwxMi4zOCwwLDAsMS04LjQsMTIuMTJabS0yMi45NSwyNC4wOGgxNS45YzcuMzUsMCwxMi4xOS00LjE3LDEyLjE5LTExLjA2cy00Ljg0LTExLjA1LTEyLjE5LTExLjA1aC0xNS45djIyLjExWm0xNS4zLTQ2LjY1aC0xNS4zdjIwLjloMTUuM2M2LjUxLDAsMTItMywxMi0xMC40NXMtNS40NS0xMC40NS0xMi0xMC40NVptNzIuNjEsNTAuMjhWNDY2LjQzbC0xNi4zNSwzNi44OEgyNTYuOGwtMTYuNjYtMzYuODh2NDQuNDVoLTQuMDlWNDU3aDQuMDlsMTguNzgsNDEuNTdMMjc3LjI0LDQ1N2g0LjA5djUzLjkxWiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTM0OS43LDUxMC44NFY0NzcuMjhoLS4xOGwtMTAuOTEsMjUuODRIMzMybC0xMC45MS0yNS44NEgzMjF2MzMuNTZoLTcuOVY0NTdoNy40NGwxNSwzNS4wN0wzNTAuMTMsNDU3aDcuNDZ2NTMuODFabTU0LjItMTAsNi44OCw1LjY1LTQuNjksNS42MS02LjU4LTUuNDRxLTQuNjIsNC41MS0xMi4zLDQuNjZhMTcuODksMTcuODksMCwwLDEtMTAuMjUtMy4xLDE3LjcsMTcuNywwLDAsMS02LjA4LTYuNTdjLS4zOC0uODEtLjczLTEuNTktMS0yLjMyYTE1LjQ1LDE1LjQ1LDAsMCwxLS43Mi0yLjg4LDE0NS4yOSwxNDUuMjksMCwwLDEsMC0yNSwxNS4zOCwxNS4zOCwwLDAsMSwxLjc1LTUuMTMsMTguMzMsMTguMzMsMCwwLDEsNi4wOC02LjY0LDE3LjQ3LDE3LjQ3LDAsMCwxLDEwLjI1LTMsMTcuNzYsMTcuNzYsMCwwLDEsMTAuMzYsMywxOCwxOCwwLDAsMSw1Ljk0LDYuNjQsMTIuNzksMTIuNzksMCwwLDEsMS44Miw1LjEzLDEwNy4yMywxMDcuMjMsMCwwLDEsLjQ2LDEyLjU1cTAsOC4zOC0uMzYsMTEuN2ExNC41MSwxNC41MSwwLDAsMS0xLjUzLDUuMTdabS02LjU0LTI3LjcxYTExLjI2LDExLjI2LDAsMCwwLTUuMjYtNy4yNCwxMS4xOCwxMS4xOCwwLDAsMC00LjkxLTEuMTUsMTAuNjMsMTAuNjMsMCwwLDAtNC44LDEuMTUsMTAuMDksMTAuMDksMCwwLDAtMy4yOSwyLjc3LDksOSwwLDAsMC0yLDQuNDgsNjYuNyw2Ni43LDAsMCwwLS41NywxMC44Myw2NS40Nyw2NS40NywwLDAsMCwuNTcsMTAuNzcsOSw5LDAsMCwwLDIsNC41NCw5LjQ3LDkuNDcsMCwwLDAsMy4yOSwyLjcxLDkuMTEsOS4xMSwwLDAsMCw0LjgsMS4yMiw4LjYyLDguNjIsMCwwLDAsNS44NC0xLjg5bC02LjY2LTUuNDcsNC42OS01LjU5LDYuMDksNXEuNzUtMi43My43NS0xMS4yOGE3MC42LDcwLjYsMCwwLDAtLjU0LTEwLjg0WiIvPgo8L3N2Zz4=" + camel.apache.org/kamelet.support.level: "Stable" + camel.apache.org/provider: "Apache Software Foundation" + camel.apache.org/catalog.version: "4.10.2" + 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 - 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:" + + required: + - serverName + - serverPort + - destinationName + - queueManager + - channel + - username + - password + type: object + properties: + serverName: + title: "IBM MQ Server name" + description: "IBM MQ Server name or address" + type: string + serverPort: + title: "IBM MQ Server Port" + description: "IBM MQ Server port" + type: integer + default: 1414 + destinationType: + title: "Destination Type" + description: "The JMS destination type (queue or topic)" + type: string + default: queue + destinationName: + title: "Destination Name" + description: "The destination name" + type: string + queueManager: + title: "IBM MQ Queue Manager" + description: "Name of the IBM MQ Queue Manager" + type: string + channel: + title: "IBM MQ Channel" + description: "Name of the IBM MQ Channel" + type: string + clientId: + title: "IBM MQ Client ID" + description: "Name of the IBM MQ Client ID" + type: string + username: + title: "Username" + description: "Username to authenticate to IBM MQ server" + type: string + password: + title: "Password" + description: "Password to authenticate to IBM MQ server" + type: string + format: password + x-descriptors: + - urn:camel:group:credentials + sslCipherSuite: + title: "CipherSuite" + description: "CipherSuite to use for enabling TLS" + type: string + dependencies: + - "camel:jms" + - "camel:kamelet" + template: + beans: + - name: wmqConnectionFactory + type: "#class:com.ibm.mq.jakarta.jms.MQConnectionFactory" + properties: + XMSC_WMQ_HOST_NAME: '{{serverName}}' + XMSC_WMQ_PORT: '{{serverPort}}' + XMSC_WMQ_CHANNEL: '{{channel}}' + XMSC_WMQ_QUEUE_MANAGER: '{{queueManager}}' + XMSC_WMQ_CONNECTION_MODE: 1 + XMSC_USERID: '{{username}}' + XMSC_PASSWORD: '{{password}}' + XMSC_CLIENT_ID: '{{?clientId}}' + XMSC_WMQ_SSL_CIPHER_SUITE: '{{?sslCipherSuite}}' + from: + uri: "jms:{{destinationType}}:{{destinationName}}" + parameters: + connectionFactory: "#bean:{{wmqConnectionFactory}}" + steps: + - to: + uri: "kamelet:sink"