From 62f5063e5858ed9fd66314ed076c629e63a5f1be Mon Sep 17 00:00:00 2001 From: gitea_admin Date: Mon, 12 Oct 2026 02:36:42 +0000 Subject: [PATCH] Add kamelet definition: splunk-source --- kamelet.json | 290 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 290 insertions(+) create mode 100644 kamelet.json diff --git a/kamelet.json b/kamelet.json new file mode 100644 index 0000000..32d73e4 --- /dev/null +++ b/kamelet.json @@ -0,0 +1,290 @@ +{ + "apiVersion": "camel.apache.org/v1", + "kind": "Kamelet", + "metadata": { + "name": "splunk-source", + "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,PHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHJvbGU9ImltZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+U3BsdW5rIGljb248L3RpdGxlPjxwYXRoIGQ9Ik0yMy4zNDggMTEuOTExbC0yLjI0MS0xLjA5MXYtLjY1TDI0IDExLjYyMXYuNTkzbC0yLjg5MyAxLjQzOHYtLjYzNnptLTUuMzk3IDEuODQxaC0uOTYxdi01LjMxaC45NjF2My4xMTZoLjEwMmwxLjI4LTEuNDgxLjcyMy4zMS0xLjIzIDEuMzE2IDEuNDUzIDEuODA5LS44ODguMzExLTEuNDQtMS45OTZ6bS0yLjU3Ny0uMDAydi0yLjA2OGEyLjY4NSAyLjY4NSAwIDAgMC0uMDI2LS40Mi43OTEuNzkxIDAgMCAwLS4wOS0uMjZjLS4xMTMtLjIwMi0uMzA4LS4zMDQtLjU5LS4zMDRhLjg4OC44ODggMCAwIDAtLjQ2MS4xMTMuNjczLjY3MyAwIDAgMC0uMjg2LjMzIDEuMDEyIDEuMDEyIDAgMCAwLS4wNy4yNjNjLS4wMTIuMTMtLjAxOS4yNjItLjAxNy4zOTV2MS45NWgtLjk2MXYtMy42MTRoLjk2MWwuMDAyLjQ4NWMuMTg1LS4yLjM3My0uMzQ4LjU2Ni0uNDM3LjE5Mi0uMDg5LjQxOC0uMTM0LjY3My0uMTM0LjI4NiAwIC41MjcuMDU4LjcyMS4xNzdhMS4wMTYgMS4wMTYgMCAwIDEgLjQ3NS42NjUgMS45NzIgMS45NzIgMCAwIDEgLjA1NC40NDhjLjAwMi4xLjAwNC4yMi4wMDQuMzU4djIuMDUzem0tNC4xMTUuMDAybC0uMDAyLS40ODVhMS43ODMgMS43ODMgMCAwIDEtLjU2NS40MzcgMS41OTcgMS41OTcgMCAwIDEtLjY3NC4xMzVjLS4yODUgMC0uNTI0LS4wNTctLjcyLS4xN2EuOTcyLjk3MiAwIDAgMS0uNDI1LS41MDQuNzUuNzUgMCAwIDEtLjA1NC0uMTY3IDEuOTE4IDEuOTE4IDAgMCAxLS4wMzMtLjE5OSAyLjAzMyAyLjAzMyAwIDAgMS0uMDE3LS4yNTggMTUuNTE2IDE1LjUxNiAwIDAgMS0uMDA1LS4zNTVWMTAuMTNoLjk1NnYyLjA3Yy0uMDAzLjE0MS4wMDYuMjgyLjAyNi40Mi4wMTUuMDkyLjA0NS4xOC4wOS4yNi4xMTMuMjA0LjMwOC4zMDYuNTkuMzA2LjM2IDAgLjYwNi0uMTUuNzQtLjQ0OS4wMzUtLjA4Mi4wNi0uMTY4LjA3NC0uMjU3LjAxNy0uMTM0LjAyNC0uMjY5LjAyMi0uNDAzdi0xLjk1aC45NTV2My42MjR6TTcuMTg0IDguNDRoLjk1NXY1LjMxaC0uOTU1ek01Ljc1OSAxMS45YzAtLjM5Ni0uMDgtLjcwOC0uMjQtLjkzN2EuNzU5Ljc1OSAwIDAgMC0uNjU3LS4zNDUuODA0LjgwNCAwIDAgMC0uNjkzLjM2NmMtLjE3MS4yNDUtLjI1Ni41NzQtLjI1My45OSAwIC40MDUuMDg0LjcyMy4yNS45NTdhLjc5Ni43OTYgMCAwIDAgLjY5LjM0Ny42ODUuNjg1IDAgMCAwIC40MzMtLjEzNS45ODUuOTg1IDAgMCAwIC4yNzctLjM0Yy4wNzEtLjE0LjEyMS0uMjkyLjE0Ny0uNDQ4LjAzLS4xNTEuMDQzLS4zLjA0Ni0uNDU1bTEuMDEtLjAzNmMuMDAzLjI2Ni0uMDQuNTMyLS4xMjkuNzg2LS4wODIuMjMtLjIwNC40NDEtLjM2NC42MjYtLjMxLjM2MS0uNzY0LjU2Ny0xLjI0LjU2M2ExLjY3IDEuNjcgMCAwIDEtLjMxMy0uMDI4IDEuMDQxIDEuMDQxIDAgMCAxLS4yNzUtLjA5OCAxLjMzIDEuMzMgMCAwIDEtLjI1Ny0uMTc4IDIuMzc5IDIuMzc5IDAgMCAxLS4yNjUtLjI2OHYyLjI5M2gtLjkyOXYtNS40MjVoLjkzbC4wMDQuNTI5Yy4xNjktLjIxMi4zNTMtLjM2OC41NS0uNDY4LjE5Ny0uMS40MjYtLjE1LjY4OC0uMTQ3YTEuNTA5IDEuNTA5IDAgMCAxIDEuMTU2LjUwN2MuMTQ4LjE2Ni4yNTkuMzYxLjMzLjU3MS4wOC4yMzYuMTIuNDg1LjExNS43MzdtLTQuMjEuODlhLjk0Ni45NDYgMCAwIDEtLjEwMi40NDEgMS4wMDcgMS4wMDcgMCAwIDEtLjI4Mi4zNDVjLS4xMy4xLS4yNzUuMTczLS40My4yMmExLjggMS44IDAgMCAxLS41NDYuMDggMS45ODUgMS45ODUgMCAwIDEtLjYzNy0uMDk3IDEuOTY0IDEuOTY0IDAgMCAxLS41NjMtLjMybC4zMTItLjUwNWMuMTUuMTI2LjI4NC4yMTcuNDA1LjI3NS4xMTUuMDU3LjI0LjA4Ny4zNjguMDg3YS41NTcuNTU3IDAgMCAwIC4zNzMtLjEyLjM5Ni4zOTYgMCAwIDAgLjE0LS4zMjIuNDc1LjQ3NSAwIDAgMC0uMTItLjMxOCAxLjMwNiAxLjMwNiAwIDAgMC0uMTg3LS4xNzMgOS4yMzEgOS4yMzEgMCAwIDAtLjMwOC0uMjMyIDYuNzg3IDYuNzg3IDAgMCAxLS4yODEtLjIxIDIuMTEgMi4xMSAwIDAgMS0uMjUyLS4yMzIgMS4wMzkgMS4wMzkgMCAwIDEtLjE4LS4yNzUuODI2LjgyNiAwIDAgMS0uMDY5LS4zNDcuODkzLjg5MyAwIDAgMSAuMDk0LS40MDkuOTM1LjkzNSAwIDAgMSAuMjU1LS4zMTQgMS4yMiAxLjIyIDAgMCAxIC4zOS0uMjAzYy4xNi0uMDUuMzI3LS4wNzQuNDk0LS4wNzIuMTg0IDAgLjM2OC4wMjYuNTQ1LjA3Ni4xNzQuMDUuMzM4LjEyMy40ODguMjE5bC0uMjgyLjQ1NGExLjA1IDEuMDUgMCAwIDAtLjYwOC0uMjAxLjUwNC41MDQgMCAwIDAtLjMyMy4xMDIuMzA3LjMwNyAwIDAgMC0uMTI2LjI1M2MwIC4wOTguMDQxLjE5My4xMTMuMjYuMDc0LjA3OC4yMDMuMTg2LjM4NS4zMjUuMTg1LjEzNi4zMzYuMjUzLjQ1Ny4zNTUuMTA0LjA4NS4yMDIuMTgyLjI4Ni4yODYuMDY1LjA4LjExNS4xNzMuMTQ1LjI3M2EuODA4LjgwOCAwIDAgMSAuMDQ2LjI5OVoiLz48L3N2Zz4=", + "camel.apache.org/provider": "Apache Software Foundation", + "camel.apache.org/kamelet.group": "SPLUNK", + "camel.apache.org/kamelet.namespace": "Monitoring" + }, + "labels": { + "camel.apache.org/kamelet.type": "source" + } + }, + "spec": { + "definition": { + "title": "Splunk Source", + "description": "Retrieve data from Splunk and outputs in json format.", + "required": [ + "serverHostname", + "username", + "password", + "query", + "initEarliestTime" + ], + "type": "object", + "properties": { + "serverHostname": { + "title": "Splunk Server Address", + "description": "The address of your Splunk server.", + "type": "string", + "example": "my_server_splunk.com" + }, + "serverPort": { + "title": "Splunk Server Port", + "description": "The address of your Splunk server.", + "type": "integer", + "default": 8089 + }, + "username": { + "title": "Username", + "description": "The username to authenticate to Splunk Server.", + "type": "string" + }, + "password": { + "title": "Password", + "description": "The password to authenticate to Splunk Server.", + "type": "string", + "format": "password", + "x-descriptors": [ + "urn:camel:group:credentials" + ] + }, + "index": { + "title": "Index", + "description": "Splunk index to write to.", + "type": "string" + }, + "protocol": { + "title": "Protocol", + "description": "Connection Protocol to Splunk server.", + "type": "string", + "default": "https", + "enum": [ + "http", + "https" + ] + }, + "source": { + "title": "Source", + "description": "The source named field of the data.", + "type": "string" + }, + "sourceType": { + "title": "Source Type", + "description": "The source named field of the data.", + "type": "string" + }, + "app": { + "title": "Splunk App", + "description": "The app name in Splunk.", + "type": "string" + }, + "connectionTimeout": { + "title": "Connection Timeout", + "description": "Timeout in milliseconds when connecting to Splunk server", + "type": "integer" + }, + "count": { + "title": "Count", + "description": "The maximum number of entities to return.", + "type": "integer" + }, + "repeat": { + "title": "Repeat", + "description": "The maximum number of fires.", + "type": "integer" + }, + "delay": { + "title": "Delay", + "description": "The number of milliseconds before the next poll.", + "type": "integer" + }, + "query": { + "title": "Query", + "description": "The Splunk query to run.", + "type": "string" + }, + "earliestTime": { + "title": "Earliest Time", + "description": "Earliest time of the search time window.", + "type": "string", + "example": "05/17/22 08:35:46:456" + }, + "initEarliestTime": { + "title": "Init Earliest Time", + "description": "Initial start offset of the first search.", + "type": "string", + "example": "05/17/22 08:35:46:456" + }, + "latestTime": { + "title": "Latest Time", + "description": "Latest time of the search time window.", + "type": "string", + "example": "05/17/22 08:35:46:456" + } + } + }, + "types": { + "out": { + "mediaType": "application/json" + } + }, + "dependencies": [ + "camel:jackson", + "camel:core", + "camel:splunk", + "camel:kamelet", + "mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.5" + ], + "template": { + "from": { + "uri": "splunk:normal", + "parameters": { + "host": "{{serverHostname}}", + "port": "{{serverPort}}", + "username": "{{username}}", + "password": "{{password}}", + "index": "{{?index}}", + "scheme": "{{?protocol}}", + "source": "{{?source}}", + "sourceType": "{{?sourceType}}", + "app": "{{?app}}", + "connectionTimeout": "{{?connectionTimeout}}", + "count": "{{?count}}", + "repeatCount": "{{?repeat}}", + "delay": "{{?delay}}", + "search": "{{?query}}", + "earliestTime": "{{?earliestTime}}", + "initEarliestTime": "{{initEarliestTime}}", + "latestTime": "{{?latestTime}}", + "raw": true + }, + "steps": [ + { + "marshal": { + "json": { + "library": "Jackson", + "moduleClassNames": "com.fasterxml.jackson.datatype.joda.JodaModule" + } + } + }, + { + "to": "kamelet:sink" + } + ] + } + } + }, + "propertiesSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "Splunk Source", + "description": "Retrieve data from Splunk and outputs in json format.", + "required": [ + "serverHostname", + "username", + "password", + "query", + "initEarliestTime" + ], + "properties": { + "serverHostname": { + "type": "string", + "title": "Splunk Server Address", + "description": "The address of your Splunk server." + }, + "serverPort": { + "type": "integer", + "title": "Splunk Server Port", + "description": "The address of your Splunk server.", + "default": 8089 + }, + "username": { + "type": "string", + "title": "Username", + "description": "The username to authenticate to Splunk Server." + }, + "password": { + "type": "string", + "title": "Password", + "description": "The password to authenticate to Splunk Server.", + "format": "password" + }, + "index": { + "type": "string", + "title": "Index", + "description": "Splunk index to write to." + }, + "protocol": { + "type": "string", + "title": "Protocol", + "description": "Connection Protocol to Splunk server.", + "enum": [ + "http", + "https" + ], + "default": "https" + }, + "source": { + "type": "string", + "title": "Source", + "description": "The source named field of the data." + }, + "sourceType": { + "type": "string", + "title": "Source Type", + "description": "The source named field of the data." + }, + "app": { + "type": "string", + "title": "Splunk App", + "description": "The app name in Splunk." + }, + "connectionTimeout": { + "type": "integer", + "title": "Connection Timeout", + "description": "Timeout in milliseconds when connecting to Splunk server" + }, + "count": { + "type": "integer", + "title": "Count", + "description": "The maximum number of entities to return." + }, + "repeat": { + "type": "integer", + "title": "Repeat", + "description": "The maximum number of fires." + }, + "delay": { + "type": "integer", + "title": "Delay", + "description": "The number of milliseconds before the next poll." + }, + "query": { + "type": "string", + "title": "Query", + "description": "The Splunk query to run." + }, + "earliestTime": { + "type": "string", + "title": "Earliest Time", + "description": "Earliest time of the search time window." + }, + "initEarliestTime": { + "type": "string", + "title": "Init Earliest Time", + "description": "Initial start offset of the first search." + }, + "latestTime": { + "type": "string", + "title": "Latest Time", + "description": "Latest time of the search time window." + } + } + } +} \ No newline at end of file