Complete pipeline configurations demonstrating common DeltaForge use cases. Each example is ready to run with minimal modifications.
| Example | Source | Sink(s) | Key Features |
| MySQL to Redis | MySQL | Redis | JavaScript processor, PII redaction |
| Turso to Kafka | Turso/libSQL | Kafka | Native CDC, CloudEvents envelope |
| PostgreSQL to NATS | PostgreSQL | NATS | Logical replication, CloudEvents |
| Multi-Sink Fan-Out | MySQL | Kafka + Redis + NATS | Multiple envelopes, selective checkpointing |
| Event Filtering | MySQL | Kafka | JavaScript filtering, PII redaction |
| Schema Sensing | PostgreSQL | Kafka | JSON schema inference, drift detection |
| Production Kafka | PostgreSQL | Kafka | SASL/SSL auth, exactly-once, tuning |
| Cache Invalidation | MySQL | Redis | CDC stream for cache invalidation workers |
| Audit Trail | PostgreSQL | Kafka | Compliance logging, PII redaction |
| Analytics Preprocessing | MySQL | Kafka + Redis | Metrics enrichment, analytics stream |
| Outbox Pattern | MySQL | Kafka | Transactional outbox, raw payload, per-aggregate routing |
- Set environment variables for your database and sink connections
- Copy the example to a
.yaml file
- Run DeltaForge:
cargo run -p runner -- --config your-pipeline.yaml
| Example | Description |
| Audit Trail | SOC2/HIPAA/GDPR-compliant change tracking |
All sinks support configurable envelopes. Add to any sink config:
sinks:
- type: kafka
config:
# ... other config
envelope:
type: cloudevents # or: native, debezium
type_prefix: "com.example" # required for cloudevents
encoding: json
See Envelopes and Encodings for details.
Fan out to multiple destinations with different formats:
sinks:
- type: kafka
config:
id: primary-kafka
envelope:
type: debezium
required: true # Must succeed for checkpoint
- type: redis
config:
id: cache-redis
envelope:
type: native
required: false # Best-effort, won't block checkpoint
See Sinks documentation for multi-sink patterns.
Automatically discover JSON structure in your data:
schema_sensing:
enabled: true
deep_inspect:
enabled: true
max_depth: 3
sampling:
warmup_events: 100
sample_rate: 10
See Schema Sensing for configuration options.