diff --git a/kamelet.json b/kamelet.json new file mode 100644 index 0000000..fa13a94 --- /dev/null +++ b/kamelet.json @@ -0,0 +1,174 @@ +{ + "apiVersion": "camel.apache.org/v1", + "kind": "Kamelet", + "metadata": { + "name": "solr-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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iODAwIiB3aWR0aD0iMTIwMCIgdmlld0JveD0iLTQwLjYwMDk1IC0zNC4yMTc3NSAzNTEuODc0OSAyMDUuMzA2NSI+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIiBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTTAgMTAyLjY1NGgyMDMuMDA1VjBIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48ZyBjbGlwLXBhdGg9InVybCgjYSkiIHRyYW5zZm9ybT0ibWF0cml4KDEuMzMzMzMgMCAwIC0xLjMzMzMzIDAgMTM2Ljg3MSkiPjxwYXRoIGQ9Ik00MC43NiAzMS43NjNjLTIuMzQ0IDEuMjQ4LTQuOTk0IDIuMTI3LTcuODc0IDIuNjEzYTUxLjcwNyA1MS43MDcgMCAwMS04LjU1NC43MTdjLTIuMzI3IDAtNC42ODEuMjAxLTYuOTk4LjU5Ny0yLjI1Ni4zODQtNC4zIDEuMDkyLTYuMDc2IDIuMTA0LTEuNzMuOTg0LTMuMTYgMi4zNjEtNC4yNTIgNC4wOTUtMS4wNzggMS43MDYtMS42MjQgMy45NjgtMS42MjQgNi42OTcuMDUyIDIuNDEuNjEyIDQuNDcyIDEuNjY2IDYuMTNhMTIuNTUyIDEyLjU1MiAwIDAwNC4xNDcgNC4wNjZjMS43MjYgMS4wNDEgMy43MTggMS44MDYgNS45MiAyLjI3NCAzLjc1Mi43OTYgNy43MTQuOTQ1IDExLjc1LjM4MmEyMi40MTYgMjIuNDE2IDAgMDA0LjYzLTEuMTY4IDE2LjY5MSAxNi42OTEgMCAwMDQuMTA2LTIuMjE3IDE0LjA3IDE0LjA3IDAgMDAzLjI0Ni0zLjQxbC41MTQtLjc1NiAzLjc4OCAxLjU5NC0uODA0IDEuMTM1YTI1LjAzIDI1LjAzIDAgMDEtMy4zOTUgMy45IDE3LjI2NiAxNy4yNjYgMCAwMS00LjM1NiAyLjkwNWMtMS42MjMuNzY1LTMuNDggMS4zNTQtNS41MjIgMS43NTEtMi4wMjEuMzkyLTQuMzc3LjU5LTcuMDAzLjU5YTM2LjMzIDM2LjMzIDAgMDEtNy43My0uODU4Yy0yLjY1LS41OC01LjEwNi0xLjUzOC03LjMwMS0yLjg0OWExNi41OTEgMTYuNTkxIDAgMDEtNS40OTMtNS4zMDZjLTEuNDI1LTIuMjE5LTIuMTUtNC45NTctMi4xNS04LjEzOSAwLTMuMzQuNjcyLTYuMTgzIDEuOTk0LTguNDQ5IDEuMzE0LTIuMjUyIDMuMDc2LTQuMDc3IDUuMjM3LTUuNDIzIDIuMTE2LTEuMzIgNC41ODUtMi4yNjkgNy4zMzgtMi44MmE0Mi43NjcgNDIuNzY3IDAgMDE4LjM2OC0uODFjMi4yNzYgMCA0LjY4Ni0uMTczIDcuMTY0LS41MTYgMi40MS0uMzMzIDQuNjU1LTEuMDA1IDYuNjY5LTEuOTk3IDEuOTYyLS45NjkgMy41OTctMi4zMTYgNC44NTctNC4wMDUgMS4yMTktMS42MzUgMS44MzgtMy44NDMgMS44MzgtNi41NjIgMC0yLjQ0Mi0uNTk2LTQuNTI0LTEuNzctNi4xOTMtMS4yMTEtMS43MjQtMi43ODUtMy4xNDctNC42NzgtNC4yMjktMS45MzQtMS4xMDUtNC4xMjMtMS45MTktNi41MS0yLjQxOGEzNC45MDMgMzQuOTAzIDAgMDAtNy4xMzItLjc2NWMtMy44NzMgMC03LjcuNzQtMTEuMzc0IDIuMmEyNy4xOCAyNy4xOCAwIDAwLTkuNjQgNi40ODJsLS43MzUuNzY1TDAgMTEuMjUybC44NDgtLjg0OGMyLjcwMy0yLjcwNSA2LjA2LTUuMDYgOS45NzUtNy4wMDJDMTQuNzg2IDEuNDM1IDE5LjQ3OS40MzggMjQuNzcuNDM4YzIuNTE2IDAgNS4xODYuMjg4IDcuOTM4Ljg1NSAyLjc5LjU3NyA1LjQwOCAxLjU2MiA3Ljc4IDIuOTMxIDIuNDEgMS4zOSA0LjQxNSAzLjIxIDUuOTYyIDUuNDA2IDEuNTg5IDIuMjU3IDIuMzk1IDUuMDgxIDIuMzk1IDguMzk4IDAgMy4zNjEtLjc1NSA2LjIwNy0yLjI0NSA4LjQ2LTEuNDcxIDIuMjItMy40MzUgMy45OTUtNS44NCA1LjI3NU03Ni4zOSAzLjk4NWMtMi43MzIgMC01LjIzLjU2NC03LjQyNiAxLjY3NmExOS4xNDggMTkuMTQ4IDAgMDAtNS44NCA0LjU1NmMtMS42NTggMS45MDctMi45NzYgNC4xMzctMy45MTYgNi42M2EyNC44NTMgMjQuODUzIDAgMDAtMS41OTMgNy43NTNjMCAyLjQzLjQ1IDQuOTExIDEuMzM2IDcuMzc4YTIxLjY0OCAyMS42NDggMCAwMDMuODMzIDYuNjY2IDIwLjQxNCAyMC40MTQgMCAwMDUuOTg0IDQuODJjMi4yNzggMS4yMiA0Ljg0MiAxLjg0IDcuNjIyIDEuODQgMi42MTQgMCA1LjA4My0uNTggNy4zMzgtMS43MmEyMC4wMDMgMjAuMDAzIDAgMDA1Ljk3OC00LjYwN2MxLjY4NS0xLjkwOCAzLjAzLTQuMTM5IDQuMDAyLTYuNjMyYTIxLjMxNSAyMS4zMTUgMCAwMDEuNDU3LTcuNzQ1YzAtMi40MjYtLjQ1LTQuOTA5LTEuMzM1LTcuMzc3YTIxLjY0IDIxLjY0IDAgMDAtMy44MzQtNi42NjggMTkuODEzIDE5LjgxMyAwIDAwLTUuOTc1LTQuNzdjLTIuMjgtMS4xOTUtNC44NDYtMS44LTcuNjMxLTEuOG0xNi41NzcgMzcuMzc3Yy0xLjk4MiAyLjMxNi00LjM5MSA0LjIzMi03LjE2MiA1LjY5NC0yLjgxIDEuNDgyLTUuOTc3IDIuMjMyLTkuNDE1IDIuMjMyLTMuMTMyIDAtNi4xMjQtLjY3LTguODkzLTEuOTkzYTIzLjIwMiAyMy4yMDIgMCAwMS03LjIyNS01LjM4NGMtMi4wMzctMi4yNDktMy42Ny00Ljg5OC00Ljg1NC03Ljg3M0EyNS40MDEgMjUuNDAxIDAgMDE1My42MyAyNC42YzAtMy4xMDMuNTU1LTYuMTQgMS42NS05LjAyN2EyNS43OTUgMjUuNzk1IDAgMDE0LjYyNS03Ljc4NCAyMy4zODggMjMuMzg4IDAgMDE3LjE3NS01LjU2NkM2OS44NzcuODEgNzMuMDAzLjA2MSA3Ni4zNyAwaC4wNDJjMy4xODYuMDYxIDYuMjAzLjc3OCA4Ljk2NyAyLjEyOGEyMy43NjMgMjMuNzYzIDAgMDE3LjIxNyA1LjQyNGMyLjAzNyAyLjI1IDMuNjU2IDQuODcgNC44MSA3Ljc4N0EyNS4wNTcgMjUuMDU3IDAgMDE5OS4xNSAyNC42YzAgMi45MTctLjU0IDUuODktMS42IDguODM1YTI1LjQ0MiAyNS40NDIgMCAwMS00LjU4MyA3LjkyN00xMTkuNzgzIDUuMDljLS42Ny0uMTY2LTEuMjYtLjI5My0xLjc1Mi0uMzc1YTczLjE5MiA3My4xOTIgMCAwMC0xLjY4NS0uMjYgMTEuNzE3IDExLjcxNyAwIDAwLTEuNjM4LS4xMmMtMS4zMzcgMC0yLjMyLjQ0NC0zLjAxIDEuMzU2LS43NiAxLjAwNC0xLjEzIDItMS4xMyAzLjA0OXY1OC4zMzdoLTMuOTg2VjguNzRjMC0yLjE5LjY5MS00LjEyNiAyLjA1NS01Ljc1NCAxLjQxMy0xLjY5MSAzLjQyNi0yLjU0NyA1Ljk4My0yLjU0N2EyMCAyMCAwIDAxMi4zNjcuMTM5Yy43NDIuMDg5IDEuNDEuMTc4IDIuMDA2LjI2Ny42MS4wOTIgMS4zMTYuMjMgMi4xLjQxbDEuMzUxLjMxMi0xLjc3NCAzLjc0NnptMTcuMTk1IDQwLjE4M2MtMi4wNzMtMS40NTctMy45MDQtMy4zMDctNS40NzEtNS41MjJ2OC44MzZoLTMuOTg1Vi44NzdoMy45ODVWMzAuNThhMjQuMTYgMjQuMTYgMCAwMDIuMjYgNS40MjYgMTcuMjU0IDE3LjI1NCAwIDAwMy41MzkgNC4zNjIgMTYuOTE1IDE2LjkxNSAwIDAwNC44MSAyLjk1OGMxLjc5OS43MzYgMy44MjggMS4xNjYgNi4wMzIgMS4yNzdsMS4wNi4wNTN2My45MzFoLTEuMTE2Yy00LjI0NyAwLTcuOTg2LTEuMTE1LTExLjExNC0zLjMxNCIgZmlsbD0iIzI0MWYyYiIvPjxwYXRoIGQ9Ik0xOTMuOTExIDkyLjA0MWwtMzMtMzUuNjc3IDQxLjQ3MyAxOS4xMzRhMzMuNDggMzMuNDggMCAwMS04LjQ3MiAxNi41NDNtLTI0LjQ4NSAxMC42MTNjLTQuNTcyIDAtOC45MjgtLjkxNy0xMi45LTIuNTcybC00LjQyOC0zNy4zMTQgMjIuMTI3IDM5LjUzOWEzMy43NTYgMzMuNzU2IDAgMDEtNC44LjM0N20zMy4yODctMjkuMjExTDE2My40MTUgNTEuNDVsMzYuODcgNC4zNzVhMzMuNDU2IDMzLjQ1NiAwIDAxMi40MjggMTcuNjE3bS0xNC40ODgtMzIuMTk0YTMzLjc0OCAzMy43NDggMCAwMTEwLjYxMiAxMS42MTlsLTM0LjU2LTYuODYzem0tMTEuOTc1IDYwLjcxMWwtMTkuMjM4LTQxLjY5NSAzNS42ODUgMzMuMDA2Yy00LjQ3NSA0LjMwNS0xMC4xMzUgNy4zODYtMTYuNDQ4IDguNjg5bS00LjAxNi02Ni4zMzdhMzMuMzcgMzMuMzcgMCAwMTEwLjU0IDIuNjM4bC0xOS4zNTggMi4yOTd6bS0zMy40MTQgNDcuMjU3YTMzLjM2NSAzMy4zNjUgMCAwMS0yLjgzLTEwLjc5Mmw1LjIxNi05LjMyem0xNC43OTggMTUuODIyYTMzLjczNiAzMy43MzYgMCAwMS0xMS44MzItMTAuNTY3bDQuODY3LTI0LjUwNHoiIGZpbGw9IiNkYTM1MjIiLz48L2c+PC9zdmc+", + "camel.apache.org/provider": "Apache Software Foundation", + "camel.apache.org/kamelet.group": "Solr", + "camel.apache.org/kamelet.namespace": "Search" + }, + "labels": { + "camel.apache.org/kamelet.type": "source" + } + }, + "spec": { + "definition": { + "title": "Solr Source", + "description": "Query for documents to Solr Collection.", + "required": [ + "period", + "servers", + "collection", + "query" + ], + "type": "object", + "properties": { + "period": { + "title": "Period between Polls", + "description": "The interval between fetches to the Solr collection", + "type": "integer", + "default": 10000 + }, + "collection": { + "title": "Collection", + "description": "Solr Collection name", + "type": "string" + }, + "servers": { + "title": "Servers", + "description": "Comma separated list of Solr Servers and ports", + "type": "string" + }, + "query": { + "title": "Query", + "description": "The query to submit to Solr", + "type": "string" + }, + "username": { + "title": "Username", + "description": "Username to connect to Solr.", + "type": "string", + "x-descriptors": [ + "urn:camel:group:credentials" + ] + }, + "password": { + "title": "Password", + "description": "Password to connect to Solr.", + "type": "string", + "format": "password", + "x-descriptors": [ + "urn:camel:group:credentials" + ] + } + } + }, + "types": { + "in": { + "mediaType": "application/json" + } + }, + "dependencies": [ + "camel:solr", + "camel:core", + "camel:timer", + "camel:jackson", + "camel:kamelet" + ], + "template": { + "from": { + "uri": "timer:solr-stream", + "parameters": { + "period": "{{period}}" + }, + "steps": [ + { + "setHeader": { + "name": "CamelSolrOperation", + "constant": "QUERY" + } + }, + { + "setHeader": { + "name": "CamelSolrQueryString", + "constant": "{{query}}" + } + }, + { + "setHeader": { + "name": "CamelSolrCollection", + "constant": "{{collection}}" + } + }, + { + "removeHeader": { + "name": "content-type" + } + }, + { + "to": { + "uri": "solr:{{servers}}/solr/", + "parameters": { + "username": "{{?username}}", + "password": "{{?password}}" + } + } + }, + { + "to": "kamelet:sink" + } + ] + } + } + }, + "propertiesSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "Solr Source", + "description": "Query for documents to Solr Collection.", + "required": [ + "period", + "servers", + "collection", + "query" + ], + "properties": { + "period": { + "type": "integer", + "title": "Period between Polls", + "description": "The interval between fetches to the Solr collection", + "default": 10000 + }, + "collection": { + "type": "string", + "title": "Collection", + "description": "Solr Collection name" + }, + "servers": { + "type": "string", + "title": "Servers", + "description": "Comma separated list of Solr Servers and ports" + }, + "query": { + "type": "string", + "title": "Query", + "description": "The query to submit to Solr" + }, + "username": { + "type": "string", + "title": "Username", + "description": "Username to connect to Solr." + }, + "password": { + "type": "string", + "title": "Password", + "description": "Password to connect to Solr.", + "format": "password" + } + } + } +} \ No newline at end of file