Ecosystem Architecture
Modular dependency layers across the krabka-io ecosystem.
Krabka is architected as 11 decoupled repositories with strict dependency layering. The broker sits on top of krabka-protocol and krabka-client-rs without cyclic dependencies.
| Repository | Subsystems & Purpose |
|---|---|
| krabka-protocol | Wire codecs, KRaft metadata records, SASL/TLS, compression (snappy/lz4/zstd) |
| krabka-client-rs | Tokio async Kafka client (Producer, Consumer, Admin) |
| krabka-broker | Broker engine, KRaft consensus (krabka-raft), on-disk log (krabka-log), tiered storage |
| krabka-streams-rs | Rust stream runtime with schema registry serdes |
| krabka-streams-go | Go stream processing with Apache Arrow batch memory & barrier cuts |
| krabka-streams-java | Java stream processing with Kafka Streams 4.x and columnar operators |
| krabka-operator | Kubernetes operator reconciling krabka.io/v1alpha1 custom resources |
| krabka-connect | Connector framework, PostgreSQL CDC over pgoutput, worker runtime & replicator |
| krabka-o11y | OpenTelemetry, PromQL metrics, pprof continuous profiling, OCSF audit logs |
| krabka-cli | Admin and cluster formatting CLI tool |