v0.5.1-pre.008

This commit is contained in:
2026-08-10 11:21:07 +02:00
parent a2820062eb
commit 0e05c660c6
90 changed files with 2490 additions and 1613 deletions

View File

@@ -1,8 +1,14 @@
<!-- file: ks-logging/CHANGELOG.md -->
<!-- version: 18 -->
<!-- version: 20 -->
# CHANGELOG — ks-logging
## `0.5.1-pre.008`
- Fix: remplace un ancien fragment de credential Helius utilisé comme canari négatif par le nom synthétique `KS_SECRET_HELIUS_API_KEY`; aucune donnée réelle ou partielle de credential ne doit être conservée dans les tests.
- clarifie que la non-divulgation des secrets de configuration est garantie à la source et aux frontières public/diagnostic ; conserve comme défense en profondeur future l'évaluation d'un redactor générique pour des chaînes arbitraires fournies par les appelants.
## `0.5.1-pre.007`
- place `logs_directory` hors profils dans le document logging et le rend configurable via `${KS_LOGS_DIRECTORY:-logs}` ;

View File

@@ -1,12 +1,11 @@
<!-- file: ks-logging/TODO.md -->
<!-- version: 6 -->
<!-- version: 7 -->
# TODO — ks-logging
## Série `0.5.x`
- [ ] `0.5.1` - intégrer la propagation de sensibilité et le camouflage des valeurs provenant de `KS_SECRET_*` / `KB_SECRET_*` avant tout diagnostic ou log.
- [ ] Compatibilité - préserver targets, niveaux, filtres, formats, routes et sémantique wildcard pendant les prochaines migrations.
- [ ] Contrat - réévaluer `LogFileRoute`, actuellement sans consommateur actif hors de la crate.
- [ ] Tests - ajouter les canaris garantissant quun secret résolu natteint jamais une sortie logging.
- [ ] Défense en profondeur - évaluer ultérieurement un filtre de sortie générique pour les secrets fournis arbitrairement par les appelants, sans remplacer linterdiction de journaliser ces valeurs à la source.
- [ ] Documentation - maintenir le schéma et les exemples logging alignés avec les types possédés par la crate.

View File

@@ -1,5 +1,5 @@
// file: ks-logging/src/document.rs
// version: 5
// version: 6
//! Independent logging configuration document loading and validation.
@@ -351,7 +351,8 @@ fn require_non_empty(value: &str, field_name: &str) -> ks_core::Result<()> {
#[cfg(test)]
mod tests {
const DEFAULT_LOGGING_CONFIG: &str = include_str!("../../config/logging.config.json");
const EXAMPLE_LOGGING_CONFIG: &str = include_str!("../../config/example.logging.config.json");
const EXAMPLE_LOGGING_CONFIG: &str =
include_str!("../../config/exemples/example.logging.config.json");
fn parse_default_value() -> serde_json::Value {
let result = serde_json::from_str::<serde_json::Value>(DEFAULT_LOGGING_CONFIG);
@@ -522,7 +523,7 @@ mod tests {
#[test]
fn default_logging_config_uses_canonical_wallet_and_pipeline_routes() {
assert!(!DEFAULT_LOGGING_CONFIG.contains("api-key=95e73621"));
assert!(!DEFAULT_LOGGING_CONFIG.contains("KS_SECRET_HELIUS_API_KEY"));
assert!(!DEFAULT_LOGGING_CONFIG.contains("\"ks_wallet\""));
assert!(DEFAULT_LOGGING_CONFIG.contains("\"ks-wallet\""));
assert!(DEFAULT_LOGGING_CONFIG.contains("\"ks-pipeline\""));