Add kamelet definition: mongodb-source
This commit is contained in:
parent
a18db8f57b
commit
e5374c57d2
193
kamelet.json
Normal file
193
kamelet.json
Normal file
@ -0,0 +1,193 @@
|
|||||||
|
{
|
||||||
|
"apiVersion": "camel.apache.org/v1",
|
||||||
|
"kind": "Kamelet",
|
||||||
|
"metadata": {
|
||||||
|
"name": "mongodb-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,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMzEgNjciIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9IjEiIHk9IjEiLz48c3ltYm9sIGlkPSJBIiBvdmVyZmxvdz0idmlzaWJsZSI+PGcgc3Ryb2tlPSJub25lIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjxwYXRoIGQ9Ik0xNC4xNzQuMTc1bDEuNzA4IDMuMjA4Yy4zNzEuNTc5LjgwNCAxLjExNyAxLjI5IDEuNjA0IDEuNDMgMS40MyAyLjc4OCAyLjkyOCA0LjAwOCA0LjUzMiAyLjg5NCAzLjggNC44NDYgOCA2LjI0IDEyLjU4NGEzMC45NCAzMC45NCAwIDAgMSAxLjMyNCA4LjU0Yy4xNCA4LjY0Ni0yLjgyNCAxNi4wNy04LjggMjIuMjQtLjk3Mi45NzgtMi4wMjIgMS44NzYtMy4xNCAyLjY4NC0uNTkyIDAtLjg3Mi0uNDU0LTEuMTE2LS44NzItLjQ1NC0uNzY2LS43MzItMS42NC0uODcyLTIuNTEtLjIxLTEuMDQ2LS4zNDgtMi4wOTItLjI4LTMuMTcydi0uNDg4Yy0uMDQ4LS4xMjQtLjU3LTQ4LjEyNC0uMzYyLTQ4LjM1eiIgZmlsbD0iIzU5OTYzNiIvPjxwYXRoIGQ9Ik0xNC4xNzQuMDY5Yy0uMDctLjE0LS4xNC0uMDM0LS4yMS4wMzQuMDM0LjctLjIxIDEuMzI0LS41OTIgMS45Mi0uNC41OTItLjk3NiAxLjA0Ni0xLjUzNCAxLjUzNC0zLjEgMi42ODQtNS41NCA1LjkyNi03LjQ5NCA5LjU1Mi0yLjYgNC44OC0zLjk0IDEwLjExLTQuMzIgMTUuNjE2LS4xNzQgMS45ODYuNjI4IDguOTk0IDEuMjU0IDExLjAxNiAxLjcwOCA1LjM2OCA0Ljc3NiA5Ljg2NiA4Ljc1IDEzLjc3YTM1LjA4IDM1LjA4IDAgMCAwIDMuMSAyLjY1Yy4zMTQgMCAuMzQ4LS4yOC40LS40ODhhOS41NyA5LjU3IDAgMCAwIC4zMTQtMS4zNmwuNy01LjIyOEwxNC4xNzQuMDY5eiIgZmlsbD0iIzZjYWM0OCIvPjxwYXRoIGQ9Ik0xNS44ODIgNTcuNjkxYy4wNy0uOC40NTQtMS40NjQuODcyLTIuMTI2LS40LS4xNzQtLjczMi0uNTItLjk3Ni0uOTA2YTYuNDcgNi40NyAwIDAgMS0uNTItMS4xNWMtLjQ4OC0xLjQ2NC0uNTkyLTMtLjczMi00LjQ5NnYtLjkwNmMtLjE3NC4xNC0uMjEgMS4zMjQtLjIxIDEuNS0uMTAyIDEuNTgxLS4zMTIgMy4xNTQtLjYyOCA0LjcwNi0uMTA0LjYyOC0uMTc0IDEuMjU0LS41NiAxLjgxMiAwIC4wNyAwIC4xNC4wMzQuMjQ0LjYyOCAxLjg0OC44IDMuNzMuOTA2IDUuNjQ4di43YzAgLjgzNi0uMDM0LjY2LjY2Ljk0LjI4LjEwNC41OTIuMTQuODcyLjM0OC4yMSAwIC4yNDQtLjE3NC4yNDQtLjMxNGwtLjEwNC0xLjE1di0zLjIwOGMtLjAzNC0uNTYuMDctMS4xMTYuMTQtMS42NHoiIGZpbGw9IiNjMmJmYmYiLz48L2c+PC9zeW1ib2w+PC9zdmc+",
|
||||||
|
"camel.apache.org/provider": "Apache Software Foundation",
|
||||||
|
"camel.apache.org/kamelet.group": "MongoDB",
|
||||||
|
"camel.apache.org/kamelet.namespace": "Nosql"
|
||||||
|
},
|
||||||
|
"labels": {
|
||||||
|
"camel.apache.org/kamelet.type": "source"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"spec": {
|
||||||
|
"definition": {
|
||||||
|
"title": "MongoDB Source",
|
||||||
|
"description": "Consume data from MongoDB.",
|
||||||
|
"required": [
|
||||||
|
"hosts",
|
||||||
|
"collection",
|
||||||
|
"database"
|
||||||
|
],
|
||||||
|
"type": "object",
|
||||||
|
"properties": {
|
||||||
|
"hosts": {
|
||||||
|
"title": "MongoDB Hosts",
|
||||||
|
"description": "A comma-separated list of MongoDB host addresses in `host:port` format.",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"collection": {
|
||||||
|
"title": "MongoDB Collection",
|
||||||
|
"description": "The name of the MongoDB collection to bind to this endpoint.",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"password": {
|
||||||
|
"title": "MongoDB Password",
|
||||||
|
"description": "The user password for accessing MongoDB.",
|
||||||
|
"type": "string",
|
||||||
|
"format": "password",
|
||||||
|
"x-descriptors": [
|
||||||
|
"urn:camel:group:credentials"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"username": {
|
||||||
|
"title": "MongoDB Username",
|
||||||
|
"description": "The username for accessing MongoDB. The username must be present in the MongoDB's authentication database (`authenticationDatabase`). By default, the MongoDB `authenticationDatabase` is 'admin'.",
|
||||||
|
"type": "string",
|
||||||
|
"x-descriptors": [
|
||||||
|
"urn:camel:group:credentials"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"ssl": {
|
||||||
|
"title": "Enable Ssl for Mongodb Connection",
|
||||||
|
"description": "whether to enable ssl connection to mongodb",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
"sslValidationEnabled": {
|
||||||
|
"title": "Enables Ssl Certificates Validation and Host name checks.",
|
||||||
|
"description": "IMPORTANT this should be disabled only in test environment since can pose security issues.",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
"database": {
|
||||||
|
"title": "MongoDB Database",
|
||||||
|
"description": "The name of the MongoDB database.",
|
||||||
|
"type": "string"
|
||||||
|
},
|
||||||
|
"persistentTailTracking": {
|
||||||
|
"title": "MongoDB Persistent Tail Tracking",
|
||||||
|
"description": "Specifies to enable persistent tail tracking, which is a mechanism to keep track of the last consumed data across system restarts. The next time the system is up, the endpoint recovers the cursor from the point where it last stopped consuimg data. This option will only work on capped collections.",
|
||||||
|
"type": "boolean",
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"tailTrackIncreasingField": {
|
||||||
|
"title": "MongoDB Tail Track Increasing Field",
|
||||||
|
"description": "The correlation field in the incoming data which is of increasing nature and is used to position the tailing cursor every time it is generated.",
|
||||||
|
"type": "string"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"dependencies": [
|
||||||
|
"camel:kamelet",
|
||||||
|
"camel:mongodb",
|
||||||
|
"camel:jackson"
|
||||||
|
],
|
||||||
|
"template": {
|
||||||
|
"beans": [
|
||||||
|
{
|
||||||
|
"name": "local-mongodb",
|
||||||
|
"type": "#class:org.apache.camel.component.mongodb.MongoDbComponent"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "mongo-client",
|
||||||
|
"type": "#class:org.apache.camel.component.mongodb.SslAwareMongoClient",
|
||||||
|
"properties": {
|
||||||
|
"password": "{{?password}}",
|
||||||
|
"username": "{{?username}}",
|
||||||
|
"hosts": "{{hosts}}",
|
||||||
|
"ssl": "{{ssl}}",
|
||||||
|
"sslValidationEnabled": "{{sslValidationEnabled}}"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"from": {
|
||||||
|
"uri": "{{local-mongodb}}:test",
|
||||||
|
"parameters": {
|
||||||
|
"collection": "{{collection}}",
|
||||||
|
"database": "{{database}}",
|
||||||
|
"persistentTailTracking": "{{persistentTailTracking}}",
|
||||||
|
"tailTrackIncreasingField": "{{?tailTrackIncreasingField}}",
|
||||||
|
"mongoConnection": "#{{mongo-client}}"
|
||||||
|
},
|
||||||
|
"steps": [
|
||||||
|
{
|
||||||
|
"marshal": {
|
||||||
|
"json": {}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"to": "kamelet:sink"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"propertiesSchema": {
|
||||||
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
||||||
|
"type": "object",
|
||||||
|
"title": "MongoDB Source",
|
||||||
|
"description": "Consume data from MongoDB.",
|
||||||
|
"required": [
|
||||||
|
"hosts",
|
||||||
|
"collection",
|
||||||
|
"database"
|
||||||
|
],
|
||||||
|
"properties": {
|
||||||
|
"hosts": {
|
||||||
|
"type": "string",
|
||||||
|
"title": "MongoDB Hosts",
|
||||||
|
"description": "A comma-separated list of MongoDB host addresses in `host:port` format."
|
||||||
|
},
|
||||||
|
"collection": {
|
||||||
|
"type": "string",
|
||||||
|
"title": "MongoDB Collection",
|
||||||
|
"description": "The name of the MongoDB collection to bind to this endpoint."
|
||||||
|
},
|
||||||
|
"password": {
|
||||||
|
"type": "string",
|
||||||
|
"title": "MongoDB Password",
|
||||||
|
"description": "The user password for accessing MongoDB.",
|
||||||
|
"format": "password"
|
||||||
|
},
|
||||||
|
"username": {
|
||||||
|
"type": "string",
|
||||||
|
"title": "MongoDB Username",
|
||||||
|
"description": "The username for accessing MongoDB. The username must be present in the MongoDB's authentication database (`authenticationDatabase`). By default, the MongoDB `authenticationDatabase` is 'admin'."
|
||||||
|
},
|
||||||
|
"ssl": {
|
||||||
|
"type": "boolean",
|
||||||
|
"title": "Enable Ssl for Mongodb Connection",
|
||||||
|
"description": "whether to enable ssl connection to mongodb",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
"sslValidationEnabled": {
|
||||||
|
"type": "boolean",
|
||||||
|
"title": "Enables Ssl Certificates Validation and Host name checks.",
|
||||||
|
"description": "IMPORTANT this should be disabled only in test environment since can pose security issues.",
|
||||||
|
"default": true
|
||||||
|
},
|
||||||
|
"database": {
|
||||||
|
"type": "string",
|
||||||
|
"title": "MongoDB Database",
|
||||||
|
"description": "The name of the MongoDB database."
|
||||||
|
},
|
||||||
|
"persistentTailTracking": {
|
||||||
|
"type": "boolean",
|
||||||
|
"title": "MongoDB Persistent Tail Tracking",
|
||||||
|
"description": "Specifies to enable persistent tail tracking, which is a mechanism to keep track of the last consumed data across system restarts. The next time the system is up, the endpoint recovers the cursor from the point where it last stopped consuimg data. This option will only work on capped collections.",
|
||||||
|
"default": false
|
||||||
|
},
|
||||||
|
"tailTrackIncreasingField": {
|
||||||
|
"type": "string",
|
||||||
|
"title": "MongoDB Tail Track Increasing Field",
|
||||||
|
"description": "The correlation field in the incoming data which is of increasing nature and is used to position the tailing cursor every time it is generated."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user