Files
khadhroony-bot3/ks-config/README.md
2026-08-10 01:36:42 +02:00

2.5 KiB
Raw Blame History

ks-config

ks-config définit le contrat de configuration générale typé du workspace, son schéma JSON embarqué et les fonctions de chargement, résolution denvironnement, validation et sérialisation.

Responsabilités

  • exposer AppConfig et les sections de configuration générale ;
  • valider le JSON général contre config/schemas/app.config.schema.json ;
  • appliquer les invariants métier après désérialisation ;
  • charger .env, ou le fichier sélectionné par KS_ENV_FILE, depuis la racine du workspace ;
  • résoudre les placeholders namespacés ${KS_*} / ${KB_*} et leurs fallbacks ;
  • sélectionner le profil applicatif actif ;
  • exporter les types généraux nécessaires au frontend avec ts-rs.

Hors périmètre

ks-config ne possède plus le contrat logging. LoggingConfig, les routes, filtres, profils logging et config/schemas/logging.config.schema.json appartiennent à ks-logging.

La crate ninitialise ni PostgreSQL, ni les transports et ne manipule aucun secret de wallet. Elle fournit uniquement la configuration générale validée à ces consommateurs.

Surface publique

Les principales fonctions sont read_config_json_file_with_environment, parse_config_json, validate_config, validate_config_json_schema, active_profile et les sérialiseurs JSON.

Les types publics couvrent les profils applicatifs, endpoints, listeners, base de données, wallet, exécution et démonstration.

Relations

Statut

Le split config/logging est effectif : un profil applicatif ne transporte plus de bloc logging et la sélection logging est indépendante. La prerelease suivante sépare les représentations source/runtime/public/diagnostic et ferme lexposition des secrets résolus.

Documents