Files
pikasTech-HWLAB/docs/dev-edge-health.md
T
2026-05-21 16:50:21 +00:00

2.0 KiB

HWLAB DEV Edge Health

This check is DEV-only and targets the frozen endpoint:

node scripts/dev-edge-health-smoke.mjs --live --write-report

The smoke is read-only. It does not touch PROD, restart services, read secrets, or substitute UniDesk backend/provider-gateway/microservice-proxy for HWLAB runtime.

Health Evidence

GET http://74.48.78.17:6667/health must return HWLAB DEV JSON with:

  • serviceId for the HWLAB service answering the request;
  • environment: "dev";
  • commit evidence;
  • image evidence;
  • service evidence.

hwlab-cloud-api also serves GET /health/live for k3s probes and edge forwarding checks.

Route Classification

The smoke classifies failures into these blockers:

  • frp_blocker: public :6667 is unavailable and frps control or tunnel health ports also refuse connections.
  • edge_proxy_blocker: frps is reachable, but public :6667 refuses.
  • k3s_service_blocker: k3s is observable but HWLAB DEV services/endpoints are missing.
  • dns_port_firewall_blocker: public endpoint times out or cannot be resolved as a port/network path.
  • app_health_blocker: public HTTP reaches an app but health JSON is wrong, missing evidence, or returns an HTTP error.

Current Blocker

The committed report at reports/dev-gate/dev-edge-health.json records a read-only live run where:

  • public 74.48.78.17:6667 returned ECONNREFUSED;
  • frps control 74.48.78.17:7000 returned ECONNREFUSED;
  • tunnel health 74.48.78.17:7402 returned ECONNREFUSED;
  • kubectl was not installed in this runner, so D601 k3s service state was not observable from here.

Classification: frp_blocker. The master frps endpoint is not reachable from the runner, so the edge proxy and downstream app health cannot be proven through the public DEV route yet.

DEV FRP Contract

deploy/frp/frps.dev.toml reserves public 6667 as a TCP remotePort for hwlab-dev-edge-proxy. Do not bind vhostHTTPPort = 6667 in the same frps config; that collides with the TCP proxy and can keep the DEV route from registering cleanly.