Commit b9588ede authored by Jan Koester's avatar Jan Koester
Browse files

Add master/slave replication

Slaves poll their master over the authdb HTTP(S) port. The master
publishes a content hash per domain (admin db + all domains); a slave
fetches a full snapshot of every domain whose hash differs and replaces
its local content. One master serves any number of slaves; master and
slave can each be a single node or a cluster.

- /replication/status, /replication/snapshot/<id> (authenticated per
  slave by name:key), /replication/info
- slave is read-only: backend writes outside the replication path throw
- slave cluster: only the lowest reachable peer pulls
- domain storage on the slave is mapped to its own backend/path
- tests for snapshot apply, hashing and read-only mode

Co-Authored-By: default avatarClaude Opus 5.5 <noreply@anthropic.com>
parent f2635ea1
Loading
Loading
Loading
Loading