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

1001 B

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