Go to file
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
actor feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
archive refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00
blame refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00
blob refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00
branch refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00
cluster feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
commit refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00
diff refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00
hooks feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
merge refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00
pack feat(server): add tracing spans and caching to archive and blame services 2026-06-04 15:33:16 +08:00
pb feat(core): implement Git repository operations with gRPC services 2026-06-04 13:05:38 +08:00
proto feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
refs feat(core): implement Git repository operations with gRPC services 2026-06-04 13:05:38 +08:00
server feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
snapshot feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
tag refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00
tests feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
tree refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00
.dockerignore feat(build): add Docker support for gitks application 2026-06-04 14:11:55 +08:00
.gitignore feat(gateway): implement remote service forwarding for distributed git operations 2026-06-08 01:21:20 +08:00
bare.rs refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00
build.rs chore(deps): update dependencies and migrate to tonic-prost 2026-06-04 18:07:17 +08:00
Cargo.lock feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
Cargo.toml feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
disk_cache.rs feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
Dockerfile feat(server): add repository prefix path configuration and service struct 2026-06-04 14:18:12 +08:00
error.rs feat(core): implement Git repository operations with gRPC services 2026-06-04 13:05:38 +08:00
init.rs feat(server): add tracing spans and caching to archive and blame services 2026-06-04 15:33:16 +08:00
lib.rs feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
LICENSE feat(core): implement Git repository operations with gRPC services 2026-06-04 13:05:38 +08:00
macros.rs refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00
main.rs feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
metrics.rs feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
oid.rs feat(core): implement Git repository operations with gRPC services 2026-06-04 13:05:38 +08:00
pack_cache.rs feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
paginate.rs feat(core): implement Git repository operations with gRPC services 2026-06-04 13:05:38 +08:00
rate_limit.rs feat(cluster): implement distributed clustering with etcd coordination 2026-06-08 14:31:29 +08:00
README.md feat(core): implement Git repository operations with gRPC services 2026-06-04 13:05:38 +08:00
sanitize.rs refactor(server): replace custom remote clients with macro-based implementation 2026-06-08 09:43:57 +08:00

gitks

A Git bare repository operation library based on gRPC.

License

PolyForm Noncommercial 1.0.0 — Free for noncommercial use. For commercial licenses, please contact us.