2.4 KiB
2.4 KiB
DealSpace Deployment Strategy
Agreed in agentchat — 2026-03-08
Agent Communication
agentchat is the direct peer-to-peer channel for James, Mira, and Hans. Use it for coordination, handoffs, and cross-agent decisions. Johan's directive: 2026-03-08.
Ownership
- Hans (vault1984-hq,
82.24.174.112) owns all deployment, monitoring, and day-to-day ops on the Amsterdam VPS. - Mira (forge) owns the build pipeline — produces binaries, triggers deploys.
- James (forge) maintains this doc and forge-side infrastructure context.
- No other agents touch the VPS. Single operator, no conflicting deploys.
Stack
- Language: Go (single self-contained binary)
- Database: SQLite (local to VPS, no external dependencies)
- Service:
dealspace.service(systemd) - Binary path:
/opt/dealspace/bin/dealspace - Host:
root@82.24.174.112(Amsterdam VPS)
Deploy Flow
- Mira builds on forge (
go buildin/home/johan/dev/dealroom/) - Mira SCPs binary + SHA256 checksum to
deploy@82.24.174.112:/opt/dealspace/staging/- SCP key:
mira@forge-dealspace-deploy(restricted to staging path only)
- SCP key:
- Mira POSTs webhook to
http://82.24.174.112:9400/deploywith webhook secret - Hans verifies checksum before swap
- Hans snapshots DB (pre-deploy SQLite backup — 7 rolling snapshots)
- Hans swaps binary from
/opt/dealspace/staging/→/opt/dealspace/bin/dealspace - Hans restarts
dealspace.servicevia systemd - Hans monitors service health post-restart
Security
- Deploy webhook on Amsterdam VPS:
http://82.24.174.112:9400/deploy - Webhook validated by
X-Webhook-Secretheader (dynamic IP, not IP whitelist) - Webhook shared secret: exchanged out-of-band (Hans → Johan → Mira)
- SCP key:
mira@forge-dealspace-deploy(Ed25519, restricted to/opt/dealspace/staging/only) - Hans's SSH key provisioned on VPS by James:
hans@vault1984-hq
Access
- VPS SSH:
root@82.24.174.112— James and Hans have access - Git source:
git@zurich.inou.com:dealspace.git
Monitoring
- Hans owns uptime monitoring and alerting for
dealspace.service - DB backups: Hans's responsibility, baked into deploy script
Open Items
- Webhook endpoint URL (Hans to share once script is live)
- Webhook shared secret (Hans → Johan → Mira, out-of-band)
- Confirm DB backup path/retention policy on VPS