Files
sq/todos/SQ-024-docker-compose-e2e.md
2026-02-26 21:52:50 +01:00

33 lines
1001 B
Markdown

# SQ-024: Docker Compose & E2E Example
**Status:** `[ ] TODO`
**Blocked by:** SQ-023
**Priority:** Low
## Description
Docker Compose setup for running a 3-node SQ cluster with MinIO, plus an example publish/subscribe program.
## Files to Create/Modify
- `templates/docker-compose.yaml` - 3 sq-server instances + MinIO
- `templates/sq-server.Dockerfile` - multi-stage build
- `examples/publish_subscribe/Cargo.toml`
- `examples/publish_subscribe/src/main.rs`
- `scripts/grpc.sh` - grpcurl testing helper
## Docker Compose Services
- `minio` - S3-compatible object storage
- `sq-1` - SQ node 1 (seeds: sq-2, sq-3)
- `sq-2` - SQ node 2 (seeds: sq-1, sq-3)
- `sq-3` - SQ node 3 (seeds: sq-1, sq-2)
## Acceptance Criteria
- [ ] `docker compose up` starts all 4 services
- [ ] All 3 SQ nodes discover each other (verify via Status RPC)
- [ ] Example program publishes and consumes messages successfully
- [ ] Kill one container, cluster continues operating
- [ ] Restart container, node catches up