8f472a0443
- Integrate etcd-client for distributed coordination and leader election - Add remote client macros with proper formatting for all services - Implement RequestMetrics for tracking RPC performance and errors - Add rate limiting mechanism across all service endpoints - Create ElectionRequest and ElectionResult message types for leader election - Add role management with primary/replica switching capabilities - Implement health checker with automatic failover detection - Add repository count metrics for cluster monitoring - Update Cargo.toml with etcd-client and dashmap dependencies - Modify RepoEntry to include read_only flag for replica handling - Implement should_accept_election logic to prevent duplicate elections - Add RoleChangedEvent handling for cluster role updates
15 lines
494 B
Rust
15 lines
494 B
Rust
pub mod handler;
|
|
pub mod message;
|
|
pub mod server;
|
|
pub mod sync;
|
|
|
|
pub use handler::{
|
|
GitNodeActor, GitNodeArgs, RepoEntry, broadcast_ref_update, broadcast_role_changed,
|
|
get_category_members, get_cluster_nodes, list_all_groups, route_group_for, start_node_actor,
|
|
};
|
|
pub use message::{
|
|
ElectionRequest, ElectionResult, GitNodeMessage, NodeHealth, ROLE_PRIMARY, ROLE_REPLICA,
|
|
RefUpdateEvent, RepoActorMessage, RoleChangedEvent, RouteDecision,
|
|
};
|
|
pub use server::init_actor_cluster;
|