Skip to main content

hydracache_server/
lib.rs

1//! Standalone HydraCache server bootstrap primitives.
2//!
3//! The crate keeps the first production daemon surface framework-neutral where
4//! possible: configuration, validation, readiness, and graceful drain can be
5//! tested without binding sockets. The binary wrapper wires these primitives to
6//! process startup.
7
8pub mod admin_http;
9pub mod bootstrap;
10pub mod cluster_status;
11pub mod config;
12mod grid_host;
13pub mod hc2;
14pub mod redis_tcp;
15pub mod services;
16pub mod upgrade;
17
18pub use admin_http::{
19    AdminDiagnosticResetReply, AdminHttpError, AdminHttpSurface, ADMIN_ACTUATOR_PATH,
20    ADMIN_BACKUP_PATH, ADMIN_CLUSTER_OVERVIEW_PATH, ADMIN_CONSOLE_PATH,
21    ADMIN_DIAGNOSTIC_RESET_PATH, ADMIN_DRAIN_PATH, ADMIN_HEALTHZ_PATH, ADMIN_METRICS_PATH,
22    ADMIN_RAFT_COMPACTION_PATH, ADMIN_READYZ_PATH, ADMIN_RESHARD_PATH, ADMIN_STATUS_PATH,
23};
24pub use bootstrap::{
25    RedisSurfaceDrain, ServerAdminAction, ServerAdminActionError, ServerAdminStatus, ServerHealth,
26    ServerObservabilityModel, ServerReadiness, ServerRuntime, ServerState,
27};
28pub use cluster_status::{
29    ClusterStatus, ClusterStatusProvider, ClusterStatusRuntime, GridControlPlaneHandle,
30    LiveClusterStatus, MemberRole, MemberStatus, ModeledClusterStatus, RaftCompactionError,
31    RaftCompactionStatus, Reachability, ReshardPhase, StatusSource,
32};
33pub use config::{
34    AdminApiConfig, BackupConfig, ClientApiConfig, ClusterAuthConfig, ClusterStartMode,
35    Hc2ClientPlaneConfig, RedisApiConfig, ServerConfig, ServerConfigError, ServerRole, TlsConfig,
36};
37pub use hc2::{serve_hc2_listener, Hc2ClientPlaneService, Hc2ListenerTls, Hc2ServeError};
38pub use redis_tcp::{serve_redis_listener, RedisTcpError, RedisTlsAcceptor, RedisTlsError};
39pub use services::{DrainOutcome, GracefulShutdown, ServiceSet};
40pub use upgrade::{
41    GracefulUpgrade, UpgradeError, UpgradePhase, UpgradePlan, UpgradeReport, UpgradeStrategy,
42};