Skip to main content

Module config

Module config 

Source
Expand description

Configuration management and validation.

Legacy re-export: the module now lives in the subx-core crate; the canonical path is subx_core::config. This alias exists for consumers that have not yet migrated and will be removed once they have. Configuration management module for SubX.

This module provides the complete configuration service system with dependency injection support and comprehensive type definitions.

§Key Components

§Validation System

The configuration system provides a layered validation architecture:

  • validation - Low-level validation functions for individual values
  • validator - High-level configuration section validators
  • field_validator - Key-value validation for configuration service

§Architecture

ConfigService
     ↓
field_validator (key-value validation)
     ↓
validation (primitive validation functions)

validator (section validation)
     ↓
validation (primitive validation functions)

§Examples

use subx_core::config::{Config, ConfigService, ProductionConfigService};

// Create a production configuration service
let config_service = ProductionConfigService::new()?;

// Load configuration
let config = config_service.get_config()?;
println!("AI Provider: {}", config.ai.provider);

§Architecture

The configuration system uses dependency injection to provide testable and maintainable configuration management. All configuration access should go through the ConfigService trait.

Modules§

builder
Configuration builder for fluent test configuration creation.
environment
Environment variable provider module.
field_validator
Key-value validation for configuration service.
masking
Utilities for masking sensitive configuration values for display.
service
Configuration service system for dependency injection and test isolation.
test_macros
Test macros for convenient configuration service testing.
test_service
Test configuration service for isolated testing.
validation
Low-level validation functions for individual configuration values.
validator
High-level configuration validation for configuration sections.

Structs§

AIConfig
AI service configuration parameters.
Config
Full application configuration for SubX.
FormatsConfig
Subtitle format related configuration.
GeneralConfig
General configuration settings for the SubX CLI tool.
ParallelConfig
Parallel processing configuration.
ProductionConfigService
Production configuration service implementation.
SyncConfig
Audio synchronization configuration supporting VAD speech detection.
SystemEnvironmentProvider
System environment variable provider implementation.
TestConfigBuilder
Fluent builder for creating test configurations.
TestConfigService
Test configuration service implementation.
TestEnvironmentProvider
Test environment variable provider implementation.
TranslationConfig
Subtitle translation configuration parameters.
VadConfig
Local Voice Activity Detection configuration.

Enums§

OverflowStrategy
Strategy for handling overflow when all workers are busy.

Traits§

ConfigService
Configuration service trait for dependency injection.
EnvironmentProvider
Environment variable provider trait.

Functions§

mask_sensitive_value
Return a display-safe representation of a configuration value.
validate_config
Validate the complete configuration.
validate_field
Validate and parse a configuration field based on its key.