1.9 KiB
kb-config
kb-config définit le contrat de configuration typé du workspace, son schéma JSON embarqué et les fonctions de chargement, résolution d’environnement, validation et sérialisation.
Responsabilités
- exposer
AppConfiget les sections de configuration publiques ; - valider le JSON contre le schéma embarqué ;
- appliquer les invariants métier après désérialisation ;
- charger
.envet.env.localdepuis la racine du workspace ; - résoudre les placeholders
${NAME}et${NAME:-fallback}; - sélectionner le profil actif ;
- exporter les types nécessaires au frontend avec
ts-rs.
Hors périmètre
La crate n’initialise ni le logging, ni PostgreSQL, ni les transports et ne manipule aucun secret de wallet. Elle fournit uniquement la configuration 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, endpoints, listeners, logging, base de données, wallet, exécution et démonstration.
Relations
- dépend de
kb-corepour les erreurs structurées ; - alimente
kb-logging,kb-store,kb-onchain-transport,kb-pipeline,kb-walletet les applications ; - utilise
../config/example.config.jsonet../config/schema.config.jsoncomme exemple utilisateur et contrat de schéma actifs.
Statut
La configuration actuelle est fonctionnelle et validée. Un futur découpage de la configuration générale et du logging est prévu en 0.5.x afin de réduire les duplications entre profils.