diff --git a/kamelet.json b/kamelet.json new file mode 100644 index 0000000..60a6808 --- /dev/null +++ b/kamelet.json @@ -0,0 +1,114 @@ +{ + "apiVersion": "camel.apache.org/v1", + "kind": "Kamelet", + "metadata": { + "name": "mqtt5-sink", + "annotations": { + "camel.apache.org/kamelet.support.level": "Stable", + "camel.apache.org/catalog.version": "4.22.1", + "camel.apache.org/kamelet.icon": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMiIgYmFzZVByb2ZpbGU9InRpbnkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMjAgMzIwIiBvdmVyZmxvdz0idmlzaWJsZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJibGFja19iZyIgZGlzcGxheT0ibm9uZSI+Cgk8cmVjdCBkaXNwbGF5PSJpbmxpbmUiIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIi8+CjwvZz4KPGcgaWQ9ImxvZ29zIj4KCTxnPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik03LjEsMTgwLjZ2MTE3LjFjMCw4LjQsNi44LDE1LjMsMTUuMywxNS4zSDE0MkMxNDEsMjM5LjgsODAuOSwxODAuNyw3LjEsMTgwLjZ6Ii8+CgkJPHBhdGggZmlsbD0iIzY2MDA2NiIgZD0iTTcuMSw4NC4xdjQ5LjhjOTksMC45LDE3OS40LDgwLjcsMTgwLjQsMTc5LjFoNTEuN0MyMzguMiwxODYuNiwxMzQuNSw4NC4yLDcuMSw4NC4xeiIvPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik0zMTIuOSwyOTcuNlYxOTMuNUMyNzguMSwxMDcuMiwyMDcuMywzOC45LDExOSw3LjFIMjIuNGMtOC40LDAtMTUuMyw2LjgtMTUuMywxNS4zdjE1CgkJCWMxNTIuNiwwLjksMjc2LjYsMTI0LDI3Ny42LDI3NS42aDEzQzMwNi4xLDMxMi45LDMxMi45LDMwNi4xLDMxMi45LDI5Ny42eiIvPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik0yNzIuNiw0OS44YzE0LjUsMTQuNCwyOC42LDMxLjcsNDAuNCw0Ny44VjIyLjRjMC04LjQtNi44LTE1LjMtMTUuMy0xNS4zaC03Ny4zCgkJCUMyMzguNCwxOS43LDI1Ni42LDMzLjksMjcyLjYsNDkuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K", + "camel.apache.org/provider": "Apache Software Foundation", + "camel.apache.org/kamelet.group": "MQTT v5", + "camel.apache.org/kamelet.namespace": "Messaging" + }, + "labels": { + "camel.apache.org/kamelet.type": "sink" + } + }, + "spec": { + "definition": { + "title": "MQTT v5 Sink", + "description": "Allows sending messages to any endpoint that supports the MQTT v5 protocol, such as a message broker.", + "required": [ + "topic", + "brokerUrl" + ], + "type": "object", + "properties": { + "topic": { + "title": "Topic", + "description": "The topic to send messages to.", + "type": "string", + "example": "mytopic" + }, + "brokerUrl": { + "title": "Broker URL", + "description": "The URL of the broker where to establish the connection.", + "type": "string", + "example": "tcp://mosquitto:1883" + }, + "username": { + "title": "Username", + "description": "Username to use when connecting to the MQTT v5 compliant broker.", + "type": "string", + "x-descriptors": [ + "urn:camel:group:credentials" + ] + }, + "password": { + "title": "Password", + "description": "Password to use when connecting to the MQTT v5 compliant broker.", + "type": "string", + "format": "password", + "x-descriptors": [ + "urn:camel:group:credentials" + ] + } + } + }, + "dependencies": [ + "camel:paho-mqtt5", + "camel:kamelet" + ], + "template": { + "from": { + "uri": "kamelet:source", + "steps": [ + { + "to": { + "uri": "paho-mqtt5:{{topic}}", + "parameters": { + "brokerUrl": "{{brokerUrl}}", + "userName": "{{?username}}", + "password": "{{?password}}" + } + } + } + ] + } + } + }, + "propertiesSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "MQTT v5 Sink", + "description": "Allows sending messages to any endpoint that supports the MQTT v5 protocol, such as a message broker.", + "required": [ + "topic", + "brokerUrl" + ], + "properties": { + "topic": { + "type": "string", + "title": "Topic", + "description": "The topic to send messages to." + }, + "brokerUrl": { + "type": "string", + "title": "Broker URL", + "description": "The URL of the broker where to establish the connection." + }, + "username": { + "type": "string", + "title": "Username", + "description": "Username to use when connecting to the MQTT v5 compliant broker." + }, + "password": { + "type": "string", + "title": "Password", + "description": "Password to use when connecting to the MQTT v5 compliant broker.", + "format": "password" + } + } + } +} \ No newline at end of file