ScriptsApr 16, 2026·3 min read

Redpanda Connect (Benthos) — Declarative Stream Processing Engine

Redpanda Connect, formerly known as Benthos, is a high-performance declarative stream processor written in Go. It connects, transforms, and routes data between any combination of sources and sinks using simple YAML configuration files.

TL;DR
Redpanda Connect pipes data between 200+ sources and sinks using declarative YAML configuration.
§01

What it is

Redpanda Connect (formerly Benthos) is a high-performance declarative stream processor written in Go. It connects, transforms, and routes data between 200+ sources and sinks using YAML configuration files. You define inputs, processors, and outputs without writing custom code.

The tool serves data engineers, backend developers, and DevOps teams who need to move and transform data between systems like Kafka, databases, APIs, and file stores.

The project is actively maintained with regular releases and a growing user community. Documentation covers common use cases, and the open-source nature means you can inspect the source code, contribute fixes, and adapt the tool to your specific requirements.

§02

How it saves time or tokens

Instead of writing custom ETL scripts for each data pipeline, Redpanda Connect lets you define the entire flow in YAML. Adding a new source or transformation is a config change, not a code change. The single-binary deployment eliminates dependency management and simplifies CI/CD.

§03

How to use

  1. Install the binary: brew install redpanda-data/tap/connect or download from GitHub releases.
  2. Create a YAML config defining your input, pipeline processors, and output.
  3. Run with rpk connect run config.yml.
§04

Example

# config.yml - Read from Kafka, transform JSON, write to PostgreSQL
input:
  kafka:
    addresses: ['localhost:9092']
    topics: ['events']
    consumer_group: 'connect-group'

pipeline:
  processors:
    - mapping: |
        root.user_id = this.user.id
        root.event = this.type
        root.timestamp = this.created_at

output:
  sql_insert:
    driver: postgres
    dsn: 'postgres://user:pass@localhost:5432/analytics'
    table: events
    columns: ['user_id', 'event', 'timestamp']
§05

Related on TokRepo

§06

Common pitfalls

  • The mapping processor uses Bloblang, a domain-specific language. Read the Bloblang docs before writing complex transformations.
  • Redpanda Connect buffers messages in memory by default. For high-throughput pipelines, configure explicit buffer limits to avoid OOM.
  • The rename from Benthos to Redpanda Connect means older tutorials reference the benthos binary. Use rpk connect for current versions.

Before adopting this tool, evaluate whether it fits your team's existing workflow. Read the official documentation thoroughly, and start with a small proof-of-concept rather than a full migration. Community forums, GitHub issues, and Stack Overflow are valuable resources when you encounter edge cases not covered in the documentation.

Frequently Asked Questions

What is the difference between Benthos and Redpanda Connect?+

Benthos was renamed to Redpanda Connect after Redpanda acquired the project. The core functionality is the same. The CLI binary changed from benthos to rpk connect, and new connectors specific to Redpanda have been added.

How many connectors does Redpanda Connect support?+

Redpanda Connect supports 200+ connectors including Kafka, PostgreSQL, MySQL, S3, HTTP, AMQP, NATS, GCP Pub/Sub, and many more. Both source (input) and sink (output) connectors are available.

Can Redpanda Connect handle high throughput?+

Yes. Written in Go with minimal allocations, Redpanda Connect handles millions of messages per second on modest hardware. It supports parallel processing and batching for throughput optimization.

Does it require Redpanda as a message broker?+

No. Redpanda Connect works with any supported source and sink. It is broker-agnostic and connects to Kafka, RabbitMQ, NATS, or any other supported system independently of Redpanda.

How do I test pipelines before deploying?+

Use rpk connect test to run unit tests on your Bloblang mappings. You can also use the stdin/stdout connectors to test transformations locally with sample data before connecting to production systems.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets