| Crates.io | mrcond |
| lib.rs | mrcond |
| version | 0.1.0 |
| created_at | 2025-06-20 23:19:47.618222+00 |
| updated_at | 2025-06-20 23:19:47.618222+00 |
| description | MongoDB to RabbitMQ connector daemon - CLI tool for streaming MongoDB change events to RabbitMQ |
| homepage | |
| repository | https://github.com/f-squirrel/mrcond |
| max_upload_size | |
| id | 1720363 |
| size | 138,967 |
A production-ready CLI daemon for streaming MongoDB change events to RabbitMQ, built on the mrcon library.
/health (returns HTTP 200 OK).Build and run the daemon with your configuration:
cargo build --release
./target/release/mrcond --config config.yaml --prefix MYAPP
Or use Docker Compose for local integration testing:
make run
MongoDB-RabbitMQ Connector Daemon
Usage: mrcond [OPTIONS]
Options:
-c, --config <CONFIG> Path to config file (YAML) [default: /app/config.yaml]
-p, --prefix <PREFIX> Prefix for environment variables [default: MRCON]
-h, --help Print help
-V, --version Print version
Example:
collections:
- watched:
db_name: "test"
coll_name: "testcoll"
change_stream_pre_and_post_images: false
resume_tokens:
tokens_db_name: "test"
tokens_coll_name: "resume_tokens"
tokens_coll_capped: true
tokens_coll_size_in_bytes: 1048576
rabbitmq:
stream_name: "testqueue"
db_name: Database name.coll_name: Collection name.change_stream_pre_and_post_images: Enable pre/post images (bool).tokens_db_name: Database for tokens.tokens_coll_name: Collection for tokens.tokens_coll_capped: Use capped collection (bool).tokens_coll_size_in_bytes: Size for capped collection.stream_name: Queue/stream name.You can set MongoDB and RabbitMQ connection strings, as well as log level, using environment variables with the configured prefix (default: MRCON).
Examples:
# Set MongoDB connection string
MRCON_CONNECTIONS__MONGO_URI=mongodb://localhost:27017
# Set RabbitMQ connection string
MRCON_CONNECTIONS__RABBITMQ_URI=amqp://guest:guest@localhost:5672/
# Set log level (info, debug, warn, etc.)
MRCON_LOG=info
--prefix (default: MRCON).A health endpoint is available at http://localhost:3000/health and returns HTTP 200 OK.
Licensed under the MIT License. See the main repository for details.