Bindet Lizenz, Watchdog, Fehler-Stream, UpdateService und Erstinstallation an
das Deploymentcenter 2.5.1 an. Einbauort ist IBKRTrader.Hosting - den Host
teilen sich Shell und Daemon.
Projekt-Befunde aus dem Konzept vorab bereinigt:
P1 Echte DB-Zugangsdaten als Vorgabewerte in AppSettings -> Platzhalter.
Das alte Passwort steht weiterhin in der Git-Historie und ist als
kompromittiert zu behandeln (Rotation ist Nutzer-Aktion).
P2 AppPaths fiel unter Windows auf /etc/ibkrtrader zurueck, was .NET zu
C:\etc\ibkrtrader aufloest. Jetzt %ProgramData%\IBKRTrader.
P3 Globale Ausnahmebehandler (AppDomain / TaskScheduler) - vorher gab es
keinen Logeintrag, wenn der Prozess unbehandelt wegbrach.
P4 Version einmal zentral in Directory.Build.props statt zweimal hartkodiert.
Bewusste Abweichungen vom DC-Leitfaden, beide fuer ein handelndes System:
- Lizenz-Urteil fuehrt zum Sperrbetrieb (TradingEnabled=false) statt zu
Environment.Exit(1). Keine neuen Einstiege, aber Risiko-, Exit- und
Buchhaltungslogik laufen weiter.
- exitCurrentApp bleibt immer false; der Aufrufer beendet geordnet.
Das SDK haengt als Cross-Repo-ProjectReference am Schwester-Repo
Deploymentcenter (Interim, siehe Konzept 2.2). Damit ist P5 offen: die
Gitea-CI checkt das Schwester-Repo nicht aus und wird rot, bis der Bezug auf
ein NuGet-Paket umgestellt ist.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
46 lines
922 B
JSON
46 lines
922 B
JSON
{
|
|
"Database": {
|
|
"Host": "your-db-host",
|
|
"Port": 3306,
|
|
"Database": "your-db-name",
|
|
"User": "your-db-user",
|
|
"Password": "CHANGE_ME"
|
|
},
|
|
"IBKR": {
|
|
"Host": "127.0.0.1",
|
|
"Port": 4002,
|
|
"ClientId": 1,
|
|
"UseTwsApi": false,
|
|
"MarketDataType": 4,
|
|
"ConnectTimeoutSeconds": 15,
|
|
"RequestTimeoutSeconds": 15,
|
|
"OrderTimeoutSeconds": 60
|
|
},
|
|
"Logging": {
|
|
"Level": "Info",
|
|
"MaxFileSizeMb": 10,
|
|
"RetentionDays": 30
|
|
},
|
|
"Webserver": {
|
|
"Port": 5001,
|
|
"Enabled": false
|
|
},
|
|
"WorkerSettings": {
|
|
"BackupWorker": {
|
|
"Enabled": true,
|
|
"IntervalMinutes": 30
|
|
}
|
|
},
|
|
"Deploymentcenter": {
|
|
"ApiToken": "",
|
|
"HeartbeatEnabled": true,
|
|
"MonitorSource": "",
|
|
"MonitorInstance": "default",
|
|
"HeartbeatIntervalSeconds": 60,
|
|
"ReportErrors": true,
|
|
"CheckUpdatesOnStart": true,
|
|
"UpdateChannel": "prod",
|
|
"LicenseKey": ""
|
|
}
|
|
}
|