93 lines
2.4 KiB
Markdown
93 lines
2.4 KiB
Markdown
# 2026-03-15 – Dev routing + status exposure
|
||
|
||
## Summary
|
||
|
||
Work focused on the dev-container path for code-server and the frontend/API state gap.
|
||
|
||
---
|
||
|
||
## Completed
|
||
|
||
### API / routing
|
||
|
||
- Added dev-only routing hook during provisioning
|
||
- Reused existing Cloudflare + Technitium record creation for dev containers
|
||
- Added Traefik dynamic file creation for dev containers
|
||
- Kept existing game publish flow untouched
|
||
- Remote Traefik writes now use SSH service account model
|
||
- Added `zlh` SSH user path for proxy writes
|
||
|
||
### Agent / runtime validation
|
||
|
||
- Confirmed code-server artifact was the correct compiled release artifact
|
||
- Confirmed code-server installs correctly inside dev containers
|
||
- Confirmed code-server process launches successfully
|
||
- Confirmed code-server binds to `0.0.0.0:6000`
|
||
- Confirmed agent remains on `:18888`
|
||
|
||
### API / frontend status
|
||
|
||
- Added API endpoint(s) to expose polled agent status back to frontend
|
||
- Frontend host/console status now updates correctly from API state
|
||
- Console availability issue was frontend/API state exposure, not PTY transport
|
||
|
||
---
|
||
|
||
## Important confirmations
|
||
|
||
### Code-server process
|
||
|
||
Observed process:
|
||
|
||
```bash
|
||
/opt/zlh/services/code-server/lib/node /opt/zlh/services/code-server \
|
||
--bind-addr 0.0.0.0:6000 \
|
||
--auth password \
|
||
/home/dev/workspace
|
||
```
|
||
|
||
This confirmed earlier confusion — ss showed the process as `node` because
|
||
code-server runs on Node internally. The process is code-server, not a
|
||
conflicting Node runtime process.
|
||
|
||
### Proxy/service path
|
||
|
||
Confirmed working pieces:
|
||
|
||
- Traefik loads dev dynamic file
|
||
- Traefik router and service are created
|
||
- backend target resolves to container IP on `:6000`
|
||
- API can write remote Traefik config via SSH automation
|
||
- internal/private-network checks from proxy side pass as expected
|
||
|
||
---
|
||
|
||
## Current blocker
|
||
|
||
External browser access to:
|
||
|
||
```
|
||
https://dev-6062.zerolaghub.dev
|
||
```
|
||
|
||
is still not complete.
|
||
|
||
State at end of session:
|
||
|
||
- Traefik route exists
|
||
- backend service exists
|
||
- code-server runs inside container
|
||
- frontend/API status path is fixed
|
||
- browser still fails externally with connection-closed / blocked-origin behavior
|
||
|
||
This remains an explicit open thread and should not be treated as solved.
|
||
|
||
---
|
||
|
||
## Notes
|
||
|
||
- Hostname format must remain consistent (`dev-<vmid>`)
|
||
- Game publish flow must remain untouched
|
||
- Dev routing is additive only
|
||
- Proxy SSH must remain service-account based (`zlh`)
|