Files
sq/todos/SQ-013-topic-management.md
2026-02-27 12:15:43 +01:00

26 lines
871 B
Markdown

# SQ-013: Control Plane - Topic Management
**Status:** `[x] DONE`
**Blocked by:** SQ-012
**Priority:** Medium
## Description
Implement the ControlPlane gRPC service for topic CRUD operations.
## Files to Create/Modify
- `crates/sq-server/src/grpc/control_plane.rs` - ControlPlaneService impl
- `crates/sq-storage/src/topic_metadata.rs` - topic registry (file-backed)
- `crates/sq-server/src/grpc/mod.rs` - register ControlPlane service
## Acceptance Criteria
- [ ] CreateTopic: creates topic with specified partitions and replication factor
- [ ] CreateTopic: duplicate name returns AlreadyExists
- [ ] ListTopics: returns all created topics
- [ ] DescribeTopic: returns partition info with earliest/latest offsets
- [ ] DeleteTopic: removes topic from registry
- [ ] Publish to deleted topic: returns NotFound
- [ ] Topic metadata persists across server restarts