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
17 lines
519 B
Rust
17 lines
519 B
Rust
//! Git hooks management for GitKS.
|
|
//!
|
|
//! Supports three layers of hooks:
|
|
//! 1. Server hooks: admin-level, shared across all repositories
|
|
//! 2. Custom hooks: per-repository, user-defined scripts
|
|
//! 3. gRPC callback hooks: external HookService via gRPC
|
|
//!
|
|
//! Hook scripts are installed into bare repositories' `hooks/` directory
|
|
//! and are automatically invoked by git during receive-pack operations.
|
|
|
|
pub mod manager;
|
|
pub mod runner;
|
|
pub mod sanitize;
|
|
|
|
pub use manager::HookManager;
|
|
pub use runner::HookResult;
|