class

Raft::HTTP::AdminHandler

Inherits HTTP::Handler < Reference < Object

Mutating HTTP handler exposing cluster administration over POST /raft/admin/*. Mount behind authentication — every route mutates cluster state (membership, leadership, or under -Draft_debug, the chaos primitives).

Routes (all POST):

  • /raft/admin/bootstrap — turn an empty node into a single-node cluster
  • /raft/admin/register_peer — register a peer's address with the transport
  • /raft/admin/add_server/{id} — add a learner with optional {"address": "..."} body
  • /raft/admin/remove_server/{id} — remove a server from the configuration
  • /raft/admin/promote_learner/{id} — promote a learner to voter
  • /raft/admin/transfer_leadership/{id} — initiate leadership transfer
  • -Draft_debug only: /raft/admin/pause|resume|partition|heal|reset

Anything else falls through to the next handler in the chain via call_next. Pair with StatusHandler to expose the read-only surface on a separate endpoint.

Concrete (non-generic) — takes any AdminOps, which Node(T) includes.

Constructors

new(ops : AdminOps, transport : TCPTransport | Nil = nil)
Source

Instance methods

call(context : ::HTTP::Server::Context)
Source