Browser IDE fully verified — VS Code loading at dev-6070.zerolaghub.dev

This commit is contained in:
jester 2026-03-24 21:36:37 +00:00
parent f1270c8ede
commit 7d2784ab4a

View File

@ -44,7 +44,7 @@ Outstanding:
### Code Server Addon
Status: ✅ Installed, running, and reachable through API proxy
Status: ✅ Installed, running, browser-verified end-to-end
Confirmed:
@ -53,7 +53,7 @@ Confirmed:
- binds to `0.0.0.0:6000`
- lifecycle endpoints: `POST /dev/codeserver/start|stop|restart`
- detection via `/proc/*/cmdline` scan
- hosted browser IDE flow verified with curl end-to-end through Traefik + API proxy
- full browser IDE loading confirmed at `dev-6070.zerolaghub.dev`
---
@ -80,12 +80,15 @@ Completed:
## Dev IDE Access
### Browser IDE ✅ Working (host-based through Traefik + API)
### Browser IDE ✅ Fully Working (browser-verified)
```
Browser → dev-<vmid>.zerolaghub.dev → Traefik → API → container:6000
```
Browser-verified: VS Code loads in browser at `dev-6070.zerolaghub.dev/?folder=/home/dev/workspace`
with workspace mounted, extensions panel visible, AI chat panel active.
Verified flow:
1. frontend calls `POST /api/dev/:id/ide-token`
@ -94,21 +97,13 @@ Verified flow:
4. Traefik wildcard router forwards to API at `http://10.60.0.245:4000`
5. API validates token, sets `zlh_dev_ide_token`, redirects to clean host URL
6. subsequent cookie-backed request redirects to `/?folder=/home/dev/workspace`
7. final response is `200` with code-server HTML
8. API remains HTTP + WS proxy boundary to the container
Curl-verified response chain:
- `GET /?token=...``302` + `Set-Cookie: zlh_dev_ide_token`
- `GET /` with cookie → `302` to `/?folder=/home/dev/workspace`
- `GET /?folder=/home/dev/workspace``200` code-server HTML
7. IDE loads fully in browser
### Remaining Work
- verify full browser behavior beyond curl
- verify WebSocket behavior in-browser under hosted flow
- reduce legacy `/__ide/:id` compatibility paths once host-based is fully canonical
- confirm "Open IDE" button in portal uses hosted URL in production path
- reduce legacy `/__ide/:id` compatibility paths once portal button confirmed
- simplify and harden `devProxy` — remove stale path-based assumptions
### Wildcard Edge (Traefik)
@ -146,7 +141,7 @@ Completed:
- host-based URL generation (`DEV_IDE_HOST_SUFFIX`, `DEV_IDE_RETURN_HOSTED_URL`)
- `handleHostedProxy` — host-based routing via `Host` header vmid extraction
- token bootstrap → cookie handoff working under hosted flow
- hosted flow proxies to container successfully
- hosted flow browser-verified end-to-end
Outstanding:
@ -168,7 +163,6 @@ Completed:
Outstanding:
- confirm "Open IDE" button fully uses hosted URL flow
- browser validation against hosted wildcard model
- Headscale setup instructions
---
@ -197,6 +191,7 @@ Future work:
- ✅ Code-server lifecycle endpoints (start/stop/restart)
- ✅ Code-server process detection via /proc scan
- ✅ Dev IDE proxy — path-based browser IDE working end-to-end
- ✅ Hosted wildcard Traefik → API → container dev IDE flow (curl-verified)
- ✅ Hosted wildcard Traefik → API → container dev IDE flow — browser-verified
- ✅ Per-container dev IDE edge publish/unpublish removed from API
- ✅ Wildcard TLS cert `*.zerolaghub.dev` via Let's Encrypt + Cloudflare DNS-01
- ✅ Browser IDE fully loading at dev-<vmid>.zerolaghub.dev