Files
gitks/hooks/mod.rs
T
zhenyi 8f472a0443 feat(cluster): implement distributed clustering with etcd coordination
- 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
2026-06-08 14:31:29 +08:00

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;