a1c3cb58da
Refs #67 Merged by commander after reviewing Code Queue task codex_1779422774244_1. Adds deploy.json public endpoint/frp/k3s/health source fields and dry-run validation. Follow-up: align deploy.json commit/image desired state with the current DEV runtime before using it as apply truth.
Master Edge DEV Contract
The master edge exposes only the DEV acceptance endpoints for this skeleton:
frontend: http://74.48.78.17:16666
api/edge: http://74.48.78.17:16667
Health ownership:
hwlab-edge-proxy: accepts public DEV traffic and exposes/health/live.hwlab-router: owns edge reachability routing and exposes/health/live.hwlab-tunnel-client: owns D601-to-master frp client status and exposes/health/live.hwlab-cloud-api: receives proxied API traffic and exposes/health/live.hwlab-cloud-web: reads cloud APIs only; it does not control hardware.hwlab-agent-mgrandhwlab-agent-worker: own agent session and worker session health boundaries.hwlab-gateway-simu,hwlab-box-simu, andhwlab-patch-panel: own DEV simulator and patch-panel health boundaries.
PROD is intentionally gated off for this task.
deploy/deploy.json is the source for the public endpoints, FRP proxy ports,
k3s service mappings, and health path. The dry-run renderer validates these
files only and does not perform a real edge apply or restart.