249 lines
12 KiB
JSON
249 lines
12 KiB
JSON
|
|
{
|
||
|
|
"apiVersion": "camel.apache.org/v1",
|
||
|
|
"kind": "Kamelet",
|
||
|
|
"metadata": {
|
||
|
|
"name": "infinispan-source",
|
||
|
|
"labels": {
|
||
|
|
"camel.apache.org/kamelet.type": "source"
|
||
|
|
},
|
||
|
|
"annotations": {
|
||
|
|
"camel.apache.org/kamelet.support.level": "Stable",
|
||
|
|
"camel.apache.org/catalog.version": "4.22.1",
|
||
|
|
"camel.apache.org/provider": "Apache Software Foundation",
|
||
|
|
"camel.apache.org/kamelet.group": "Infinispan",
|
||
|
|
"camel.apache.org/kamelet.namespace": "Cache",
|
||
|
|
"camel.apache.org/kamelet.icon": "data:image/svg+xml;base64,PHN2ZyBpZD0iYXJ0d29yayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAyNCAyMTUiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMGIyNTQ1O30uY2xzLTJ7ZmlsbDojNTk5ZmM2O308L3N0eWxlPjwvZGVmcz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjI5Ny4yNCIgeT0iMS45OCIgd2lkdGg9IjExLjkiIGhlaWdodD0iMTU4LjEyIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzk1LjI1LDY0Ljg4Yy03LjgxLTkuNDUtMTguOS0xNC4yNC0zMy0xNC4yNC0xMy43NywwLTI0LjczLDQuNzUtMzIuNjQsMTQuMTFWNTIuMzlIMzE4LjI3djEwNy43aDExLjM3Vjk0LjE4YzAtMTAsMy0xOC4wOCw4LjgyLTI0LjA1czEzLjg3LTksMjMuODItOSwxOC4xLDMuNDYsMjQuMSwxMC4yOGM1Ljc0LDYuNTEsOC42NSwxNSw4LjY1LDI1LjE4djYzLjQ5aDExLjE0Vjk5LjQzQzQwNi4xNyw4NS4xNSw0MDIuNDksNzMuNTIsMzk1LjI1LDY0Ljg4WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTQzMS43OSwyMC43YzQuMS01LjgzLDEwLTguNjcsMTcuOTMtOC42N2EzNS41LDM1LjUsMCwwLDEsNi41NC42M0w0NjguOSwxNS4xVjQuMzdMNDU4LjIzLDJhNDMuMTQsNDMuMTQsMCwwLDAtOS4xNy0xYy0xMC44MywwLTE5LjQsNC0yNS40NywxMS43NC01LjU4LDcuMDctOC40MSwxNi4yLTguNDEsMjcuMTRWMTYwLjA5aDExLjE1VjYzLjQyaDMzLjg2VjUyLjZINDI2LjMzVjQwLjg2QzQyNi4zMywzMi41Nyw0MjguMTcsMjUuNzksNDMxLjc5LDIwLjdaIi8+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSI0NzMuODgiIHk9IjUyLjYiIHdpZHRoPSIxMS4zNyIgaGVpZ2h0PSIxMDcuNDkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik00NzkuNDYsMTYuNTZjLTQuOTMsMC03LjUzLDIuNjEtNy41Myw3LjU0czIuNiw3Ljc1LDcuNTMsNy43NWM1LjE0LDAsNy44Ni0yLjY4LDcuODYtNy43NVM0ODQuNiwxNi41Niw0NzkuNDYsMTYuNTZaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTczLjMxLDY0Ljg4Yy03LjgxLTkuNDUtMTguOTEtMTQuMjQtMzMtMTQuMjQtMTMuNzYsMC0yNC43Miw0Ljc1LTMyLjY0LDE0LjEyVjUyLjM5SDQ5Ni4zM3YxMDcuN2gxMS4zNlY5NC4xOGMwLTEwLDMtMTguMDgsOC44My0yNC4wNXMxMy44Ni05LDIzLjgxLTksMTguMTEsMy40NiwyNC4xLDEwLjI5YzUuNzUsNi41MSw4LjY2LDE1LDguNjYsMjUuMTh2NjMuNDloMTEuMTRWOTkuNDNDNTg0LjIzLDg1LjE1LDU4MC41NSw3My41Miw1NzMuMzEsNjQuODhaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAxMi4wOCw2NC44OGMtNy44MS05LjQ1LTE4LjkxLTE0LjI0LTMzLTE0LjI0LTEzLjc2LDAtMjQuNzIsNC43NS0zMi42NCwxNC4xMlY1Mi4zOUg5MzUuMXYxMDcuN2gxMS4zNlY5NC4xOGMwLTEwLDMtMTguMDgsOC44My0yNC4wNXMxMy44Ny05LDIzLjgxLTksMTguMTEsMy40NiwyNC4xLDEwLjI5YzUuNzUsNi41MSw4LjY2LDE1LDguNjYsMjUuMTh2NjMuNDlIMTAyM1Y5OS40M0MxMDIzLDg1LjE1LDEwMTkuMzIsNzMuNTIsMTAxMi4wOCw2NC44OFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02MDAuNzcsMTYuNTZjLTQuOTIsMC03LjUzLDIuNjEtNy41Myw3LjU0czIuNjEsNy43NSw3LjUzLDcuNzVjNS4xNCwwLDcuODYtMi42OCw3Ljg2LTcuNzVTNjA1LjkxLDE2LjU2LDYwMC43NywxNi41NloiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjU5NS4yIiB5PSI1Mi42IiB3aWR0aD0iMTEuMzYiIGhlaWdodD0iMTA3LjQ5Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjcxLjUzLDEwMi4xOGwtMjEuMjMtNmMtMTMuNjItMy44Mi0yMC41My05LjY3LTIwLjUzLTE3LjQsMC0xMC4zNSw2LjQtMTUuMzksMTkuNTgtMTUuMzlINjY4YzkuMjQsMCwxNi4yMiwyLjM0LDIwLjc3LDdsLjYxLjYyLDEwLTYtLjgtMWMtNi4wOC03LjYtMTYtMTEuNDUtMjkuNjEtMTEuNDVINjUyLjcyYy0yMi43NywwLTM0LjMxLDguNjYtMzQuMzEsMjUuNzIsMCwxMy41Nyw5LjEsMjMsMjcsMjhsMjAuMzcsNS42NGMxNS40Myw0LjI2LDIzLjI1LDExLjI1LDIzLjI1LDIwLjc3LDAsMTEuMTYtNy45LDE2LjU4LTI0LjE2LDE2LjU4aC0xNy4zYy04LjQzLDAtMTUuMTItMi41Mi0xOS44OS03LjVsLS42MS0uNjQtMTAsNiwuNzgsMWM2LjMsNy45NCwxNi4zLDEyLDI5LjczLDEyaDEwLjY2YzI4LDAsNDIuMTYtOS40NSw0Mi4xNi0yOC4xMUM3MDAuNDMsMTE3LjY0LDY5MC43MSwxMDcuNjEsNjcxLjUzLDEwMi4xOFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik04MTMsMTM4LjQ4QTU2LjY3LDU2LjY3LDAsMCwxLDc2Ni43LDE2Myw1NS4xLDU1LjEsMCwwLDEsNzIxLDEzOS4xMmwuMDYsNzFINzA5LjQ0VjUwLjA3bDExLjE2LS44NFY3NS4xNHMxNS4zLTI0LjIxLDQ2LjEtMjQuMjEsNTYuMSwyNS42Niw1Ni4xLDUzLjIxYzAsLjQyLDAsNS4yNCwwLDUuNjRhNDQuNjMsNDQuNjMsMCwxLDAsNS0yMy4yOGwtMS4zNCwyLjU1LS43Mi0yLjc5YTQ0LjMzLDQ0LjMzLDAsMCwwLTQuNDEtMTAuMDlsLS4zNy0uNjEuMy0uNDFhNTYsNTYsMCwwLDEsOTEuNDItLjg0VjUyLjYyaDExLjgxVjE2MC4yM2wtMTEuODUsMCwwLTIwLjMzYTU2LDU2LDAsMCwxLTkzLjA4LTMuMzZjLTEtMS42NS0zLjY2LTYuODYtMy42Ni02Ljg2YTU1LjM5LDU1LjM5LDAsMCwxLTQuOC0xOS40NnYtLjA4cy4xMy00LjUxLjEzLTQuNzRhNDQuNyw0NC43LDAsMSwwLTUuMDcsMjIuMTdMODA3LjUsMTI1bC43MiwyLjc5YzEuMjEsNC42OCw0Ljc4LDEwLjcsNC43OCwxMC43Ii8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxIiB5PSIxIiB3aWR0aD0iMjA5LjE3IiBoZWlnaHQ9IjIwOS4xNyIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTExNi44MSwxMDUuNThoMGE4Miw4MiwwLDAsMC04Mi04MlY0NmE1OS42NSw1OS42NSwwLDAsMSw1OS41OSw1OS41OWgwYTgyLDgyLDAsMCwwLDgyLDgyLjA1VjE2NS4xOEE1OS42Niw1OS42NiwwLDAsMSwxMTYuODEsMTA1LjU4WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTkwLjE5LDEyNy40NmE1O
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"spec": {
|
||
|
|
"definition": {
|
||
|
|
"title": "Infinispan Source",
|
||
|
|
"description": "Get Events from an Infinispan cache",
|
||
|
|
"required": [
|
||
|
|
"cacheName",
|
||
|
|
"hosts",
|
||
|
|
"username",
|
||
|
|
"password"
|
||
|
|
],
|
||
|
|
"type": "object",
|
||
|
|
"properties": {
|
||
|
|
"cacheName": {
|
||
|
|
"title": "Cache Name",
|
||
|
|
"description": "The name of the Infinispan cache to use",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"hosts": {
|
||
|
|
"title": "Hosts",
|
||
|
|
"description": "Specifies the host of the cache on Infinispan instance",
|
||
|
|
"type": "string"
|
||
|
|
},
|
||
|
|
"secure": {
|
||
|
|
"title": "Secure",
|
||
|
|
"description": "If the Infinispan instance is secured or not",
|
||
|
|
"type": "boolean",
|
||
|
|
"default": true
|
||
|
|
},
|
||
|
|
"username": {
|
||
|
|
"title": "Username",
|
||
|
|
"description": "Username to connect to Infinispan.",
|
||
|
|
"type": "string",
|
||
|
|
"x-descriptors": [
|
||
|
|
"urn:camel:group:credentials"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"password": {
|
||
|
|
"title": "Password",
|
||
|
|
"description": "Password to connect to Infinispan.",
|
||
|
|
"type": "string",
|
||
|
|
"format": "password",
|
||
|
|
"x-descriptors": [
|
||
|
|
"urn:camel:group:credentials"
|
||
|
|
]
|
||
|
|
},
|
||
|
|
"saslMechanism": {
|
||
|
|
"title": "SASL Mechanism",
|
||
|
|
"description": "The SASL Mechanism to use",
|
||
|
|
"type": "string",
|
||
|
|
"default": "DIGEST-MD5"
|
||
|
|
},
|
||
|
|
"securityRealm": {
|
||
|
|
"title": "Security Realm",
|
||
|
|
"description": "Define the security realm to access the infinispan instance",
|
||
|
|
"type": "string",
|
||
|
|
"default": "default"
|
||
|
|
},
|
||
|
|
"securityServerName": {
|
||
|
|
"title": "Security Server name",
|
||
|
|
"description": "Define the security server name to access the infinispan instance",
|
||
|
|
"type": "string",
|
||
|
|
"default": "infinispan"
|
||
|
|
},
|
||
|
|
"eventTypes": {
|
||
|
|
"title": "Infinispan Cluster Name",
|
||
|
|
"description": "Specifies the set of event types to register by the consumer. Multiple event can be separated by comma without spaces.",
|
||
|
|
"type": "string",
|
||
|
|
"example": "CLIENT_CACHE_ENTRY_CREATED,CLIENT_CACHE_ENTRY_MODIFIED",
|
||
|
|
"default": "CLIENT_CACHE_ENTRY_CREATED,CLIENT_CACHE_ENTRY_MODIFIED,CLIENT_CACHE_ENTRY_REMOVED,CLIENT_CACHE_ENTRY_EXPIRED,CLIENT_CACHE_FAILOVER",
|
||
|
|
"enum": [
|
||
|
|
"CLIENT_CACHE_ENTRY_CREATED",
|
||
|
|
"CLIENT_CACHE_ENTRY_MODIFIED",
|
||
|
|
"CLIENT_CACHE_ENTRY_REMOVED",
|
||
|
|
"CLIENT_CACHE_ENTRY_EXPIRED",
|
||
|
|
"CLIENT_CACHE_FAILOVER"
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"dependencies": [
|
||
|
|
"camel:kamelet",
|
||
|
|
"camel:core",
|
||
|
|
"camel:infinispan"
|
||
|
|
],
|
||
|
|
"template": {
|
||
|
|
"beans": [
|
||
|
|
{
|
||
|
|
"name": "local-infinispan",
|
||
|
|
"type": "#class:org.apache.camel.component.infinispan.remote.InfinispanRemoteComponent"
|
||
|
|
}
|
||
|
|
],
|
||
|
|
"from": {
|
||
|
|
"uri": "{{local-infinispan}}:{{cacheName}}",
|
||
|
|
"parameters": {
|
||
|
|
"hosts": "{{hosts}}",
|
||
|
|
"secure": "{{secure}}",
|
||
|
|
"username": "{{username}}",
|
||
|
|
"password": "{{password}}",
|
||
|
|
"saslMechanism": "{{saslMechanism}}",
|
||
|
|
"securityRealm": "{{securityRealm}}",
|
||
|
|
"securityServerName": "{{securityServerName}}",
|
||
|
|
"eventTypes": "{{eventTypes}}"
|
||
|
|
},
|
||
|
|
"steps": [
|
||
|
|
{
|
||
|
|
"setHeader": {
|
||
|
|
"name": "infinispan-cache-name",
|
||
|
|
"simple": "${header[CamelInfinispanCacheName]}"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"setHeader": {
|
||
|
|
"name": "ce-infinispancachename",
|
||
|
|
"simple": "${header[CamelInfinispanCacheName]}"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"setHeader": {
|
||
|
|
"name": "infinispan-entry-version",
|
||
|
|
"simple": "${header[CamelInfinispanEntryVersion]}"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"setHeader": {
|
||
|
|
"name": "ce-infinispanentryversion",
|
||
|
|
"simple": "${header[CamelInfinispanEntryVersion]}"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"setHeader": {
|
||
|
|
"name": "infinispan-event-type",
|
||
|
|
"simple": "${header[CamelInfinispanEventType]}"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"setHeader": {
|
||
|
|
"name": "ce-infinispaneventtype",
|
||
|
|
"simple": "${header[CamelInfinispanEventType]}"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"setHeader": {
|
||
|
|
"name": "infinispan-key",
|
||
|
|
"simple": "${header[CamelInfinispanKey]}"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"setHeader": {
|
||
|
|
"name": "ce-infinispankey",
|
||
|
|
"simple": "${header[CamelInfinispanKey]}"
|
||
|
|
}
|
||
|
|
},
|
||
|
|
{
|
||
|
|
"to": "kamelet:sink"
|
||
|
|
}
|
||
|
|
]
|
||
|
|
}
|
||
|
|
}
|
||
|
|
},
|
||
|
|
"propertiesSchema": {
|
||
|
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||
|
|
"type": "object",
|
||
|
|
"title": "Infinispan Source",
|
||
|
|
"description": "Get Events from an Infinispan cache",
|
||
|
|
"required": [
|
||
|
|
"cacheName",
|
||
|
|
"hosts",
|
||
|
|
"username",
|
||
|
|
"password"
|
||
|
|
],
|
||
|
|
"properties": {
|
||
|
|
"cacheName": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Cache Name",
|
||
|
|
"description": "The name of the Infinispan cache to use"
|
||
|
|
},
|
||
|
|
"hosts": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Hosts",
|
||
|
|
"description": "Specifies the host of the cache on Infinispan instance"
|
||
|
|
},
|
||
|
|
"secure": {
|
||
|
|
"type": "boolean",
|
||
|
|
"title": "Secure",
|
||
|
|
"description": "If the Infinispan instance is secured or not",
|
||
|
|
"default": true
|
||
|
|
},
|
||
|
|
"username": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Username",
|
||
|
|
"description": "Username to connect to Infinispan."
|
||
|
|
},
|
||
|
|
"password": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Password",
|
||
|
|
"description": "Password to connect to Infinispan.",
|
||
|
|
"format": "password"
|
||
|
|
},
|
||
|
|
"saslMechanism": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "SASL Mechanism",
|
||
|
|
"description": "The SASL Mechanism to use",
|
||
|
|
"default": "DIGEST-MD5"
|
||
|
|
},
|
||
|
|
"securityRealm": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Security Realm",
|
||
|
|
"description": "Define the security realm to access the infinispan instance",
|
||
|
|
"default": "default"
|
||
|
|
},
|
||
|
|
"securityServerName": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Security Server name",
|
||
|
|
"description": "Define the security server name to access the infinispan instance",
|
||
|
|
"default": "infinispan"
|
||
|
|
},
|
||
|
|
"eventTypes": {
|
||
|
|
"type": "string",
|
||
|
|
"title": "Infinispan Cluster Name",
|
||
|
|
"description": "Specifies the set of event types to register by the consumer. Multiple event can be separated by comma without spaces.",
|
||
|
|
"enum": [
|
||
|
|
"CLIENT_CACHE_ENTRY_CREATED",
|
||
|
|
"CLIENT_CACHE_ENTRY_MODIFIED",
|
||
|
|
"CLIENT_CACHE_ENTRY_REMOVED",
|
||
|
|
"CLIENT_CACHE_ENTRY_EXPIRED",
|
||
|
|
"CLIENT_CACHE_FAILOVER"
|
||
|
|
],
|
||
|
|
"default": "CLIENT_CACHE_ENTRY_CREATED,CLIENT_CACHE_ENTRY_MODIFIED,CLIENT_CACHE_ENTRY_REMOVED,CLIENT_CACHE_ENTRY_EXPIRED,CLIENT_CACHE_FAILOVER"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|