Commit Graph

3 Commits

Author SHA1 Message Date
jordan
6c6ee04e9c feat: complete cluster integration — SWIM gossip, gRPC server, shard rebalancing, single binary
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
8-task cluster completion bringing 3-replica StatefulSet from isolated
nodes to fully functional cluster:

1. Fix Gateway /metrics 500 (wire PrometheusHandle)
2. gRPC server + SWIM background tasks (probe, suspicion, gossip dissemination)
3. join() registers peers in membership table via PingResponse fields
4. Shard rebalancing on membership changes (deterministic round-robin)
5. API cluster wiring (DNS resolution, Gateway, gRPC, gossip broadcaster)
6. Single binary merge (stemedb-api --features cluster replaces stemedb-node)
7. Auth header forwarding (X-API-Key passed through Gateway to backends)
8. CORS restriction (STEMEDB_ALLOWED_ORIGINS env var, permissive fallback)
2026-03-07 15:09:29 -07:00
jordan
04ed854954 fix: use bash for entrypoint (wait -n requires bash, not sh)
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
2026-03-07 01:12:31 -07:00
jordan
d36de85bec feat: cluster deployment — build both stemedb-api and stemedb-node binaries
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed
- Dockerfile: build stemedb-api + stemedb-node, add entrypoint.sh
- entrypoint.sh: runs both binaries when STEMEDB_CLUSTER_MODE=true
- Woodpecker: deploy to StatefulSet instead of Deployment
2026-03-07 01:07:09 -07:00