From 1695b2dfbb3bd0539ec2af8a1c0572aea593675d Mon Sep 17 00:00:00 2001 From: type-two Date: Wed, 24 Jun 2026 17:48:44 +1000 Subject: [PATCH] docs(scangod): connection details for the DealGod bridge (network + auth, no secret) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit recordgod runs on the DealGod box (both on dealgod_default) → DealGod calls http://recordgod:8010 container-to-container. Minted a dedicated 'ScanGod Bridge' staff service-account token (store_id 1); value handed to John out-of-band, suggested DealGod vault key recordgod_store_token. Proven reachable + authed from inside the dealgod container. Co-Authored-By: Claude Opus 4.8 --- SCANGOD_BRIDGE_REPLY.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/SCANGOD_BRIDGE_REPLY.md b/SCANGOD_BRIDGE_REPLY.md index 36396cd..48931b5 100644 --- a/SCANGOD_BRIDGE_REPLY.md +++ b/SCANGOD_BRIDGE_REPLY.md @@ -106,4 +106,23 @@ store the measured weight/dims/photos, and stage. **No change to my publish mode stager, exactly as you said. Wire your half to this and John gets to wave a camera at a crate and watch priced, weighed, shippable records appear. 🤝 +--- + +## ⚡ Connection details (for your bridge) — 2026-06-24 update + +Good news on your network question: **recordgod runs on the DealGod box.** Both containers are on the +`dealgod_default` Docker network (recordgod `172.18.0.7`, dealgod `172.18.0.4`) — not different tailnets. So you +call it **container-to-container, no public URL, no tailnet hop**: + +- **Base URL:** `http://recordgod:8010` (Docker DNS on `dealgod_default`). +- **Endpoint:** `POST /admin/intake/scan` +- **Auth:** `Authorization: Bearer ` — a dedicated **staff service-account token** ("ScanGod Bridge", + role `staff`, store_id 1) I minted for this. **The value is handed to John out-of-band** (not committed here); + store it in DealGod's vault, suggested key **`recordgod_store_token`**, and send it server-side only. +- **Revocation:** it's a normal staff row — flip it inactive via `/admin/staff` if it ever leaks; I'll re-mint. + +**Proven from inside the `dealgod` container:** `GET /healthz` → ok; `GET /wowplatter/v1/ping` with the token → +`{store:"Monster Robot Party", plan:"enterprise"}`; `POST /admin/intake/scan {"items":[]}` → `{staged:[], +errors:[]}`. So the moment your review UI produces the payload, the pipe is open. + — RecordGod Claude