Peering card: make the peer URL editable in place (like the allow-lists) #235
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: Cordy/Cairn#235
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Found during the 2026-08-14 A↔B dogfood.
The relationship card (#150) lets you edit the send/receive allow-lists in place and pause/resume a peer (#176), but the peer's URL and key are immutable. That coupling made sense for the key (changing it is a real re-exchange), but the URL is not a credential — and today, correcting a wrong or changed peer URL forces Remove + re-register, which drags the key with it: the one-time inbound key must be re-issued on the other side and re-pasted. A simple typo or an address change (e.g. switching a peer from the HTTPS domain to a LAN IP) becomes a full re-key.
Proposal: allow editing the URL in place on the card, the same inline-edit pattern as the allow-lists, PATCHing just
urlvia the existingPATCH /api/v1/admin/peering/peers/{name}(add aurlfield to the partial-update handler). Key stays untouched. Validate the new URL with the same rules as registration (absolute http(s); http only for private hosts).Low-risk, removes a sharp edge. Not urgent, but it's the kind of thing that bites during real peering setup — as it just did.
Refs: #150, #176.
Shipped in v0.6.24 (PR #240, merged). The peer relationship card now has an Edit URL affordance in the card head: it swaps the URL span for an input + Save/Cancel and PATCHes just
urlon the standing peer. The URL is validated exactly as registration (absolute http(s); http only for private hosts) and the key is left untouched.Live on both dogfood instances (cairn-enc + cairn-openbao) on
192.168.10.245/cordy/cairn:v0.6.24@sha256:fc5dc698…, both pods 1/1. Closing.