[router] add centralized configuration module for sgl-router (#7588)

This commit is contained in:
Simo Lin
2025-06-27 15:42:02 -07:00
committed by GitHub
parent d7374d7467
commit c071198c1d
5 changed files with 916 additions and 60 deletions

View File

@@ -0,0 +1,28 @@
pub mod types;
pub mod validation;
pub use types::*;
pub use validation::*;
/// Configuration errors
#[derive(Debug, thiserror::Error)]
pub enum ConfigError {
#[error("Validation failed: {reason}")]
ValidationFailed { reason: String },
#[error("Invalid value for field '{field}': {value} - {reason}")]
InvalidValue {
field: String,
value: String,
reason: String,
},
#[error("Incompatible configuration: {reason}")]
IncompatibleConfig { reason: String },
#[error("Missing required field: {field}")]
MissingRequired { field: String },
}
/// Result type for configuration operations
pub type ConfigResult<T> = Result<T, ConfigError>;