Crate riglr_config

Crate riglr_config 

Source
Expand description

§RIGLR Configuration

Unified, hierarchical configuration management for RIGLR applications.

§Features

  • Single source of truth: All configuration in one place
  • Environment-based: Supports dev, staging, and production environments
  • Convention over configuration: RPC_URL_{CHAIN_ID} pattern for dynamic chain support
  • Fail-fast validation: Catches configuration errors at startup
  • Hierarchical structure: Organized into logical sections
  • Type-safe: Strongly typed configuration with serde

§Usage

use riglr_config::Config;

// Load configuration from environment (fail-fast)
let config = Config::from_env();

// Access configuration values
println!("Redis URL: {}", config.database.redis_url);
println!("Environment: {:?}", config.app.environment);

// Get RPC URL for a specific chain
if let Some(rpc_url) = config.network.get_rpc_url("1") {
    println!("Ethereum RPC: {}", rpc_url);
}

Modules§

prelude
Re-export commonly used types

Structs§

AppConfig
Application configuration
ChainConfig
Chain-specific configuration
ChainContract
Contract addresses for a chain
Config
Main configuration structure that aggregates all subsystems
ConfigBuilder
Builder for creating Config instances programmatically
DatabaseConfig
Database configuration
EvmNetworkConfig
EVM-specific network configuration
FeaturesConfig
Feature flags configuration
NetworkConfig
Network configuration
ProvidersConfig
External API providers configuration
RetryConfig
Retry configuration
SolanaNetworkConfig
Solana-specific network configuration

Enums§

AiProvider
AI provider enumeration
BlockchainProvider
Blockchain data provider enumeration
ConfigError
Configuration errors
DataProvider
Data provider enumeration
Environment
Application environment
EnvironmentSource
Source of environment variables (for testing and custom providers)
Feature
Feature enumeration
LogLevel
Log level configuration

Traits§

AddressValidator
Trait for validating blockchain addresses

Type Aliases§

ConfigResult
Configuration result type