Skip to main content

max / makenotwork

Check htpy where htpy actually listens The health check pointed at http://100.99.153.68:8080/archive/S_2 on both instances. htpy-web listens on 3200, and /archive/<name> answers 308 to /viewer/<name>, so the check failed on connect and both instances reported the target unreachable with an open incident, hetzner's since 2026-03-29 and astra's since 2026-05-01. htpy.app served fine throughout, which is the tell: the check was watching an address, not the site. Verified before changing: /viewer/S_2 on 3200 returns 200 with "htpy" in the body from fw13, astra and hetzner, and 3200 is already in the tailnet ACL's inter-server port list, so no policy change is needed. Worth noting what this cost. Four months of a target sitting red is four months of the rollup being wrong about production, and a surface that is always wrong about one target is one people stop reading.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Author: Max Johnson <me@maxj.phd> · 2026-07-30 02:26 UTC
Commit: bca468bfb556cd447f2d63a568fbbadb901d50be
Parent: e4b96dc
2 files changed, +11 insertions, -2 deletions
@@ -95,7 +95,10 @@
95 95 warn_days = 30
96 96
97 97 [targets.htpy.health]
98 - url = "http://100.99.153.68:8080/archive/S_2"
98 + # See the same block in pom-hetzner.toml: htpy-web listens on 3200, not 8080, and
99 + # /archive/<name> 308s to /viewer/<name>. The stale address is why this target
100 + # has carried an open incident since 2026-03-29 while the site served fine.
101 + url = "http://100.99.153.68:3200/viewer/S_2"
99 102 timeout_secs = 10
100 103
101 104 [targets.htpy.health.expect]
@@ -145,7 +145,13 @@
145 145 warn_days = 30
146 146
147 147 [targets.htpy.health]
148 - url = "http://100.99.153.68:8080/archive/S_2"
148 + # htpy-web moved twice and this URL followed neither move: it listens on 3200,
149 + # not 8080, and /archive/<name> now 308s to /viewer/<name>. Checking the old
150 + # address failed on connect, so the target has been reading "unreachable" with an
151 + # open incident since 2026-03-29 while htpy.app itself served fine. Verified
152 + # 2026-07-29: this returns 200 with "htpy" in the body from fw13, astra and
153 + # hetzner, and 3200 is in the tailnet ACL's inter-server port list.
154 + url = "http://100.99.153.68:3200/viewer/S_2"
149 155 timeout_secs = 10
150 156
151 157 [targets.htpy.health.expect]