A high-performance observability data pipeline in Rust that collects, transforms, and routes logs and metrics to any destination.
warpstreamlabs/bento
A Go stream processor that connects message brokers, cloud services and databases, with a mapping language for transforming payloads in between.
- Stars
- 2,168
- Forks
- 236
- Open issues
- 153
- Last commit
- 6 minutes ago
What is it?
Bento is a stream processor written in Go. It reads data from sources such as Kafka, NATS, Redis streams, AWS and GCP services, and SQL databases, runs it through a chain of processors, and writes it to sinks. Pipelines are declared in YAML, so a basic setup can fit in a single config file.
Processing stages include enrichment, transformation and filtering, and payloads are reshaped with Bloblang, Bento's built-in mapping language. Delivery is handled by an in-process transaction model without on-disk state, so with at-least-once sources and sinks it aims to preserve at-least-once delivery across crashes. Bento ships as a static binary, a Docker image, or a serverless function.
It exposes liveness and readiness endpoints and emits metrics to Statsd, Prometheus and other backends, plus OpenTelemetry traces. Custom components can be added as Go plugins. This repository is a fork of the original project made before its license change.
Key features
- 01Connects to Kafka, NATS, Redis, AWS, GCP, Azure, SQL databases and more as inputs and outputs.
- 02Declarative YAML pipelines with a built-in mapping language, Bloblang.
- 03Delivers at-least-once without on-disk state when sources and sinks support it.
- 04Ships as a static binary, Docker image, or serverless function.
- 05Provides /ping and /ready health endpoints plus Prometheus, Statsd and OpenTelemetry observability.
- 06Supports custom components written as Go plugins.
Use cases
- Moving events from Kafka or NATS into a database or search index with light transformation.
- Enriching or filtering a message stream before it reaches downstream services.
- Bridging cloud services such as AWS Kinesis or GCP Pub/Sub with other brokers.
- Running a lightweight containerized pipeline without operating a heavier stream platform.
Quick start
- 1
Pull the Docker image
docker pull ghcr.io/warpstreamlabs/bento - 2
Run Bento in Docker with your config file mounted
docker run --rm -v /path/to/your/config.yaml:/bento.yaml ghcr.io/warpstreamlabs/bento
Things to know
- The README says the release process is still being worked on, so there is no standard binary install yet.
- The license is not clearly identified in the project metadata.
- Some components need external C libraries and a special build tag, such as zmq4.
Topics
FAQ
- What is bento?
- A Go stream processor that connects message brokers, cloud services and databases, with a mapping language for transforming payloads in between. Bento is a stream processor written in Go. It reads data from sources such as Kafka, NATS, Redis streams, AWS and GCP services, and SQL databases, runs it through a chain of processors, and writes it to sinks. Pipelines are declared in YAML, so a basic setup can fit in a single config file.
- Is bento free to use? What license does it have?
- bento is open source under the Other license. Check the license terms before using it in commercial products.
- Is bento still maintained?
- Actively maintained. The last commit to bento was on Oct 22, 2026.
- What can I use bento for?
- Moving events from Kafka or NATS into a database or search index with light transformation. Enriching or filtering a message stream before it reaches downstream services. Bridging cloud services such as AWS Kinesis or GCP Pub/Sub with other brokers. Running a lightweight containerized pipeline without operating a heavier stream platform.
- How do I install bento?
- Pull the Docker image: docker pull ghcr.io/warpstreamlabs/bento Run Bento in Docker with your config file mounted: docker run --rm -v /path/to/your/config.yaml:/bento.yaml ghcr.io/warpstreamlabs/bento
- Where can I get bento?
- The source code and installation instructions are on GitHub: https://github.com/warpstreamlabs/bento
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Python ETL framework for stream processing, real-time analytics, LLM pipelines and RAG, powered by a Rust engine.
Rust stream processing engine that runs SQL, Python UDFs and ML/LLM steps over real-time data from Kafka, MQTT, NATS and other sources.
Open-source data movement platform for ELT pipelines, moving data from APIs, databases and files into warehouses, lakes and AI applications.
CLI and data pipeline that syncs cloud and SaaS infrastructure metadata into a data warehouse for SQL querying, asset inventory, and security analysis.
Apache NiFi is a system for automating, routing, and monitoring data flows between sources and destinations, managed through a browser UI.