Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/stable-id-follows-the-relay.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"ftw": patch
---

The stable software identity resolves again. It is anchored on the permanent MAC of whichever interface carries the box's uplink, and the question was asked against `uplink.home.sourceful.energy` — Home Link, retired in August 2026, DNS record and all — so every resolution died at the lookup before a route was ever read. The question now goes to `relay.ftw.energy`, which the box dials anyway. The MAC is the identity and the host never was, so the same box derives the same identity over the live name.
9 changes: 8 additions & 1 deletion go/internal/gatewayidentity/stableid.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,14 @@ import (
)

const (
SoftwareIdentityUplinkHost = "uplink.home.sourceful.energy"
// The host is only a question to the kernel — "which interface would
// carry my uplink?" — so it must be a name the box actually dials.
// It was uplink.home.sourceful.energy until Home Link was retired
// (Aug 2026) and its DNS record with it; a dead name here made every
// identity resolution fail on the lookup, before any route was read.
// The MAC of the answering interface is the identity; the host never
// is, so this change re-derives the same identity over a live name.
SoftwareIdentityUplinkHost = "relay.ftw.energy"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Add a changeset for the identity fix

This changes user-visible gateway-identity-adopt behavior by restoring software identity resolution, but the commit contains no .changeset/*.md entry, so the release tooling will not record this fix in its generated release history. Add a patch changeset describing the restored identity adoption behavior.

AGENTS.md reference: AGENTS.md:L109-L114

Useful? React with 👍 / 👎.

SoftwareIdentityUplinkPort = 443
)

Expand Down
2 changes: 1 addition & 1 deletion go/internal/gatewayidentity/stableid_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ func mustMAC(raw string) net.HardwareAddr {
}

func TestStableInterfaceUsesKernelResolvedOutputForEveryAddress(t *testing.T) {
if SoftwareIdentityUplinkHost != "uplink.home.sourceful.energy" {
if SoftwareIdentityUplinkHost != "relay.ftw.energy" {
t.Fatalf("software identity uplink = %q", SoftwareIdentityUplinkHost)
}
authority := &fakeRouteAuthority{
Expand Down