Filter
Select records by payload, key, header, or timestamp before they cross a boundary.
Explore the DSLRust-native selective replication
Filter, transform, redact, and route Kafka records between topics and clusters—without standing up Kafka Connect or a general-purpose stream processor.
$region == 'us' construct(order_id=$order_id) StreamForge applies routing policy while records are in motion. Downstream teams receive the fields and events they need; lower-trust destinations do not receive the data they should not have.
Select records by payload, key, header, or timestamp before they cross a boundary.
Explore the DSLExtract fields, reshape payloads, and hash or remove sensitive values in flight.
Build a pipelineFan one source topic out to distinct destinations with policy defined per output.
See examplesFirst run
The local demo starts Redpanda, validates the checked-in selective replication config, and runs StreamForge against the same file.
Follow the complete quickstart$ podman compose -f \
examples/redpanda/docker-compose.yml up -d
$ cargo run --quiet \
--bin streamforge-validate -- \
examples/redpanda/selective-replication.yaml
$ CONFIG_FILE=examples/redpanda/\
selective-replication.yaml cargo run --release \
--bin streamforgeStandalone
Run one binary with YAML-defined sources, destinations, filtering, and transformation.
Configure the binaryKubernetes
Install with Helm, declare pipelines as custom resources, and operate through Kubernetes.
Deploy on KubernetesChoose StreamForge for field-level shaping, PII-safe replication, topic fan-out, and analytics or lake delivery.
Choose MirrorMaker 2 when you need active-active replication, consumer-offset synchronization, ACL mirroring, or Kafka Connect integration.
Compare the fit