ReductBridge for IIoT (reduct-bridge-iot) Package name

ReductStore Publisher

Install latest/stable of ReductBridge for IIoT

Ubuntu 16.04 or later?

Make sure snap support is enabled in your Desktop store.


Install using the command line

sudo snap install reduct-bridge-iot

Don't have snapd? Get set up for snaps.

Channel Version Published

Details for ReductBridge for IIoT

Package name

  • reduct-bridge-iot

License

  • Apache-2.0

Last updated

  • 4 June 2026 - latest/stable
  • 4 June 2026 - latest/edge

Websites


Contact


Source code


Report a bug


Report a Snap Store violation

Share this snap

Generate an embeddable card to be shared on external websites.

ReductBridge bridges live robotics and IIoT data in ReductStore

# Reduct Bridge

[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/reductstore/reduct-bridge)](https://github.com/reductstore/reduct-bridge/releases/latest) [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/reductstore/reduct-bridge/ci.yml?branch=main)](https://github.com/reductstore/reduct-bridge/actions) [![Docker Pulls](https://img.shields.io/docker/pulls/reduct/bridge)](https://hub.docker.com/r/reduct/bridge) [![GitHub all releases](https://img.shields.io/github/downloads/reductstore/reduct-bridge/total)](https://github.com/reductstore/reduct-bridge/releases/latest) [![codecov](https://codecov.io/gh/reductstore/reduct-bridge/branch/main/graph/badge.svg)](https://codecov.io/gh/reductstore/reduct-bridge)

ReductBridge bridges live robotics and IIoT data with long-term storage in ReductStore. You can configure the bridge using a simple TOML file to define inputs, pipelines, and remotes. Inputs produce data, pipelines route and modify it, and remotes store it.

## Inputs

An input is a data source. It reads data from a system and produces records for the bridge.

Supported input types include:

  • [HTTP](src/input/http/README.md) - poll HTTP/HTTPS endpoints on a fixed interval and store response payloads with optional JSON/header label mapping.
  • [Metrics](src/input/metrics/README.md) - collect host CPU, memory, and disk metrics as JSON records.
  • [MQTT](src/input/mqtt/README.md) - subscribe to MQTT v3/v5 topics over mqtt:// or mqtts:// and store raw payloads with optional payload/property label mapping.
  • [Shell](src/input/shell/README.md) - run shell commands on a fixed interval and store output lines as records.
  • [ROS1](src/input/ros1/README.md) - subscribe to ROS1 topics, store ROS messages, and extract labels from message fields.
  • [ROS2](src/input/ros2/README.md) - subscribe to ROS2 topics, store serialized CDR payloads, and extract labels from decoded message fields.

## Remotes

A remote is a data destination. It receives records from pipelines and writes them to external storage.

Supported remote types include:

  • [ReductStore](src/remote/reduct/README.md) - write pipeline records and attachments to ReductStore with configurable batching.

## Pipelines

Pipelines connect one or more inputs to one remote.

```toml # Pipeline definition path: # [pipelines.<pipeline_name>] [pipelines.telemetry]

# Required: remote name from [[remotes.*]]. remote = "local"

# Required: one or more input names from [inputs..]. inputs = ["ros_local"]

# Optional label rules (default = []): # 1) Static labels: # { static = { source = "robot" }, to = "" } # - adds labels to matching target entries # 2) Copy labels from one entry to another: # { from = "time", labels = ["timestamp"], to = "echo" } # - remembers labels seen on matching source entries # - applies them to matching target entries labels = [ { static = { source = "ros1" }, to = "" } ] ```

## Supported Formats

ReductBridge supports different payload formats. Support means ReductBridge can parse payloads, extract labels, and, when schema information is available, store that schema in ReductStore.

  • JSON: find values by field path (example: [examples/mqtt_config.toml](examples/mqtt_config.toml)).
  • HTTP input: poll HTTP/HTTPS endpoints and extract optional header/JSON labels (example: [examples/http_config.toml](examples/http_config.toml)).
  • Protobuf: find values by field path (with schema) or by field ID/type (example: [examples/mqtt_protobuf_config.toml](examples/mqtt_protobuf_config.toml)).
  • ROS formats: decode ROS message payloads for labels and store the payloads as records (example: [examples/ros_config.toml](examples/ros_config.toml)).

## Installation

ReductBridge is published in build types named after Cargo feature bundles: ros1, ros2, and iot. Choose the build type for the input family you need.

### Build Types

Published packages and Docker images are split into these build types so each artifact only includes the dependencies needed for its input family.

| B...


Install ReductBridge for IIoT on your Linux distribution

Choose your Linux distribution to get detailed installation instructions. If yours is not shown, get more details on the installing snapd documentation.