13 releases (7 breaking)

0.21.0 May 30, 2026
0.19.1 Mar 29, 2026
0.18.1 Dec 8, 2025
0.18.0 Nov 30, 2025
0.1.0 Apr 20, 2025

#18 in #time-series-database


Used in 2 crates

MIT/Apache

540KB
12K SLoC

English | 简体中文

rmqtt-bridge-egress-reductstore

crates.io

ReductStore egress bridge. Forwards MQTT publish messages to a ReductStore time-series database.

Overview

Connects to a ReductStore HTTP API server and stores MQTT messages as time-series entries organized by bucket and entry key.

Usage

rmqtt-bridge-egress-reductstore = "0.22"
rmqtt_bridge_egress_reductstore::register(&scx, true, false).await?;

Configuration

File: rmqtt-bridge-egress-reductstore.toml

[[bridges]]
enable = true
name = "bridge_reductstore_1"
# ReductStore HTTP API server
servers = "http://127.0.0.1:8383"
producer_name_prefix = "producer_1"
# API token for authentication
# api_token = ""
# HTTP request timeout
# timeout = "15s"
disable_ssl = false

[[bridges.entries]]
# Local topic filter to match messages for forwarding
local.topic_filter = "local/topic1/egress/#"

remote.bucket = "bucket1"          # ReductStore bucket name
remote.entry = "test1"             # ReductStore entry key
remote.quota_size = 1_000_000_000  # Bucket quota size
remote.exist_ok = true             # Don't fail if bucket exists
remote.forward_all_from = true     # Forward from metadata (from_type, from_node, etc.)
remote.forward_all_publish = true  # Forward publish metadata (dup, retain, qos, etc.)

Config Options

Option Type Default Description
bridges[].enable bool true Enable this bridge
bridges[].name string Bridge identifier
bridges[].servers string ReductStore HTTP URL
bridges[].producer_name_prefix string Producer name prefix
bridges[].api_token string API authentication token
bridges[].timeout string "15s" HTTP request timeout
bridges[].disable_ssl bool false Disable SSL verification
bridges[].entries[].local.topic_filter string Local topic filter for forwarding
bridges[].entries[].remote.bucket string ReductStore bucket name
bridges[].entries[].remote.entry string ReductStore entry key
bridges[].entries[].remote.quota_size u64 Bucket quota in bytes
bridges[].entries[].remote.exist_ok bool true Allow existing bucket
bridges[].entries[].remote.forward_all_from bool true Forward source metadata
bridges[].entries[].remote.forward_all_publish bool true Forward publish metadata
bridges[].entries[].remote.skip_levels u32 0 Topic levels to skip in ${local.topic}

Dependencies

rmqtt (feature plugin), reduct-rs, tokio

License

MIT OR Apache-2.0

Dependencies

~24–41MB
~594K SLoC