feat: Implement Scheduler Worker Options and Planner Loop

- Added `SchedulerWorkerOptions` class to encapsulate configuration for the scheduler worker.
- Introduced `PlannerBackgroundService` to manage the planner loop, fetching and processing planning runs.
- Created `PlannerExecutionService` to handle the execution logic for planning runs, including impact targeting and run persistence.
- Developed `PlannerExecutionResult` and `PlannerExecutionStatus` to standardize execution outcomes.
- Implemented validation logic within `SchedulerWorkerOptions` to ensure proper configuration.
- Added documentation for the planner loop and impact targeting features.
- Established health check endpoints and authentication mechanisms for the Signals service.
- Created unit tests for the Signals API to ensure proper functionality and response handling.
- Configured options for authority integration and fallback authentication methods.
This commit is contained in:
master
2025-10-27 09:46:31 +02:00
parent 799f787de2
commit 14617e9c3b
135 changed files with 10721 additions and 946 deletions

View File

@@ -367,6 +367,10 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Concelier.RawMode
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Concelier.RawModels.Tests", "StellaOps.Concelier.RawModels.Tests\StellaOps.Concelier.RawModels.Tests.csproj", "{7FACF6B4-7E12-4543-AAD4-0072FA1ECE0E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Signals", "StellaOps.Signals\StellaOps.Signals.csproj", "{1561D597-922F-486E-ACF4-98250DDC5CDA}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StellaOps.Signals.Tests", "StellaOps.Signals.Tests\StellaOps.Signals.Tests.csproj", "{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -2477,6 +2481,30 @@ Global
{7FACF6B4-7E12-4543-AAD4-0072FA1ECE0E}.Release|x64.Build.0 = Release|Any CPU
{7FACF6B4-7E12-4543-AAD4-0072FA1ECE0E}.Release|x86.ActiveCfg = Release|Any CPU
{7FACF6B4-7E12-4543-AAD4-0072FA1ECE0E}.Release|x86.Build.0 = Release|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Debug|x64.ActiveCfg = Debug|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Debug|x64.Build.0 = Debug|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Debug|x86.ActiveCfg = Debug|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Debug|x86.Build.0 = Debug|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Release|Any CPU.Build.0 = Release|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Release|x64.ActiveCfg = Release|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Release|x64.Build.0 = Release|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Release|x86.ActiveCfg = Release|Any CPU
{1561D597-922F-486E-ACF4-98250DDC5CDA}.Release|x86.Build.0 = Release|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Debug|Any CPU.Build.0 = Debug|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Debug|x64.ActiveCfg = Debug|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Debug|x64.Build.0 = Debug|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Debug|x86.ActiveCfg = Debug|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Debug|x86.Build.0 = Debug|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Release|Any CPU.ActiveCfg = Release|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Release|Any CPU.Build.0 = Release|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Release|x64.ActiveCfg = Release|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Release|x64.Build.0 = Release|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Release|x86.ActiveCfg = Release|Any CPU
{D7B25EC1-CDC8-4D2D-8569-826568E1AAD2}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE