Kafka-compatible streaming. Stateless brokers. S3 storage. Self-hosted.

Stateless Kafka on S3, compatible with your clients.

Run Kafka APIs without stateful disks. Kafscale stores log segments in S3, keeps brokers ephemeral, and uses etcd for metadata so you scale fast and recover cleanly.

GitHub stars License

Why teams adopt Kafscale

Stateless brokers

Spin brokers up and down without disk shuffles. S3 is the source of truth.

S3-native durability

Immutable segments, predictable retention, and lifecycle policies in object storage.

etcd metadata

Offsets, topics, and group state live in etcd for fast consensus and control.

Kubernetes operator

CRDs manage clusters, topics, snapshots, and UI access with clean drift control.

Quickstart in minutes

1. Install operator

helm upgrade --install kafscale deploy/helm/kafscale \
  --namespace kafscale --create-namespace \
  --set operator.etcdEndpoints={} \
  --set operator.image.tag=latest \
  --set console.image.tag=latest

2. Create your first topic

kubectl apply -n kafscale -f - <<'EOF'
apiVersion: kafscale.novatechflow.io/v1alpha1
kind: KafscaleTopic
metadata:
  name: orders
spec:
  clusterRef: demo
  partitions: 3
EOF

3. Produce and consume

kafka-console-producer --bootstrap-server 127.0.0.1:9092 --topic orders
kafka-console-consumer --bootstrap-server 127.0.0.1:9092 --topic orders --from-beginning

Operations you can trust

Prometheus metrics

Track S3 health state, broker throughput, and operator snapshots.

Scale instantly

Stateless brokers pair with HPA and avoid disk rebalancing delays.

Clear failure modes

Startup gating, S3 health states, and etcd snapshot checks keep you safe.

Deep technical reference

Protocol coverage

Support for Produce, Fetch, Metadata, consumer groups, and admin APIs.

View API docs

Storage format

Segment and index file layout plus S3 key structure for lifecycle design.

Explore storage format

Security posture

Current TLS and auth status, plus the roadmap for SASL and ACLs.

Read security overview