Relay secret rotates on every infra sync #25

Closed
opened 2026-04-17 17:52:41 +00:00 by userAdityaa · 1 comment
Contributor

Description

  • Infra sync currently generates a new relay secret each time sync_relay runs and includes it in both create (POST) and update (PUT) payloads.
  • Infra sync is triggered by create_relay, update_relay, activate_relay, and deactivate_relay activities.
  • Because relay secret is not persisted and reused, routine updates can rotate secrets unintentionally.

Expected behavior

Relay secret remains stable per relay unless an explicit rotate-secret action is requested.

Looking at zooid spec here (https://gitea.coracle.social/coracle/zooid#zooid):

  • Every update sends a new secret to Zooid.
  • Zooid updates its config file with the new secret.
  • The relay's public key changes.
  • Next time a client connects, they see a different public key.
  • The relay appears to be a different relay.
### Description * Infra sync currently generates a new relay secret each time `sync_relay` runs and includes it in both create (POST) and update (PUT) payloads. * Infra sync is triggered by create_relay, update_relay, activate_relay, and deactivate_relay activities. * Because relay secret is not persisted and reused, routine updates can rotate secrets unintentionally. ### Expected behavior Relay secret remains stable per relay unless an explicit rotate-secret action is requested. ### Looking at zooid spec here (https://gitea.coracle.social/coracle/zooid#zooid): * Every update sends a new secret to Zooid. * Zooid updates its config file with the new secret. * The relay's public key changes. * Next time a client connects, they see a different public key. * The relay appears to be a different relay.
Owner

Absolutely, I think the solution is to change this request form a PUT to a PATCH

Absolutely, I think the solution is to change this request form a PUT to a PATCH
Sign in to join this conversation.
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: coracle/caravel#25