Configuration de référence
La version .NET se configure dans appsettings.json, à côté de l'application. Les secrets (clés du webhook, identifiants de vos systèmes) n'y vont jamais : ils vont dans le fichier de secrets.
Format
Les clés sont des sections JSON imbriquées. La clé Connector:filesystem:OutputPath s'écrit ainsi :
{
"Connector": {
"filesystem": {
"OutputPath": "D:\\SESARWebHook\\Output\\"
}
}
}
Dans un chemin Windows, doublez chaque barre oblique inverse. Comme dans toute application ASP.NET Core, une variable d'environnement peut remplacer une clé, avec __ comme séparateur : Connector__filesystem__OutputPath.
Clés
| Clé | Défaut | Effet |
|---|---|---|
DefaultConnectorId |
filesystem |
Connecteur appelé par POST /api/webhook. |
HandlersPath |
Handlers, dans le dossier de l'application |
Dossier des DLL de gestionnaires. Le chemin est utilisé tel quel : ~ n'est pas résolu. La route POST /api/handlers/rescan ignore ce réglage et relit le dossier par défaut. |
ConnectorsSecretsPath |
connectors.secrets.json, dans le dossier de l'application |
Chemin complet du fichier de secrets, nom du fichier compris. |
FileEntropy |
vide | Entropie DPAPI, en Base64. Voir Secrets et DPAPI. |
DataProtectionScope |
CurrentUser |
Portée DPAPI : CurrentUser ou LocalMachine. Toute autre valeur donne CurrentUser. |
EnableDebugEndpoints |
false |
true active les routes /api/debug/*. Jamais en production. |
Connector:{id}:* |
selon le connecteur | Réglages d'un connecteur intégré : voir sa page. |
Connector:generic:DefaultHandlerId |
aucun | Gestionnaire appelé par POST /api/webhook/generic. |
Handler:{id}:* |
aucun | Réglages d'un gestionnaire, transmis à son Initialize. |
AllowedHosts |
* |
Noms d'hôte acceptés par ASP.NET Core. Restreignez-le au nom de votre serveur. |
Logging:LogLevel |
Information, Warning pour Microsoft.AspNetCore |
Journalisation d'ASP.NET Core. |
Clés sans effet dans cette version
Ces clés figurent dans appsettings.json, mais aucun traitement ne les applique :
| Clé | Ce qu'elle fait réellement |
|---|---|
Connector:{id}:Enabled |
Affichée par GET /api/connectors. Elle ne désactive pas le connecteur : il traite les requêtes reçues à son adresse. |
Handler:{id}:Enabled |
Affichée par GET /api/handlers. Même limite. |
EnableDetailedLogging |
Affichée par GET /api/health/status. |
LogPath |
Aucun journal n'y est écrit. |
Pour qu'un connecteur ne soit jamais appelé, ne laissez joignable que l'adresse que SESAR utilise : voir Sécuriser le déploiement.
Réglages et secrets d'un connecteur ou d'un gestionnaire
L'application fusionne, pour chaque connecteur ou gestionnaire :
- les clés de sa section dans
appsettings.json(Connector:{id}ouHandler:{id}) ; - ses secrets dans le fichier de secrets (
Connectors.{id}.SecretsouHandlers.{id}.Secrets).
Un secret l'emporte sur une clé de même nom. Le résultat est lu une seule fois, puis gardé en mémoire : redémarrez l'application après toute modification.