Expand description
Unified configuration management for Smith platform services
This crate provides a single source of truth for configuration across all Smith platform services (executor, HTTP server, NATS adapter, etc.).
Configuration can be loaded from:
- Environment variables (SMITH_* prefix)
- TOML configuration files
- Programmatic defaults
§Example
use smith_config::Config;
// Load from environment variables and optional config file
let config = Config::from_env()?;
// Access service-specific configuration
println!("NATS URL: {}", config.nats.url);
println!("HTTP port: {}", config.http.port);Re-exports§
pub use behavior::BehaviorMode;pub use behavior::BehaviorPack;pub use behavior::BehaviorPackManager;pub use behavior::EnabledCapabilities;pub use diff::BehaviorPackDiff;pub use diff::DiffSummary;pub use diff::RiskLevel;pub use executor::CgroupLimits;pub use executor::ExecutorConfig;pub use executor::ExecutorNatsConfig;pub use executor::LandlockProfile;pub use executor::PolicyDerivations;pub use http::HttpConfig;pub use mcp::McpConfig;pub use mcp::McpServerConfig;pub use nats::NatsConfig;pub use nats_adapter::AdapterConfig as NatsAdapterConfig;pub use nats_adapter::QueueConfig as NatsQueueConfig;pub use observability::ClickHouseConfig;pub use observability::CollectorConfig;pub use observability::HyperDxConfig;pub use observability::ObservabilityConfig;pub use observability::PerformanceThresholds;pub use observability::PhoenixConfig;pub use observability::RedactionLevel;pub use observability::SamplingStrategy;pub use shell::ShellConfig;pub use shell::ShellSpecificConfig;
Modules§
- app
- behavior
- Behavior pack configuration management
- diff
- Behavior pack diff analysis engine
- executor
- Executor service configuration
- http
- HTTP server configuration
- manifest
- Centralized list of environment variables used across Smith services. This helps keep dev/prod parity and avoids drift between crates.
- mcp
- MCP (Model Context Protocol) configuration for Smith
- nats
- NATS and JetStream configuration
- nats_
adapter - NATS adapter configuration shared across services
- observability
- Observability configuration for OpenTelemetry-based tracing and monitoring
- shell
- Shell execution configuration
Structs§
- Admission
Config - Admission service configuration
- Attestation
Config - Supply chain attestation configuration
- Behavior
Config - Behavior pack configuration
- Config
- Unified Smith platform configuration
- Config
Builder - Configuration builder for complex construction scenarios
- Core
Config - Core service configuration
- Logging
Config - Global logging configuration
- Metrics
Config - Global metrics configuration
- Monitoring
Config - Monitoring service configuration
- Nats
Logging Config - NATS-specific logging configuration
Enums§
- Config
Environment - Configuration environment types