Add kamelet definition: couchbase-sink

This commit is contained in:
gitea_admin 2026-10-12 02:32:57 +00:00
parent f907457f41
commit cd0d0ca67f

173
kamelet.json Normal file
View File

@ -0,0 +1,173 @@
{
"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
}
}
}
}