{ "apiVersion": "camel.apache.org/v1", "kind": "Kamelet", "metadata": { "name": "couchbase-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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNjguMzQzIDY4LjM0MyIgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHVzZSB4bGluazpocmVmPSIjQSIgeD0iMi4xNzEiIHk9IjIuMTcxIi8+PHN5bWJvbCBpZD0iQSIgb3ZlcmZsb3c9InZpc2libGUiPjxwYXRoIGQ9Ik0zMi4wMDIgMEMxNC4zMzEuMDAyLjAwNSAxNC4zMjYgMCAzMS45OThjLjAwNSAxNy42NyAxNC4zMjggMzEuOTkzIDMxLjk5OCAzMS45OTggMTcuNjctLjAwNSAzMS45OTMtMTQuMzI4IDMxLjk5OC0zMS45OThDNjMuOTkxIDE0LjMzIDQ5LjY3LjAwNyAzMi4wMDIgMHptMjEuNjA2IDM3LjYwOWMwIDEuOTMzLTEuMTEyIDMuNjI2LTMuMjg4IDQuMDEzLTMuNzcuNjc4LTExLjcgMS4wNjQtMTguMzE4IDEuMDY0cy0xNC41NDgtLjQzNC0xOC4zMTgtMS4wNjRjLTEuOTY0LS4yOTQtMy4zODUtMi4wMjktMy4yODgtNC4wMTNWMjUuMTM2YzAtMS45MzMgMS40OTgtMy43MjIgMy4yODgtNC4wMTMgMS4xMTItLjE5NSAzLjcyMi0uNDM0IDUuNzU0LS40MzQuNzczIDAgMS40MDMuNTgyIDEuNDAzIDEuNDk4djguNzUxbDExLjIxMy0uMjQzIDExLjIxMy4yNDN2LTguNzAzYzAtLjg2OS42My0xLjQ5OCAxLjQwMy0xLjQ5OCAyLjAyOCAwIDQuNjQ3LjE5NiA1Ljc1NC40MzQgMS44MzcuMjkxIDMuMjg4IDIuMDg1IDMuMjg4IDQuMDEzbC0uMDk2IDEyLjQ3M3oiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI2VkMjIyNiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zeW1ib2w+PC9zdmc+", "camel.apache.org/provider": "Apache Software Foundation", "camel.apache.org/kamelet.group": "Couchbase", "camel.apache.org/kamelet.namespace": "Nosql" }, "labels": { "camel.apache.org/kamelet.type": "sink" } }, "spec": { "definition": { "title": "Couchbase Sink", "description": "Send documents to Couchbase.", "required": [ "protocol", "couchbaseHostname", "bucket" ], "type": "object", "properties": { "protocol": { "title": "Protocol", "description": "The protocol to use", "type": "string" }, "couchbaseHostname": { "title": "Hostname", "description": "The hostname to use", "type": "string" }, "couchbasePort": { "title": "Port", "description": "The port to use", "type": "integer", "default": 8091 }, "bucket": { "title": "Bucket", "description": "The bucket to use", "type": "string" }, "username": { "title": "Username", "description": "Username to connect to Couchbase.", "type": "string", "x-descriptors": [ "urn:camel:group:credentials" ] }, "password": { "title": "Password", "description": "Password to connect to Couchbase.", "type": "string", "format": "password", "x-descriptors": [ "urn:camel:group:credentials" ] }, "startingId": { "title": "Starting Id", "description": "The starting id", "type": "integer", "default": 1 }, "connectionString": { "title": "Connection String", "description": "The full Couchbase SDK connection string (e.g. couchbase://host:port). When set, it takes precedence over hostname extraction for the KV service port.", "type": "string" }, "autoStartId": { "title": "Auto Start Id", "description": "Auto Start Id or not", "type": "boolean", "default": true } } }, "dependencies": [ "camel:couchbase", "camel:kamelet" ], "template": { "from": { "uri": "kamelet:source", "steps": [ { "to": { "uri": "couchbase:{{protocol}}://{{couchbaseHostname}}:{{couchbasePort}}", "parameters": { "bucket": "{{bucket}}", "autoStartIdForInserts": "{{autoStartId}}", "startingIdForInsertsFrom": "{{startingId}}", "username": "{{username}}", "password": "{{password}}", "connectionString": "{{?connectionString}}" } } } ] } } }, "propertiesSchema": { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", "title": "Couchbase Sink", "description": "Send documents to Couchbase.", "required": [ "protocol", "couchbaseHostname", "bucket" ], "properties": { "protocol": { "type": "string", "title": "Protocol", "description": "The protocol to use" }, "couchbaseHostname": { "type": "string", "title": "Hostname", "description": "The hostname to use" }, "couchbasePort": { "type": "integer", "title": "Port", "description": "The port to use", "default": 8091 }, "bucket": { "type": "string", "title": "Bucket", "description": "The bucket to use" }, "username": { "type": "string", "title": "Username", "description": "Username to connect to Couchbase." }, "password": { "type": "string", "title": "Password", "description": "Password to connect to Couchbase.", "format": "password" }, "startingId": { "type": "integer", "title": "Starting Id", "description": "The starting id", "default": 1 }, "connectionString": { "type": "string", "title": "Connection String", "description": "The full Couchbase SDK connection string (e.g. couchbase://host:port). When set, it takes precedence over hostname extraction for the KV service port." }, "autoStartId": { "type": "boolean", "title": "Auto Start Id", "description": "Auto Start Id or not", "default": true } } } }