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/USAGE.md -->
<!-- version: 5 -->
<!-- version: 6 -->
# Utilisation de ks-config
@@ -30,17 +30,17 @@ let report = match ks_config::load_workspace_environment(std::path::Path::new(".
Err(error) => return Err(error),
};
for path in report.loaded_files {
if let Some(path) = report.loaded_path {
println!("environment file: {}", path.display());
}
```
`EnvironmentLoadReport` indique les fichiers chargés. Les placeholders non résolus sans fallback restent visibles afin que la validation ou le consommateur puisse les signaler explicitement. Le format `0.4.8` accepte encore les anciens noms denvironnement ; la migration `0.5.1` imposera le namespace `KS_*`.
`EnvironmentLoadReport` indique le fichier chargé, sil existe. Par défaut, `ks-config` sélectionne `.env`; `KS_ENV_FILE` permet de choisir explicitement un autre fichier sans écraser les variables déjà présentes dans le processus. Les placeholders non résolus sans fallback restent visibles afin que la validation ou le consommateur puisse les signaler explicitement. Les contrats denvironnement du workspace utilisent désormais `KS_*` pour Khadhroony Solana et `KB_*` pour les futurs besoins réellement propres au Bot.
## Résolution explicite des placeholders
```rust
let raw = r#"{"databaseUrl":"${KB_DATABASE_URL:-postgres://localhost/kb}"}"#;
let raw = r#"{"databaseUrl":"${KS_SECRET_POSTGRES_DEVNET_URL:-postgres://localhost/kb}"}"#;
let resolved = ks_config::resolve_environment_placeholders(raw);
assert!(resolved.contains("databaseUrl"));