26 lines
871 B
Markdown
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
|