zlh-grind/Session_Summaries/2026-03-15_Dev-Routing-And-Status.md

2.4 KiB
Raw Blame History

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:

/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)