apache / apache/iggy

Kafka gateway: Kafka CreateTopics API (key 19) — Iggy stream/topic provisioning

Open
#3,538 0 comments 0 reactions 1 assignee Claimed by @ryerraguntla View on GitHub
gateways
Dominant language
Rust
Stars
4.9k
Forks
432
Avg merge
2d 10h
Merged PRs (30d)
173

Description

Part of #3560.

## Summary

Implement Kafka **CreateTopics (API key 19)** admin handler that creates Iggy streams and topics.

## Motivation

Allows `kafka-topics.sh --create` and auto-topic creation from producers against the gateway.

## Depends on

- #3421
- #3533 — IggyBridge core (`ensure_stream_and_topic`)

## Scope

- [ ] Decode CreateTopics request (scoped versions v2–v7)
- [ ] Map `num_partitions`, `replication_factor` (document: RF=1 or ignored; Iggy replication model)
- [ ] Create Iggy stream/topic via SDK; idempotent if exists
- [ ] Per-topic error in response (TOPIC_ALREADY_EXISTS, etc.)
- [ ] Config validation: reject unsupported Kafka topic configs with documented limits

## Acceptance criteria

- [ ] `kafka-topics.sh --create --topic test --bootstrap-server localhost:9093` succeeds
- [ ] Created topic appears in Metadata and accepts Produce

## References

- Rollout plan: https://github.com/apache/iggy/discussions/3253#discussioncomment-17181030

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.