Add kamelet definition: mongodb-changes-stream-source
This commit is contained in:
parent
89c49cd065
commit
4bf82d556f
92
kamelet.yaml
Normal file
92
kamelet.yaml
Normal file
@ -0,0 +1,92 @@
|
||||
apiVersion: camel.apache.org/v1
|
||||
kind: Kamelet
|
||||
metadata:
|
||||
name: mongodb-changes-stream-source
|
||||
annotations:
|
||||
camel.apache.org/kamelet.support.level: "Stable"
|
||||
camel.apache.org/catalog.version: "4.10.2"
|
||||
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 Changes Stream Source"
|
||||
description: |-
|
||||
Consume Changes from MongoDB Collection in streaming mode.
|
||||
required:
|
||||
- hosts
|
||||
- collection
|
||||
- database
|
||||
type: object
|
||||
properties:
|
||||
hosts:
|
||||
title: MongoDB Hosts
|
||||
description: Comma separated list of MongoDB Host Addresses in host:port format.
|
||||
type: string
|
||||
collection:
|
||||
title: MongoDB Collection
|
||||
description: Sets the name of the MongoDB collection to bind to this endpoint.
|
||||
type: string
|
||||
password:
|
||||
title: MongoDB Password
|
||||
description: User password for accessing MongoDB.
|
||||
type: string
|
||||
format: password
|
||||
x-descriptors:
|
||||
- urn:camel:group:credentials
|
||||
username:
|
||||
title: MongoDB Username
|
||||
description: 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: Sets the name of the MongoDB database to target.
|
||||
type: string
|
||||
streamFilter:
|
||||
title: Stream Filter
|
||||
description: Filter condition for change streams consumer.
|
||||
type: string
|
||||
example: "{ '$match':{'$or':[{'fullDocument.stringValue': 'specificValue'}]} }"
|
||||
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.kamelet.utils.mongodb.SslAwareMongoClient"
|
||||
properties:
|
||||
password: "{{?password}}"
|
||||
username: "{{?username}}"
|
||||
hosts: "{{hosts}}"
|
||||
ssl: "{{ssl}}"
|
||||
sslValidationEnabled: "{{sslValidationEnabled}}"
|
||||
from:
|
||||
uri: "{{local-mongodb}}:test"
|
||||
parameters:
|
||||
collection: "{{collection}}"
|
||||
database: "{{database}}"
|
||||
consumerType: "changeStreams"
|
||||
streamFilter: "{{?streamFilter}}"
|
||||
mongoConnection: "#{{mongo-client}}"
|
||||
steps:
|
||||
- marshal:
|
||||
json: {}
|
||||
- to: kamelet:sink
|
||||
Loading…
Reference in New Issue
Block a user