From 21f5f64f2e6b29acfeef8477d99e4e92992858fd Mon Sep 17 00:00:00 2001 From: gitea_admin Date: Mon, 12 Oct 2026 02:33:50 +0000 Subject: [PATCH] Add kamelet definition: google-pubsub-sink --- kamelet.json | 97 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 kamelet.json diff --git a/kamelet.json b/kamelet.json new file mode 100644 index 0000000..72a8e52 --- /dev/null +++ b/kamelet.json @@ -0,0 +1,97 @@ +{ + "apiVersion": "camel.apache.org/v1", + "kind": "Kamelet", + "metadata": { + "name": "google-pubsub-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,PHN2ZyBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9Ii0xLjYzMzIzNTQzIDcuMDMyNjA5MzMgMTMxLjI2NTc0NjgyIDExNC40MzkzOTA2NyIgd2lkdGg9IjI1MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI2NCIgeDI9IjY0IiB5MT0iNy4wMzQiIHkyPSIxMjAuNzg5Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM0Mzg3ZmQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0NjgzZWEiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Im0yNy43OSAxMTUuMjE3LTI2LjI1LTQ1LjQ2OGExMS40OTkgMTEuNDk5IDAgMCAxIDAtMTEuNDk5bDI2LjI1LTQ1LjQ2N2ExMS41IDExLjUgMCAwIDEgOS45Ni01Ljc1aDUyLjVhMTEuNSAxMS41IDAgMCAxIDkuOTU5IDUuNzVsMjYuMjUgNDUuNDY3YTExLjQ5OSAxMS40OTkgMCAwIDEgMCAxMS41bC0yNi4yNSA0NS40NjdhMTEuNSAxMS41IDAgMCAxIC05Ljk1OSA1Ljc0OWgtNTIuNWExMS40OTkgMTEuNDk5IDAgMCAxIC05Ljk2LTUuNzV6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0ibTEyMS4wNTQgNzkuNTgtMzEuODM2LTMxLjgzNC01Ljg1OCAxLjIxNC0xNC42MDMtMTQuNjAyLTQuNjczIDguNzM5LTIuNTM0IDEwLjEwOSA0LjI4OSA0LjI5LTguMjM4IDEuNjgyLTExLjI5Ni0xMS4yOTYtNy42NyA3LjM3MyAxNC4xMjMgMTQuMTI1LTE0Ljk3IDExLjkgNDAuMTkzIDQwLjE5MiAxOS41ODEtLjE5eiIgb3BhY2l0eT0iLjA3Ii8+PGcgZmlsbD0iI2ZmZiI+PGNpcmNsZSBjeD0iODUuNTE5IiBjeT0iNTEuNTc2IiByPSI1LjMyNCIvPjxjaXJjbGUgY3g9IjQyLjQ4IiBjeT0iNTEuNTc2IiByPSI1LjMyNCIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iODguODQ5IiByPSI1LjMyNSIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iNjQiIHI9IjguNjAyIi8+PGNpcmNsZSBjeD0iNDIuNDgiIGN5PSI3Ni40MjQiIHI9IjYuNzU4Ii8+PGNpcmNsZSBjeD0iODUuNTE5IiBjeT0iNzYuNDI0IiByPSI2Ljc1OCIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iMzkuMTUxIiByPSI2Ljc1OSIvPjwvZz48L3N2Zz4=", + "camel.apache.org/provider": "Apache Software Foundation", + "camel.apache.org/kamelet.group": "Google Pubsub", + "camel.apache.org/kamelet.namespace": "GCP" + }, + "labels": { + "camel.apache.org/kamelet.type": "sink" + } + }, + "spec": { + "definition": { + "title": "Google Pubsub Sink", + "description": "Send messages to Google Cloud Pub/Sub.", + "required": [ + "projectId", + "destinationName" + ], + "type": "object", + "properties": { + "projectId": { + "title": "Project Id", + "description": "The Google Cloud Pub/Sub Project ID.", + "type": "string" + }, + "destinationName": { + "title": "Destination Name", + "description": "The destination name.", + "type": "string" + }, + "serviceAccountKey": { + "title": "Service Account Key", + "description": "The service account key to use as credentials for the Pub/Sub publisher/subscriber. You must encode this value in base64.", + "type": "binary", + "x-descriptors": [ + "urn:camel:group:credentials" + ] + } + } + }, + "dependencies": [ + "camel:kamelet", + "camel:google-pubsub", + "camel:jackson" + ], + "template": { + "from": { + "uri": "kamelet:source", + "steps": [ + { + "to": { + "uri": "google-pubsub://{{projectId}}:{{destinationName}}", + "parameters": { + "serviceAccountKey": "base64:{{?serviceAccountKey}}" + } + } + } + ] + } + } + }, + "propertiesSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "Google Pubsub Sink", + "description": "Send messages to Google Cloud Pub/Sub.", + "required": [ + "projectId", + "destinationName" + ], + "properties": { + "projectId": { + "type": "string", + "title": "Project Id", + "description": "The Google Cloud Pub/Sub Project ID." + }, + "destinationName": { + "type": "string", + "title": "Destination Name", + "description": "The destination name." + }, + "serviceAccountKey": { + "type": "string", + "$comment": "type:binary", + "title": "Service Account Key", + "description": "The service account key to use as credentials for the Pub/Sub publisher/subscriber. You must encode this value in base64." + } + } + } +} \ No newline at end of file