diff --git a/kamelet.json b/kamelet.json new file mode 100644 index 0000000..7e43be4 --- /dev/null +++ b/kamelet.json @@ -0,0 +1,124 @@ +{ + "apiVersion": "camel.apache.org/v1", + "kind": "Kamelet", + "metadata": { + "name": "nats-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,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3NDQuMiIgaGVpZ2h0PSIxODEuODEiIHZpZXdCb3g9IjAgMCA3NDQuMiAxODEuODEiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMjlhOWRlO30uY2xzLTJ7ZmlsbDojZmZmO30uY2xzLTN7ZmlsbDojMzNhNjc1O30uY2xzLTR7ZmlsbDojMzY1YzkzO30uY2xzLTV7ZmlsbDojOGRjMzQxO308L3N0eWxlPjwvZGVmcz48dGl0bGU+bmF0cy1sb2dvLWZyZWVsb2dvdmVjdG9ycy5uZXQ8L3RpdGxlPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIuOSwyODQuMUgxNzhjLS4wNiw0Ny4zNS4wOCw5NC43Mi0uMDcsMTQyLjA3LTE5LjA1LDAtMzguMSwwLTU3LjE0LDAtLjI0LDEzLjI1LS4wNiwyNi41LS4wOSwzOS43NXEtMjEuNDUtMTkuOC00Mi44My0zOS42N2MtMjUtLjE3LTUwLDAtNzUtLjA4di0xNDJtMjguMDUsMzNjMCwyNS40My4wOSw1MC44Ni0uMDUsNzYuMjgsNy4wNy4zLDE0LjE2LjA5LDIxLjI0LjEtLjE1LTIwLDAtMzkuOTEtLjA5LTU5Ljg2LDIwLjM0LDE5LjExLDQwLjgyLDM4LjA2LDYxLjE2LDU3LjE3LDEuMjQsMSwyLjE0LDIuNzksMy44OSwyLjcxLDEwLjI3LjA2LDIwLjU1LS4wOCwzMC44MS4wNy4xNC0yNS40OS4wNy01MSwwLTc2LjVIMTI2Ljg4Yy4wNiwxOS41MiwwLDM5LjA1LDAsNTguNTdxLTMxLjQ3LTI5LjEzLTYyLjczLTU4LjUxQzUzLjExLDMxNy4wNiw0MiwzMTcuMTEsMzEsMzE3LjE1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIuOSAtMjg0LjEpIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNjM0LjMzLDMxNy4wN2ExOTUuMDYsMTk1LjA2LDAsMCwxLDUzLjU4LjkzQTEwMS41NiwxMDEuNTYsMCwwLDEsNzA3LDMyMi43MmMwLDYsMCwxMi4wOCwwLDE4LjEyLTE4LTctMzcuNjctOS01Ni44OS04LjQ0LTYuMDguMzEtMTIuMzMuMTktMTguMTUsMi4yNGE0Ljc3LDQuNzcsMCwwLDAtMi44OCw2LjQ3YzEuMjUsMi43NCw0LjYyLDMsNy4yMSwzLjQ3LDE5LjQsMi4xMSwzOS4xNC4yNyw1OC4zNyw0LjEyLDUuOTMsMS4zNCwxMi41LDMuNDcsMTUuODMsOSwzLjYyLDYuMjgsMy42NSwxNC4xOCwxLjM1LDIwLjkyLTIsNS44NS03LjQ3LDkuNjctMTMuMDksMTEuNjItMTAuNjIsMy43My0yMiw0LjI2LTMzLjE3LDQuNi0yMC4wNy4xOC00MC41OC0xLjIyLTU5LjYxLTguMDYsMC01LjksMC0xMS44MSwwLTE3LjcxLDMuNzUuNjIsNy4xNiwyLjM4LDEwLjg1LDMuMjJhMTc3Ljg0LDE3Ny44NCwwLDAsMCw1Mi4yLDUuODZjNi4yOSwwLDEyLjY2LS4yNywxOC44MS0xLjc2LDIuNTktLjU0LDUuMTYtMi42Niw0Ljg2LTUuNTYtLjEyLTMuMjgtMy42My00LjYtNi4zOS00Ljg1LTIwLjU0LTIuODEtNDEuNjctLjM0LTYxLjkxLTUuNDctNi4zLTEuNjEtMTMuMDctNS4wNi0xNS4yMS0xMS42Ni0yLjQ5LTcuNzMtMS43Mi0xNy4yOCw0LjI1LTIzLjI4QzYxOC44LDMxOS45LDYyNi45MSwzMTguMyw2MzQuMzMsMzE3LjA3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIuOSAtMjg0LjEpIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzEsMzE3LjE1YzExLjA4LDAsMjIuMTYtLjA5LDMzLjI0LDBxMzEuMjYsMjkuMzcsNjIuNzMsNTguNTFjMC0xOS41MiwwLTM5LjA1LDAtNTguNTdIMTQ4YzAsMjUuNTEuMSw1MSwwLDc2LjUtMTAuMjYtLjE1LTIwLjU0LDAtMzAuODEtLjA3LTEuNzUuMDgtMi42NS0xLjc2LTMuODktMi43MS0yMC4zNC0xOS4xMS00MC44Mi0zOC4wNi02MS4xNi01Ny4xNy4xMywxOS45NS0uMDYsMzkuOS4wOSw1OS44Ni03LjA4LDAtMTQuMTcuMi0yMS4yNC0uMUMzMSwzNjgsMzAuOTQsMzQyLjU4LDMxLDMxNy4xNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTI2NC42LDMxNy41NGMuNjgtMS4yOSwyLjMxLS43MiwzLjQ3LS44Nyw4LjM5LjA3LDE2Ljc4LDAsMjUuMTYsMCwxOC4zMiwyNS42LDM2LjcxLDUxLjE1LDU0Ljg0LDc2Ljg3cS0xMi42MS0uMTMtMjUuMjIsMC01LjIxLTcuMzYtMTAuMzQtMTQuNzhjLTIyLjUxLS4xMy00NSwwLTY3LjUzLS4wNy0zLjU4LDQuODYtNi44OSw5LjkxLTEwLjM3LDE0LjgyLTguMDktLjA1LTE2LjE3LDAtMjQuMjQsMCwxOC0yNS4zNywzNi4xNS01MC42NSw1NC4yMy03Nm0tOC4zOCw0NS4xMmMxNS0uMDgsMjkuOTIuMDcsNDQuODgtLjA2LTcuNDMtMTAuNjUtMTUtMjEuMjYtMjIuMjUtMzJDMjcxLjA4LDM0MS4xMSwyNjMuNjQsMzUxLjksMjU2LjIyLDM2Mi42NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTQwOS44LDMxNy4yMXE1OS4xOSwwLDExOC4zOSwwYzAsNS43NCwwLDExLjQ3LDAsMTcuMjJxLTI0LjE1LDAtNDguMzIsMGMwLDE5LjY4LDAsMzkuMzYsMCw1OS03LjI0LDAtMTQuNDctLjA1LTIxLjcsMHEtLjA4LTI5LjUyLDAtNTljLTE2LjExLDAtMzIuMjIsMC00OC4zMywwUTQwOS43MywzMjUuODMsNDA5LjgsMzE3LjIxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIuOSAtMjg0LjEpIi8+PHBhdGggY2xhc3M9ImNscy0zIiBkPSJNMTkyLjYxLDI4NC4xaDE3NS4xcTAsNzEsMCwxNDItODcuNTQsMC0xNzUuMDgsMC0uMS03MSwwLTE0Mi4wNm03MiwzMy40NGMtMTguMDgsMjUuMzMtMzYuMjMsNTAuNjEtNTQuMjMsNzYsOC4wNywwLDE2LjE1LDAsMjQuMjQsMCwzLjQ4LTQuOTEsNi43OS0xMCwxMC4zNy0xNC44MiwyMi41MS4wNyw0NS0uMDYsNjcuNTMuMDdxNS4xMiw3LjQzLDEwLjM0LDE0Ljc4LDEyLjYtLjEyLDI1LjIyLDBjLTE4LjEzLTI1LjcyLTM2LjUyLTUxLjI3LTU0Ljg0LTc2Ljg3LTguMzgsMC0xNi43NywwLTI1LjE2LDBDMjY2LjkxLDMxNi44MiwyNjUuMjgsMzE2LjI1LDI2NC42LDMxNy41NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTI1Ni4yMiwzNjIuNjZjNy40Mi0xMC43NiwxNC44Ni0yMS41NSwyMi42My0zMi4wNyw3LjMsMTAuNzUsMTQuODIsMjEuMzYsMjIuMjUsMzJDMjg2LjE0LDM2Mi43MywyNzEuMTgsMzYyLjU4LDI1Ni4yMiwzNjIuNjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMi45IC0yODQuMSkiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik0zODIuMywyODQuMUg1NTcuNHEwLDcxLDAsMTQyLTg3LjU3LjE2LTE3NS4xNCwwLDAtNzEsMC0xNDJtMjcuNSwzMy4xMXEtLjA3LDguNjMsMCwxNy4yNWMxNi4xMSwwLDMyLjIyLDAsNDguMzMsMHEwLDI5LjUyLDAsNTljNy4yMy0uMDYsMTQuNDYsMCwyMS43LDAsLjA4LTE5LjY3LDAtMzkuMzUsMC01OXEyNC4xNywwLDQ4LjMyLDBjMC01Ljc1LDAtMTEuNDgsMC0xNy4yMlE0NjksMzE3LjE1LDQwOS44LDMxNy4yMVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtNSIgZD0iTTU3MiwyODQuMUg3NDcuMVY0MjZjLTcuMTYuMzktMTQuMzMuMDYtMjEuNDguMTZxLTc2LjgyLDAtMTUzLjY0LDAsMC03MSwwLTE0Mm02Mi4zNCwzM2MtNy40MiwxLjIzLTE1LjUzLDIuODMtMjAuOTQsOC40OC02LDYtNi43NCwxNS41NS00LjI1LDIzLjI4LDIuMTQsNi42LDguOTEsMTAuMDUsMTUuMjEsMTEuNjYsMjAuMjQsNS4xMyw0MS4zNywyLjY2LDYxLjkxLDUuNDcsMi43Ni4yNSw2LjI3LDEuNTcsNi4zOSw0Ljg1LjMsMi45LTIuMjcsNS00Ljg2LDUuNTYtNi4xNSwxLjQ5LTEyLjUyLDEuNzItMTguODEsMS43NmExNzcuODQsMTc3Ljg0LDAsMCwxLTUyLjItNS44NmMtMy42OS0uODQtNy4xLTIuNi0xMC44NS0zLjIyLDAsNS45LDAsMTEuODEsMCwxNy43MSwxOSw2Ljg0LDM5LjU0LDguMjQsNTkuNjEsOC4wNiwxMS4xNS0uMzQsMjIuNTUtLjg3LDMzLjE3LTQuNiw1LjYyLTIsMTEuMTEtNS43NywxMy4wOS0xMS42MiwyLjMtNi43NCwyLjI3LTE0LjY0LTEuMzUtMjAuOTItMy4zMy01LjUxLTkuOS03LjY0LTE1LjgzLTktMTkuMjMtMy44NS0zOS0yLTU4LjM3LTQuMTItMi41OS0uNTEtNi0uNzMtNy4yMS0zLjQ3YTQuNzcsNC43NywwLDAsMSwyLjg4LTYuNDdjNS44Mi0yLjA1LDEyLjA3LTEuOTMsMTguMTUtMi4yNCwxOS4yMi0uNTIsMzguODgsMS40Miw1Ni44OSw4LjQ0LDAtNiwwLTEyLjA4LDAtMTguMTJBMTAxLjU2LDEwMS41NiwwLDAsMCw2ODcuOTEsMzE4LDE5NS4wNiwxOTUuMDYsMCwwLDAsNjM0LjMzLDMxNy4wN1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjwvc3ZnPg==", + "camel.apache.org/provider": "Apache Software Foundation", + "camel.apache.org/kamelet.group": "NATS", + "camel.apache.org/kamelet.namespace": "Messaging" + }, + "labels": { + "camel.apache.org/kamelet.type": "sink" + } + }, + "spec": { + "definition": { + "title": "NATS Sink", + "description": "Send data to NATS topics.", + "required": [ + "topic", + "servers" + ], + "type": "object", + "properties": { + "topic": { + "title": "Topic", + "description": "NATS Topic name", + "type": "string" + }, + "servers": { + "title": "Servers", + "description": "Comma separated list of NATS Servers", + "type": "string", + "format": "password", + "x-descriptors": [ + "urn:camel:group:credentials" + ] + }, + "jetstreamEnabled": { + "title": "Jetstream Enabled", + "description": "Sets whether to enable JetStream support for this endpoint.", + "type": "boolean", + "default": false + }, + "jetstreamName": { + "title": "Jetstream Stream Name", + "description": "Sets the name of the JetStream stream to use.", + "type": "string" + }, + "jetstreamAsync": { + "title": "Jetstream Async Enabled", + "description": "Sets whether to operate JetStream requests asynchronously.", + "type": "boolean", + "default": true + } + } + }, + "dependencies": [ + "camel:nats", + "camel:kamelet" + ], + "template": { + "from": { + "uri": "kamelet:source", + "steps": [ + { + "to": { + "uri": "nats:{{topic}}", + "parameters": { + "servers": "{{servers}}", + "jetstreamEnabled": "{{?jetstreamEnabled}}", + "jetstreamName": "{{?jetstreamName}}", + "jetstreamAsync": "{{?jetstreamAsync}}" + } + } + } + ] + } + } + }, + "propertiesSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "NATS Sink", + "description": "Send data to NATS topics.", + "required": [ + "topic", + "servers" + ], + "properties": { + "topic": { + "type": "string", + "title": "Topic", + "description": "NATS Topic name" + }, + "servers": { + "type": "string", + "title": "Servers", + "description": "Comma separated list of NATS Servers", + "format": "password" + }, + "jetstreamEnabled": { + "type": "boolean", + "title": "Jetstream Enabled", + "description": "Sets whether to enable JetStream support for this endpoint.", + "default": false + }, + "jetstreamName": { + "type": "string", + "title": "Jetstream Stream Name", + "description": "Sets the name of the JetStream stream to use." + }, + "jetstreamAsync": { + "type": "boolean", + "title": "Jetstream Async Enabled", + "description": "Sets whether to operate JetStream requests asynchronously.", + "default": true + } + } + } +} \ No newline at end of file