During the DNS cutover the Hetzner resolvers nixos-infect had left in networking.nix still served the old address (3h TTL) while 1.1.1.1/8.8.8.8 had the new one, so every other lookup of drone.ci.commoninternet.net from the box itself went to the old server: runner "cannot request stage 404", bridge "drone trigger failed 404", traefik probes alternating 200/404. Drop those resolvers; pin ci/drone/report/traefik/warm-keycloak/oc names to this host in networking.hosts. README §7 records it. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01FqkQq3CDmFWcQ7u1LzoyRz
41 lines
1.7 KiB
Nix
41 lines
1.7 KiB
Nix
# Generated by nixos-infect on this machine (2026-09-07), captured per README §3, with ONE edit:
|
|
# `defaultGateway` as an attrset WITH `interface = "eth0"`. The generated bare-string form leaves
|
|
# NixOS ≥25.05 without a default route (the host boots and is unreachable) — see README §2.
|
|
{ lib, ... }: {
|
|
# This file was populated at runtime with the networking
|
|
# details gathered from the active system.
|
|
networking = {
|
|
# The Hetzner resolvers nixos-infect wrote here are deliberately gone: configuration.nix sets
|
|
# 1.1.1.1/8.8.8.8. During the 2026-09-07 cutover the Hetzner caches kept the OLD address for
|
|
# the full 3h TTL while the public resolvers already had the new one, and every other lookup
|
|
# of drone.ci.commoninternet.net from this box went to the old server (404s in the runner and
|
|
# the bridge). One consistent resolver set, and the host's own names pinned in
|
|
# configuration.nix, keep the CI independent of that.
|
|
defaultGateway = { address = "172.31.1.1"; interface = "eth0"; };
|
|
defaultGateway6 = {
|
|
address = "fe80::1";
|
|
interface = "eth0";
|
|
};
|
|
dhcpcd.enable = false;
|
|
usePredictableInterfaceNames = lib.mkForce false;
|
|
interfaces = {
|
|
eth0 = {
|
|
ipv4.addresses = [
|
|
{ address="195.201.88.249"; prefixLength=32; }
|
|
];
|
|
ipv6.addresses = [
|
|
{ address="2a01:4f8:1c1c:a9b::1"; prefixLength=64; }
|
|
{ address="fe80::2ff8:e3ea:bbb8:aa39"; prefixLength=64; }
|
|
];
|
|
ipv4.routes = [ { address = "172.31.1.1"; prefixLength = 32; } ];
|
|
ipv6.routes = [ { address = "fe80::1"; prefixLength = 128; } ];
|
|
};
|
|
|
|
};
|
|
};
|
|
services.udev.extraRules = ''
|
|
ATTR{address}=="92:00:09:d5:ec:0d", NAME="eth0"
|
|
|
|
'';
|
|
}
|