0.5.1-pre.004

This commit is contained in:
2026-08-09 22:52:37 +02:00
parent 6151bb25e7
commit ec07ddbd80
53 changed files with 989 additions and 886 deletions

View File

@@ -1,5 +1,5 @@
// file: ks-config/src/environment.rs
// version: 4
// version: 5
//! Environment-file loading and configuration placeholder resolution.
@@ -17,7 +17,7 @@ pub struct EnvironmentLoadReport {
pub fn load_workspace_environment(
workspace_root: &std::path::Path,
) -> ks_core::Result<EnvironmentLoadReport> {
let explicit_path = std::env::var("KB_ENV_FILE").ok();
let explicit_path = std::env::var("KS_ENV_FILE").ok();
let selected_path = match explicit_path {
std::option::Option::Some(path) if !path.trim().is_empty() => {
let candidate = std::path::PathBuf::from(path);
@@ -82,14 +82,14 @@ mod tests {
#[test]
fn fallback_is_used_when_variable_is_absent() {
let resolved =
super::resolve_environment_placeholders("${KB_CONFIG_TEST_MISSING:-fallback}");
super::resolve_environment_placeholders("${KS_CONFIG_TEST_MISSING:-fallback}");
assert_eq!(resolved, "fallback");
}
#[test]
fn unresolved_required_placeholder_is_preserved() {
let resolved =
super::resolve_environment_placeholders("prefix-${KB_CONFIG_TEST_MISSING}-suffix");
assert_eq!(resolved, "prefix-${KB_CONFIG_TEST_MISSING}-suffix");
super::resolve_environment_placeholders("prefix-${KS_CONFIG_TEST_MISSING}-suffix");
assert_eq!(resolved, "prefix-${KS_CONFIG_TEST_MISSING}-suffix");
}
}

View File

@@ -1,5 +1,5 @@
// file: ks-config/src/settings.rs
// version: 18
// version: 19
//! Typed configuration models shared by applications and workers.
@@ -1453,15 +1453,15 @@ mod tests {
let value = parse_example_value();
assert_eq!(
value["profiles"][0]["database"]["postgres"]["url"],
serde_json::Value::String("${KB_POSTGRES_DEVNET_URL}".to_string())
serde_json::Value::String("${KS_SECRET_POSTGRES_DEVNET_URL}".to_string())
);
assert_eq!(
value["profiles"][1]["database"]["postgres"]["url"],
serde_json::Value::String("${KB_POSTGRES_MAINNET_URL}".to_string())
serde_json::Value::String("${KS_SECRET_POSTGRES_MAINNET_URL}".to_string())
);
assert_eq!(
value["profiles"][2]["database"]["postgres"]["url"],
serde_json::Value::String("${KB_POSTGRES_MAINNET_URL}".to_string())
serde_json::Value::String("${KS_SECRET_POSTGRES_MAINNET_URL}".to_string())
);
}
@@ -1487,7 +1487,7 @@ mod tests {
fn schema_rejects_unknown_endpoint_secret_field() {
let mut value = parse_example_value();
value["profiles"][0]["solana"]["http_endpoints"][0]["secret_env_field"] =
serde_json::Value::String("HELIUS_API_KEY".to_string());
serde_json::Value::String("KS_SECRET_HELIUS_API_KEY".to_string());
let raw_json = value_to_json(&value);
let result = super::validate_config_json_schema(&raw_json);
assert!(result.is_err());