Thanks to visit codestin.com
Credit goes to docs.rs

Skip to main content

Crate feagi_config

Crate feagi_config 

Source
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§

ConfigError
Configuration error types

Constants§

VERSION
Crate version from Cargo.toml

Type Aliases§

ConfigResult
Result type for configuration operations