http://tower.local). The public
link makes it reachable from anywhere at https://{slug}.tower.usenaive.ai
without opening a single inbound port on the box.
How it works
The box holds ONE authenticated outbound WebSocket tunnel to the Naive edge relay. The edge terminates TLS on the wildcard*.tower.usenaive.ai,
maps your {slug} to that tunnel, and reverse-proxies inbound HTTPS down it to
the box’s panel/api.
This is a separate service from the egress gateway.
The egress gateway is strictly outbound (runtime-initiated, credential
injecting). The edge relay is inbound reverse-proxy. The box’s outbound-only
posture is preserved — the tunnel is an opt-in outbound-initiated connection.
Enable it
The public link is opt-in. The device-agent’stunnel command holds the
outbound socket; enable/disable + status are device-token routes:
Deploying the edge
The edge (@usenaive/edge) is a cloud-profile service. A real deployment needs
a wildcard DNS record + TLS cert for *.tower.usenaive.ai pointed at it; TLS
can be terminated at the platform ingress or by the edge itself
(EDGE_TLS_KEY/EDGE_TLS_CERT). See the package README for configuration.