Expand description
Cluster startup entry point: dispatches to bootstrap, join, or restart.
The decision tree is deliberately small and delegates every non-trivial choice to a dedicated module:
- restart (
super::restart) — if the catalog already reports this node as bootstrapped, we always take the restart path, regardless ofseed_nodesorforce_bootstrap. The catalog is the authoritative source of truth once it exists. - bootstrap (
super::bootstrap_fn) — taken when this node is the elected bootstrapper (lowest-addr seed), or when the operator forced it viaClusterConfig::force_bootstrap, or when no other seed is running. See [super::probe::should_bootstrap]. - join (
super::join) — everything else. The join path owns its own retry-with-backoff loop and leader-redirect handling, so this dispatcher does not need to retry at this layer.
Functions§
- register_
default_ subsystems - Register the default set of cluster subsystems into
registry. - start_
cluster - Start the cluster state machine — bootstrap, join, or restart.
- start_
cluster_ subsystems - Spawn the default cluster subsystems sharing
raft_multi_raftwith the runningcrate::raft_loop::RaftLoop.