Expand description
§FEAGI Configuration System
Cross-platform, type-safe configuration loader for FEAGI with support for:
- TOML file parsing
- Environment variable overrides
- CLI argument overrides
- Multiple deployment targets (std, no_std, wasm)
§Usage
use feagi_config::{load_config, FeagiConfig};
// Load configuration with automatic file discovery and overrides
let config = load_config(None, None).expect("Failed to load config");
// Access type-safe configuration values
println!("API Bind Host: {}", config.api.bind_host);
println!("API Advertised Host: {}", config.api.advertised_host);
println!("API Port: {}", config.api.port);§Architecture Compliance
This crate enforces FEAGI 2.0 architecture principles:
- ❌ No hardcoded values (hosts, ports, timeouts)
- ✅ Single source of truth (feagi_configuration.toml)
- ✅ Environment-specific overrides
- ✅ Cross-platform compatibility (Docker, K8s, embedded, desktop)
Re-exports§
pub use loader::apply_cli_overrides;pub use loader::apply_environment_overrides;pub use loader::find_config_file;pub use loader::load_config;pub use validation::validate_config;pub use validation::ConfigValidationError;pub use serde;pub use types::*;
Modules§
- loader
- Configuration file loading with override support
- types
- Configuration type definitions
- validation
- Configuration validation
Enums§
- Config
Error - Configuration error types
Constants§
- VERSION
- Crate version from Cargo.toml
Type Aliases§
- Config
Result - Result type for configuration operations