Skip to content

fix(identity): ask the route question against a name that still answers - #870

Merged
frahlg merged 2 commits into
masterfrom
stable-id-follows-the-relay
Aug 9, 2026
Merged

fix(identity): ask the route question against a name that still answers#870
frahlg merged 2 commits into
masterfrom
stable-id-follows-the-relay

Conversation

@frahlg

@frahlg frahlg commented Aug 9, 2026

Copy link
Copy Markdown
Member

Found by a session sweeping after Home Link's retirement: gatewayidentity.SoftwareIdentityUplinkHost still names uplink.home.sourceful.energy, whose DNS record went with the service — dig returns nothing today. The stable-interface resolution therefore fails at LookupIP, before any route is read.

The host is only a question to the kernel — which interface would carry my uplink? — and the identity is the answering interface's permanent MAC, never the name. Pointing the question at relay.ftw.energy (which the box dials anyway) re-derives the same identity over a live name.

The two ADRs that mention the old host are left as written: they record decisions made when it existed.

go test ./internal/gatewayidentity/... and go vet green; the constant's pinning test moved with the constant.

🤖 Generated with Claude Code

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 515f492fc3

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

// 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 👍 / 👎.

frahlg and others added 2 commits August 9, 2026 18:02
ResolveStableSoftwareInterface asks the kernel which interface would
carry the uplink, and anchors the software identity on that interface's
permanent MAC. The question was asked against
uplink.home.sourceful.energy — Home Link, retired in August 2026, DNS
record and all — so every resolution now dies at the lookup, before a
route is ever read. The name moves to relay.ftw.energy, which the box
dials anyway. The MAC is the identity; the host never was, so the same
box derives the same identity over the live name.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@frahlg
frahlg force-pushed the stable-id-follows-the-relay branch from d2bc3a0 to 40a1d81 Compare August 9, 2026 16:02
@frahlg
frahlg merged commit efd0f08 into master Aug 9, 2026
14 checks passed
@frahlg
frahlg deleted the stable-id-follows-the-relay branch August 9, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant