Add kamelet definition: spring-rabbitmq-sink
This commit is contained in:
parent
d8f11cdbac
commit
80d5c3a979
203
kamelet.json
Normal file
203
kamelet.json
Normal file
@ -0,0 +1,203 @@
|
||||
{
|
||||
"apiVersion": "camel.apache.org/v1",
|
||||
"kind": "Kamelet",
|
||||
"metadata": {
|
||||
"name": "spring-rabbitmq-sink",
|
||||
"annotations": {
|
||||
"camel.apache.org/kamelet.support.level": "Preview",
|
||||
"camel.apache.org/catalog.version": "4.22.1",
|
||||
"camel.apache.org/kamelet.icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjcxcHgiIGhlaWdodD0iMjcxcHgiIHZpZXdCb3g9Ii03LjUgMCAyNzEgMjcxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj48cGF0aCBkPSJNMjQ1LjQ0IDEwOC4zMDhoLTg1LjA5YTcuNzM4IDcuNzM4IDAgMCAxLTcuNzM1LTcuNzM0di04OC42OEMxNTIuNjE1IDUuMzI3IDE0Ny4yOSAwIDE0MC43MjYgMGgtMzAuMzc1Yy02LjU2OCAwLTExLjg5IDUuMzI3LTExLjg5IDExLjg5NHY4OC4xNDNjMCA0LjU3My0zLjY5NyA4LjI5LTguMjcgOC4zMWwtMjcuODg1LjEzM2MtNC42MTIuMDI1LTguMzU5LTMuNzE3LTguMzUtOC4zMjVsLjE3My04OC4yNDFDNTQuMTQ0IDUuMzM3IDQ4LjgxNyAwIDQyLjI0IDBIMTEuODlDNS4zMjEgMCAwIDUuMzI3IDAgMTEuODk0VjI2MC4yMWMwIDUuODM0IDQuNzI2IDEwLjU2IDEwLjU1NSAxMC41NkgyNDUuNDRjNS44MzQgMCAxMC41Ni00LjcyNiAxMC41Ni0xMC41NlYxMTguODY4YzAtNS44MzQtNC43MjYtMTAuNTYtMTAuNTYtMTAuNTZ6bS0zOS45MDIgOTMuMjMzYzAgNy42NDUtNi4xOTggMTMuODQ0LTEzLjg0MyAxMy44NDRIMTY3LjY5Yy03LjY0NiAwLTEzLjg0NC02LjE5OS0xMy44NDQtMTMuODQ0di0yNC4wMDVjMC03LjY0NiA2LjE5OC0xMy44NDQgMTMuODQ0LTEzLjg0NGgyNC4wMDVjNy42NDUgMCAxMy44NDMgNi4xOTggMTMuODQzIDEzLjg0NHYyNC4wMDV6IiBmaWxsPSIjRjYwIi8+PC9zdmc+",
|
||||
"camel.apache.org/provider": "Apache Software Foundation",
|
||||
"camel.apache.org/kamelet.group": "RabbitMQ",
|
||||
"camel.apache.org/kamelet.namespace": "Messaging"
|
||||
},
|
||||
"labels": {
|
||||
"camel.apache.org/kamelet.type": "sink"
|
||||
}
|
||||
},
|
||||
"spec": {
|
||||
"definition": {
|
||||
"title": "RabbitMQ Sink",
|
||||
"description": "Send data to a RabbitMQ Broker.",
|
||||
"required": [
|
||||
"host",
|
||||
"port",
|
||||
"exchangeName"
|
||||
],
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"host": {
|
||||
"title": "Server Address",
|
||||
"description": "RabbitMQ broker address",
|
||||
"type": "string",
|
||||
"example": "localhost"
|
||||
},
|
||||
"port": {
|
||||
"title": "Server Port",
|
||||
"description": "RabbitMQ broker port",
|
||||
"type": "integer",
|
||||
"example": 5672
|
||||
},
|
||||
"routingKey": {
|
||||
"title": "Routing Key",
|
||||
"description": "The routing key to use when binding a consumer queue to the exchange",
|
||||
"type": "string"
|
||||
},
|
||||
"username": {
|
||||
"title": "Username",
|
||||
"description": "The username to access the RabbitMQ server",
|
||||
"type": "string",
|
||||
"x-descriptors": [
|
||||
"urn:camel:group:credentials"
|
||||
]
|
||||
},
|
||||
"password": {
|
||||
"title": "Password",
|
||||
"description": "The password to access the RabbitMQ server",
|
||||
"type": "string",
|
||||
"format": "password",
|
||||
"x-descriptors": [
|
||||
"urn:camel:group:credentials"
|
||||
]
|
||||
},
|
||||
"exchangeName": {
|
||||
"title": "Exchange name",
|
||||
"description": "The exchange name determines the exchange the queue is bound to.",
|
||||
"type": "string"
|
||||
},
|
||||
"queues": {
|
||||
"title": "Queue name",
|
||||
"description": "The queue to receive messages from",
|
||||
"type": "string"
|
||||
},
|
||||
"autoDeclareProducer": {
|
||||
"title": "Auto Declare Producer",
|
||||
"description": "Specifies whether the producer should auto declare binding between exchange, queue and routing key when starting",
|
||||
"type": "boolean",
|
||||
"default": false
|
||||
},
|
||||
"vhost": {
|
||||
"title": "Virtual Host",
|
||||
"description": "The virtual host",
|
||||
"type": "string",
|
||||
"default": "/"
|
||||
},
|
||||
"protocol": {
|
||||
"title": "Protocol",
|
||||
"description": "The AMQP protocol to use.",
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"amqp",
|
||||
"amqps"
|
||||
],
|
||||
"default": "amqp"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": [
|
||||
"camel:spring-rabbitmq",
|
||||
"camel:kamelet"
|
||||
],
|
||||
"template": {
|
||||
"beans": [
|
||||
{
|
||||
"name": "connectionFactory",
|
||||
"type": "#class:org.springframework.amqp.rabbit.connection.CachingConnectionFactory",
|
||||
"properties": {
|
||||
"username": "{{?username}}",
|
||||
"password": "{{?password}}",
|
||||
"uri": "{{protocol}}://{{host}}:{{port}}",
|
||||
"virtualHost": "{{vhost}}"
|
||||
}
|
||||
}
|
||||
],
|
||||
"from": {
|
||||
"uri": "kamelet:source",
|
||||
"steps": [
|
||||
{
|
||||
"to": {
|
||||
"uri": "spring-rabbitmq://{{exchangeName}}",
|
||||
"parameters": {
|
||||
"connectionFactory": "#bean:{{connectionFactory}}",
|
||||
"routingKey": "{{?routingKey}}",
|
||||
"queues": "{{?queues}}",
|
||||
"autoDeclareProducer": "{{autoDeclareProducer}}"
|
||||
}
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
},
|
||||
"propertiesSchema": {
|
||||
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||
"type": "object",
|
||||
"title": "RabbitMQ Sink",
|
||||
"description": "Send data to a RabbitMQ Broker.",
|
||||
"required": [
|
||||
"host",
|
||||
"port",
|
||||
"exchangeName"
|
||||
],
|
||||
"properties": {
|
||||
"host": {
|
||||
"type": "string",
|
||||
"title": "Server Address",
|
||||
"description": "RabbitMQ broker address"
|
||||
},
|
||||
"port": {
|
||||
"type": "integer",
|
||||
"title": "Server Port",
|
||||
"description": "RabbitMQ broker port"
|
||||
},
|
||||
"routingKey": {
|
||||
"type": "string",
|
||||
"title": "Routing Key",
|
||||
"description": "The routing key to use when binding a consumer queue to the exchange"
|
||||
},
|
||||
"username": {
|
||||
"type": "string",
|
||||
"title": "Username",
|
||||
"description": "The username to access the RabbitMQ server"
|
||||
},
|
||||
"password": {
|
||||
"type": "string",
|
||||
"title": "Password",
|
||||
"description": "The password to access the RabbitMQ server",
|
||||
"format": "password"
|
||||
},
|
||||
"exchangeName": {
|
||||
"type": "string",
|
||||
"title": "Exchange name",
|
||||
"description": "The exchange name determines the exchange the queue is bound to."
|
||||
},
|
||||
"queues": {
|
||||
"type": "string",
|
||||
"title": "Queue name",
|
||||
"description": "The queue to receive messages from"
|
||||
},
|
||||
"autoDeclareProducer": {
|
||||
"type": "boolean",
|
||||
"title": "Auto Declare Producer",
|
||||
"description": "Specifies whether the producer should auto declare binding between exchange, queue and routing key when starting",
|
||||
"default": false
|
||||
},
|
||||
"vhost": {
|
||||
"type": "string",
|
||||
"title": "Virtual Host",
|
||||
"description": "The virtual host",
|
||||
"default": "/"
|
||||
},
|
||||
"protocol": {
|
||||
"type": "string",
|
||||
"title": "Protocol",
|
||||
"description": "The AMQP protocol to use.",
|
||||
"enum": [
|
||||
"amqp",
|
||||
"amqps"
|
||||
],
|
||||
"default": "amqp"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user