Peering: Settings panel — completes #101 #120

Merged
Cordy merged 4 commits from feat/peering-panel into main 2026-08-04 23:53:38 +00:00
Owner

The remaining slice of #101: the admin UI over the registry that PR #119 shipped.

Avatar menu → Peering (admin-only, hidden exactly like the License entry). The dialog shows both lists from the diagram:

  • Keys you issued — type a peer name, generate; the key is shown once, click-to-copy, with a "copy this now, it is not shown again" notice. Revoke with confirmation that spells out the consequence ("that instance can no longer reach this one").
  • Instances you can send to — register name, URL, the key their admin sent you, plus the sender allow-list as comma-separated users and groups. Each row shows who may send, or "nobody may send" when the allow-list is empty, so the fail-closed default is visible rather than a surprise. The hint under the form says the same thing in words.

Copy explicitly states that key exchange is the admins' job over a channel they trust — Cairn never does it.

i18n en/de/fr/it. JS syntax checked, go vet clean, full Go suite green.

Closes #101. Next: #102 (control plane + data plane), whose issue text I'm refreshing first so it names the decided design rather than deferring to the ADR.

The remaining slice of #101: the admin UI over the registry that PR #119 shipped. Avatar menu → **Peering** (admin-only, hidden exactly like the License entry). The dialog shows both lists from the diagram: - **Keys you issued** — type a peer name, generate; the key is shown **once**, click-to-copy, with a "copy this now, it is not shown again" notice. Revoke with confirmation that spells out the consequence ("that instance can no longer reach this one"). - **Instances you can send to** — register name, URL, the key their admin sent you, plus the sender allow-list as comma-separated users and groups. Each row shows who may send, or **"nobody may send"** when the allow-list is empty, so the fail-closed default is visible rather than a surprise. The hint under the form says the same thing in words. Copy explicitly states that key exchange is the admins' job over a channel they trust — Cairn never does it. i18n en/de/fr/it. JS syntax checked, `go vet` clean, full Go suite green. Closes #101. Next: #102 (control plane + data plane), whose issue text I'm refreshing first so it names the decided design rather than deferring to the ADR.
Cordy merged commit cd9b4d4c13 into main 2026-08-04 23:53:38 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Cordy/Cairn#120
No description provided.