DeltaForge is a Change Data Capture (CDC) framework to stream db changes into downstream systems.
995
A high-performance Change Data Capture (CDC) engine built in Rust. Stream database changes to Kafka, Redis, and NATS with configurable routing, transformations, and delivery guarantees.
⚠️ Active development. APIs and configuration may change.
docker run --rm \
-p 8080:8080 \
-e MYSQL_DSN="mysql://user:pass@host:3306/db" \
-e KAFKA_BROKERS="kafka:9092" \
-v $(pwd)/pipeline.yaml:/etc/deltaforge/pipeline.yaml:ro \
-v deltaforge-checkpoints:/app/data \
ghcr.io/vnvo/deltaforge:latest \
--config /etc/deltaforge/pipeline.yaml
pipeline.yaml
apiVersion: deltaforge/v1
kind: Pipeline
metadata:
name: orders-pipeline
tenant: acme
spec:
source:
type: mysql
config:
id: mysql-src
dsn: ${MYSQL_DSN}
tables: [shop.orders]
processors:
- type: javascript
inline: |
function processBatch(events) {
return events.filter(e => e.after?.status !== 'draft');
}
- type: flatten
separator: "__"
sinks:
- type: kafka
config:
id: kafka-sink
brokers: ${KAFKA_BROKERS}
topic: cdc.${source.table}
envelope:
type: debezium
| Source | Protocol |
|---|---|
| MySQL | Binlog replication |
| PostgreSQL | Logical replication (pgoutput) |
| Processor | Description |
|---|---|
javascript | Custom transforms via V8 — filter, enrich, redact |
outbox | Transactional outbox pattern with per-aggregate routing |
flatten | Collapses nested JSON to parent__child keys (~900K events/sec) |
| Sink | Envelope formats |
|---|---|
| Kafka | Native · Debezium · CloudEvents |
| Redis Streams | Native · Debezium · CloudEvents |
| NATS JetStream | Native · Debezium · CloudEvents |
| Tag | Description |
|---|---|
latest | Latest stable release |
latest-debug | Includes shell for troubleshooting |
x.y.z | Specific version |
Images are multi-arch: linux/amd64 and linux/arm64.
| Port | Purpose |
|---|---|
8080 | REST control plane (pipeline lifecycle, health, schema endpoints) |
9000 | Prometheus metrics |
| Path | Purpose |
|---|---|
/app/data | Checkpoint storage (mount a named volume to persist across restarts) |
/etc/deltaforge/ | Pipeline config files |
Content type
Image
Digest
sha256:5ace2c80d…
Size
57.8 MB
Last updated
4 months ago
docker pull vnvohub/deltaforge:0.1.0-beta.9-debug