1pub mod bootstrap_authority;
4pub mod commit_resolution;
5pub mod cross_range;
6pub mod drain;
7pub mod identity;
8pub mod join;
9pub mod membership;
10pub mod move_range;
11pub mod ownership;
12pub mod ownership_force;
13pub mod ownership_lease;
14pub mod ownership_transition;
15pub mod placement;
16pub mod routing;
17pub mod slot;
18pub mod supervisor;
19pub mod topology;
20
21pub use bootstrap_authority::{
22 authorize as authorize_cluster_bootstrap, authorize_vault_bootstrap, is_cluster_shaped,
23 plan_vault_bootstrap, AuthBootstrapInput, BootstrapDisposition, VaultBootstrapPlan,
24};
25pub use commit_resolution::{
26 is_local_ack, resolve_commit_policy, CollectionDataModel, CommitPolicyResolution,
27 CommitPolicyViolation, FailoverEligibility, GuardrailDisposition, HaIntent, ResolutionSource,
28};
29pub use cross_range::{
30 ConsistentReadLeg, ConsistentReadPlan, ConsistentReadReject, GlobalReadWatermark, KeyTarget,
31 PinnedTarget, RangeParticipant, ReadFanout, ReadFanoutReject, ReadLeg, ResolvedTarget,
32 WriteTransactionPlan, WriteTransactionReject, WriterParticipation,
33};
34pub use drain::{
35 drain_status, plan_drain, plan_force_remove, run_drain, run_force_remove, DrainBlock,
36 DrainBlockReason, DrainOutcome, DrainPlan, DrainStatus, DrainStep, ForceCapability,
37 ForceRemoveAudit, ForceRemoveOrder, ForceRemoveOrderError, ForceRemovePlan, ForceRemoveResult,
38 ForcedBlock, ForcedPromotion, OwnedHandoff, RemovalRejection, ReplicaEvacuation,
39};
40pub use identity::{
41 ClusterVoterIdentity, NodeIdentity, NodeIdentityError, ReplicationPeerIdentity,
42};
43pub use join::{ControlPlaneSnapshot, JoinGrant, JoinRejection, JoinRequest, SeedAuthority};
44pub use membership::{
45 AdmissionOutcome, BaselineAssessment, ClusterId, ClusterIdError, ClusterMember, MemberKind,
46 MemberState, MembershipCatalog, RESILIENT_DATA_MEMBER_BASELINE,
47};
48pub use move_range::{
49 classify_move, recover_interrupted_move, split_range, MoveError, MoveKind, MovePhase,
50 MoveRange, MoveRecovery, RangeSplit, SplitError, SplitPolicy, SplitSide,
51};
52pub use ownership::{
53 CatalogError, CatalogVersion, CollectionId, CollectionIdError, OwnershipEpoch,
54 PlacementMetadata, RangeBound, RangeBounds, RangeBoundsError, RangeId, RangeOwnership,
55 RangeRole, RangeWriteReject, ShardKeyMode, ShardOwnershipCatalog, UpdateOutcome,
56};
57pub use ownership_force::{
58 force_transition, EmptyOperatorReason, ForceDenial, ForceFailure, ForceTransitionCapability,
59 ForcedTransitionAudit, ForcedTransitionDisposition, ForcedTransitionRequest, OperatorReason,
60};
61pub use ownership_lease::{
62 admit_durable_write, DurableWriteReject, FenceReason, LeaseFenceRejection, LeasedOwner,
63 OwnerWriteMode, OwnershipLease, RangeRequest, SupervisorTerm,
64};
65pub use ownership_transition::{
66 prepare, run_transition, CatchUpEvidence, CommitWatermark, InvalidCandidateReason,
67 PreparedTransition, TransitionError, TransitionKind, TransitionOutcome, TransitionRejection,
68 TransitionRequest,
69};
70pub use placement::{
71 HotspotRange, MemberCapacity, MoveReason, PlacementPolicy, PlacementSignals, PlannedMove,
72 RangeLoad, RebalancePlan, WeightedPlacementPlanner, NEUTRAL_OPERATOR_WEIGHT,
73};
74pub use routing::{
75 RedirectReason, RequestOperation, RouteDecision, RoutedRequest, RoutingHint, RoutingPolicy,
76 DEFAULT_MAX_FORWARD_PAYLOAD,
77};
78pub use slot::{
79 hash_shard_key_to_range_key, hash_shard_key_to_slot, HashSlot, HashSlotError,
80 PRODUCTION_HASH_SLOT_COUNT,
81};
82pub use supervisor::{
83 BlockedFailover, BlockedReason, ClusterSignals, ClusterSupervisor, FailoverPlan, HealthClass,
84 HealthPolicy, HealthScore, MemberSignals, PlannedPromotion,
85};
86pub use topology::{
87 ClientTopology, HintOutcome, RefreshOutcome, TopologyRange, TopologySnapshot, TopologyUpdate,
88};