docs(signal-cli): document K8s networking limitation and current astro-orbiter production setup

- Production gateway on astro-orbiter VM working correctly
- K8s deployment ready but cannot complete Signal registration
- Signal servers reject WebSocket connections from K8s cluster network path
- Document migration procedure for when astro-orbiter is decommissioned
This commit is contained in:
Hermes Agent service account
2026-06-17 23:48:17 -05:00
parent 53883108d8
commit 0e4d229df2

View File

@@ -101,11 +101,33 @@ Files were moved from `cluster/platform/connections/` to `cluster/applications/s
- ✅ application.yaml (updated source path)
- ✅ ingress.yaml (newly created)
## Current Status
**Production Gateway**: astro-orbiter VM (10.1.71.130:8080)
- signal-cli 0.14.3 native daemon mode with HTTP JSON-RPC API
- Account +126****8840 registered and operational
- Hermes connected via SIGNAL_HTTP_URL=http://10.1.71.130:8080
**K8s Deployment Status**:
- ✅ Infrastructure deployed and ready (ingress, PVC, service)
- ✅ Native signal-cli daemon running in multi-account mode
- ✅ Ingress accessible at https://connections.local.mk-labs.cloud
- ❌ Cannot complete Signal registration from K8s network path
- Linking fails with "Connection closed unexpectedly" during WebSocket handshake
- Signal servers reject connections from K8s cluster (HTTP 499, same on all nodes)
- Issue persists with hostNetwork=true
- Likely NAT/firewall/IP reputation blocking Signal WebSocket connections
**When Migrating from Astro-Orbiter**:
1. Link account from a non-K8s VM (e.g., carousel-of-progress)
2. Copy working signal-cli data to K8s PVC
3. Update Hermes: SIGNAL_HTTP_URL=https://connections.local.mk-labs.cloud
4. Restart Hermes gateway
## Next Steps
1. **DNS Configuration**: Ensure `connections.local.mk-labs.cloud` resolves to the nginx-ingress controller IP
2. **Registration**: Register a Signal phone number via the REST API
3. **Integration**: Configure Hermes to use this endpoint for Signal notifications
1. **Investigate K8s egress networking** - why Signal rejects WebSocket connections from cluster
2. **Alternative**: Keep Signal gateway on dedicated VM outside K8s
## Monitoring