ks-config
ks-config fournit les contrats de configuration généralistes Khadhroony Solana, les chargeurs de documents spécialisés et la résolution des compositions utilisées par les binaires.
Responsabilités
- charger l'environnement du workspace et résoudre les placeholders
${KS_*}/${KB_*}; - valider les documents transport, listeners et composition contre leurs schémas sous
config/schemas/; - fournir les types partagés d'endpoints, listeners et profils runtime ;
- résoudre les références d'une composition vers des profils transport/listeners ;
- reconstruire temporairement
AppConfig/ProfileConfigpour les consommateurs existants ; - rester indépendant de la liste des applications et workers futurs.
Composition
Le desktop possède config/kb-app-demo-desktop.default.config.json. Le CLI des scénarios possède config/ks-pipeline-demo-scenarios.default.config.json.
Une composition choisit :
- les documents partagés à charger ;
- le profil logging ;
- le profil transport ;
- le profil listeners ;
- temporairement les sections encore non séparées.
Un futur worker pourra donc ajouter son propre <binary>.default.config.json sans créer une branche spécifique dans ks-config.
Documents spécialisés actuels
config/transport.config.json/config/schemas/transport.config.schema.json;config/listeners.config.json/config/schemas/listeners.config.schema.json;config/logging.config.jsonreste possédé parks-logging;config/schemas/resolved.app.config.schema.jsondécrit uniquement le contrat runtime transitoire.
Les anciens config/app.config.json et config/example.app.config.json ne sont plus des fichiers runtime.
API publique principale
read_composed_app_config_with_environment;parse_composition_json,composition_profile,active_composition_profile;read_transport_json_file_with_environment,transport_profile;read_listeners_json_file_with_environment,listeners_profile;compose_app_config;load_workspace_environment,resolve_environment_placeholders;AppConfig,ProfileConfigpendant la phase de compatibilité.
Frontières
ks-logging dépend de ks-config pour les helpers d'environnement, mais ks-config ne possède aucun type logging runtime.
ks-onchain-transport peut consommer directement TransportProfileConfig. Un worker n'a donc pas besoin d'un profil applicatif complet pour construire ses pools réseau.
Les sections database/data, wallet, execution et demo restent transitoires dans la composition jusqu'au split suivant.