Skip to main content

Crate smith_config

Crate smith_config 

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

AdmissionConfig
Admission service configuration
AttestationConfig
Supply chain attestation configuration
BehaviorConfig
Behavior pack configuration
Config
Unified Smith platform configuration
ConfigBuilder
Configuration builder for complex construction scenarios
CoreConfig
Core service configuration
LoggingConfig
Global logging configuration
MetricsConfig
Global metrics configuration
MonitoringConfig
Monitoring service configuration
NatsLoggingConfig
NATS-specific logging configuration

Enums§

ConfigEnvironment
Configuration environment types