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.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 Source" description: |- Consume data from MongoDB. If you enable the `persistentTailTracking` property, the consumer keeps track of the last consumed message and, on the next restart, the consumption restarts from that message. If you enable `persistentTailTracking`, you must provide a value for the `tailTrackIncreasingField` property (by default it is optional). If you disable the `persistentTailTracking` property, the consumer consumes the whole collection and waits in idle for new data to consume. The collection that provides the data must be a capped collection. 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.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}}" persistentTailTracking: "{{persistentTailTracking}}" tailTrackIncreasingField: "{{?tailTrackIncreasingField}}" mongoConnection: "#{{mongo-client}}" steps: - marshal: json: {} - to: kamelet:sink