docs.rs failed to build systemprompt-config-0.0.2
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
systemprompt-config
Configuration module for systemprompt.io - environment configuration and validation.
Overview
Part of the Infra layer in the systemprompt.io architecture.
This crate provides configuration management for the systemprompt.io platform:
- YAML Configuration Loading: Loads and merges base and environment-specific YAML files
- Variable Resolution: Resolves
${VAR_NAME}and${VAR_NAME:-default}patterns - Secrets Management: Loads
.env.secretsfiles into environment - Validation: Validates configuration completeness, URL formats, and environment-specific rules
- File Generation: Writes
.envfiles for deployment
File Structure
src/
├── lib.rs # Crate root - public API exports
└── services/
├── mod.rs # Module declarations and re-exports
├── manager.rs # ConfigManager - YAML loading, merging, variable resolution
├── schema_validation.rs # Generic YAML/JSON schema validation utilities
├── types.rs # DeployEnvironment, DeploymentConfig, EnvironmentConfig
├── validator.rs # ConfigValidator, ValidationReport
└── writer.rs # ConfigWriter - .env file generation
Modules
manager.rs
Core configuration management functionality:
ConfigManager::new(project_root)- Initialize with project pathConfigManager::generate_config(environment)- Load and merge YAML configs- Variable resolution with environment variable fallback
- Secrets file loading
schema_validation.rs
Generic schema validation utilities:
validate_config<T>()- Validate YAML against typed schemavalidate_yaml_file()- Parse and validate YAML syntaxgenerate_schema<T>()- Generate JSON schema from typesbuild_validate_configs()- Build-time validation for build.rs
types.rs
Configuration type definitions:
DeployEnvironment- Enum: Local, DockerDev, ProductionDeploymentConfig- Raw YAML configuration containerEnvironmentConfig- Resolved environment variables
validator.rs
Configuration validation:
ConfigValidator::validate()- Run all validation checksValidationReport- Collect errors and warnings- Checks: unresolved variables, required variables, URL formats, port values
writer.rs
Configuration file output:
ConfigWriter::write_env_file()- Write standard .env fileConfigWriter::write_web_env_file()- Write VITE_* variables for web builds
Public API
use ;
Dependencies
| Crate | Purpose |
|---|---|
systemprompt-logging |
CLI output via CliService |
serde_yaml |
YAML parsing |
schemars |
JSON schema generation |
regex |
Variable resolution patterns |
anyhow |
Error handling |
thiserror |
Typed errors for schema validation |
tracing |
Warning logs for unsupported features |
Installation
Add to your Cargo.toml:
[]
= "0.0.1"
License
FSL-1.1-ALv2 - See LICENSE for details.