fix(gateway): guard interface discovery failures

Closes #44180.
Refs #47590.
Co-authored-by: Peter Steinberger <steipete@gmail.com>
This commit is contained in:
Peter Steinberger
2026-03-22 14:26:35 -07:00
parent 44bbd2d83d
commit 3faaf8984f
7 changed files with 56 additions and 3 deletions

View File

@@ -368,6 +368,27 @@ describe("pairing setup code", () => {
});
});
it("returns a bind-specific error when interface discovery throws", async () => {
const resolved = await resolvePairingSetupFromConfig(
{
gateway: {
bind: "lan",
auth: { mode: "token", token: "tok" },
},
},
{
networkInterfaces: () => {
throw new Error("uv_interface_addresses failed");
},
},
);
expect(resolved).toEqual({
ok: false,
error: "gateway.bind=lan set, but no private LAN IP was found.",
});
});
it("prefers gateway.remote.url over tailscale when requested", async () => {
const runCommandWithTimeout = createTailnetDnsRunner();