Genesis is the DNS server for the whole network (dnsmasq, reading from net/hosts). That file had shire-zebra.ts.net aliases for hosea, isaiah, jeremiah, gitlab, matrix, chronicles, and nas1 — but not for genesis, zeke, linode, or exodus. So those four hostnames were unresolvable network-wide, which is why Prometheus scrapes failed instantly.
The working hosts (hosea, isaiah, jeremiah) all had explicit shire-zebra.ts.net entries. This was the real issue, not k8s routing.
Changes
Add genesis.shire-zebra.ts.net alias to genesis's entry
Add zeke.shire-zebra.ts.net alias to zeke's entry
Add linode.shire-zebra.ts.net alias to linode's entry
Add exodus.shire-zebra.ts.net alias to exodus's entry
Update exodus Tailscale IP from 100.80.99.48 → 100.70.99.91 (stale in both network.json and the hosts file)
This is a genesis-only deploy; no other hosts need rebuilding.
Opened by Klaatu 🌌
## Root cause
Genesis is the DNS server for the whole network (dnsmasq, reading from `net/hosts`). That file had `shire-zebra.ts.net` aliases for hosea, isaiah, jeremiah, gitlab, matrix, chronicles, and nas1 — but **not** for genesis, zeke, linode, or exodus. So those four hostnames were unresolvable network-wide, which is why Prometheus scrapes failed instantly.
The working hosts (hosea, isaiah, jeremiah) all had explicit `shire-zebra.ts.net` entries. This was the real issue, not k8s routing.
## Changes
- Add `genesis.shire-zebra.ts.net` alias to genesis's entry
- Add `zeke.shire-zebra.ts.net` alias to zeke's entry
- Add `linode.shire-zebra.ts.net` alias to linode's entry
- Add `exodus.shire-zebra.ts.net` alias to exodus's entry
- Update exodus Tailscale IP from `100.80.99.48` → `100.70.99.91` (stale in both `network.json` and the hosts file)
This is a genesis-only deploy; no other hosts need rebuilding.
> Opened by Klaatu 🌌
genesis, zeke, linode, and exodus were missing shire-zebra.ts.net
aliases in the genesis dnsmasq hosts file. Only hosea, isaiah,
jeremiah, gitlab, matrix, chronicles, and nas1 had them. Since
genesis is the DNS server for the whole network, Prometheus (and
everything else) couldn't resolve those four hostnames, causing
instant connection failures on scrape.
Also update exodus Tailscale IP from 100.80.99.48 to 100.70.99.91
(stale IP in both network.json and the hosts file).
greg
merged commit 71f553a6f2 into main2026-03-26 02:48:34 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Root cause
Genesis is the DNS server for the whole network (dnsmasq, reading from
net/hosts). That file hadshire-zebra.ts.netaliases for hosea, isaiah, jeremiah, gitlab, matrix, chronicles, and nas1 — but not for genesis, zeke, linode, or exodus. So those four hostnames were unresolvable network-wide, which is why Prometheus scrapes failed instantly.The working hosts (hosea, isaiah, jeremiah) all had explicit
shire-zebra.ts.netentries. This was the real issue, not k8s routing.Changes
genesis.shire-zebra.ts.netalias to genesis's entryzeke.shire-zebra.ts.netalias to zeke's entrylinode.shire-zebra.ts.netalias to linode's entryexodus.shire-zebra.ts.netalias to exodus's entry100.80.99.48→100.70.99.91(stale in bothnetwork.jsonand the hosts file)This is a genesis-only deploy; no other hosts need rebuilding.