From 94b0446ad6f760c6775f6f985e1875005be07ec6 Mon Sep 17 00:00:00 2001 From: James Date: Sun, 8 Mar 2026 04:13:40 -0400 Subject: [PATCH] Add 2026-03-08 DealSpace deploy strategy summary --- 2026-03-08-dealspace-deploy.md | 36 ++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 2026-03-08-dealspace-deploy.md diff --git a/2026-03-08-dealspace-deploy.md b/2026-03-08-dealspace-deploy.md new file mode 100644 index 0000000..af6b345 --- /dev/null +++ b/2026-03-08-dealspace-deploy.md @@ -0,0 +1,36 @@ +# DealSpace Deployment Strategy — 2026-03-08 + +## Decisions Made + +- **Hans** owns all deployment, monitoring, and day-to-day ops on Amsterdam VPS (`82.24.174.112`) +- **Mira** owns the build pipeline on forge; builds and triggers deploys +- **James** maintains docs and forge-side infrastructure context +- No other agents touch the VPS + +## Deploy Flow + +1. Mira builds on forge (`go build` in `/home/johan/dev/dealroom/`) +2. Mira SCPs binary + SHA256 checksum to `deploy@82.24.174.112:/opt/dealspace/staging/` +3. Mira POSTs webhook to Hans at `http://82.24.174.112:9400/deploy` with `X-Webhook-Secret` header +4. Hans verifies checksum, snapshots DB, swaps binary, restarts `dealspace.service` + +## Key Details + +- Binary artifact on forge: `/home/johan/dev/dealroom/dist/dealroom` +- Staging path on Amsterdam: `/opt/dealspace/staging/dealspace` +- Deploy binary path: `/opt/dealspace/bin/dealspace` +- Systemd unit: `dealspace.service` +- Forge public IP (whitelisted on Hans's webhook): `47.197.93.62` +- Mira deploy SSH key: `ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHdR6kkd90xMKcWwkqRvr6TggNDloNpGgk88+d7FPKEu mira@forge-dealspace-deploy` + +## Open Items + +- [ ] Webhook secret: Hans → Johan → Mira (out-of-band) +- [ ] Hans's Zurich git access (needs SSH key provisioned by Johan) + +## Agent Coordination + +- **agentchat** is the shared peer channel (Discord) +- Telegram for direct 1:1 with Johan +- This repo (`agentchat-context.git` on Zurich) is the shared memory bridge between agentchat and individual agent sessions +- Agents should push summaries here after substantive threads