73 lines
3.2 KiB
Markdown
73 lines
3.2 KiB
Markdown
# StellaOps Scheduler
|
||
|
||
Scheduler detects advisory/VEX deltas, computes impact windows, and orchestrates re-evaluations across Scanner and Policy Engine.
|
||
|
||
## Responsibilities
|
||
- Maintain impact cursors and queues for re-scan/re-evaluate jobs.
|
||
- Expose APIs for policy-triggered rechecks and runtime hooks.
|
||
- Emit DSSE-backed completion events for downstream consumers (UI, Notify).
|
||
- Provide SLA-aware retry logic with deterministic evaluation windows.
|
||
|
||
## Key components
|
||
- `StellaOps.Scheduler.WebService` control plane.
|
||
- `StellaOps.Scheduler.Worker` job executor.
|
||
- Shared libraries under `StellaOps.Scheduler.*`.
|
||
|
||
## Integrations & dependencies
|
||
- PostgreSQL (schema `scheduler`) for impact models.
|
||
- Valkey/NATS for queueing.
|
||
- Policy Engine, Scanner, Notify.
|
||
|
||
## Operational notes
|
||
- Monitoring assets in ./operations/worker-grafana-dashboard.json & worker-prometheus-rules.yaml.
|
||
- Operational runbook ./operations/worker.md.
|
||
|
||
## Related resources
|
||
- ./operations/worker.md
|
||
- ./operations/worker-grafana-dashboard.json
|
||
- ./operations/worker-prometheus-rules.yaml
|
||
|
||
## Backlog references
|
||
- SCHED-MODELS-20-001 (policy run DTOs) and related tasks in ../../TASKS.md.
|
||
- Scheduler observability follow-ups in src/Scheduler/**/TASKS.md.
|
||
|
||
## Implementation Status
|
||
|
||
### Current Objectives
|
||
- Maintain deterministic behaviour and offline parity across releases
|
||
- Keep documentation, telemetry, and runbooks aligned with latest sprint outcomes
|
||
- Coordinate with Policy Engine for incremental re-evaluation workflows
|
||
|
||
### Epic Milestones
|
||
- Epic 2 – Policy Engine & Editor: incremental policy run orchestration, change streams, explain trace propagation (in progress)
|
||
- Epic 6 – Vulnerability Explorer: findings updates and remediation triggers integration (in progress)
|
||
- Epic 9 – Orchestrator Dashboard: job telemetry and control surfaces for UI/CLI (planned)
|
||
|
||
### Core Capabilities
|
||
- Impact cursor maintenance and queue management for re-scan/re-evaluate jobs
|
||
- Change-stream detection for advisory/VEX/SBOM deltas
|
||
- Policy-triggered recheck orchestration with runtime hooks
|
||
- SLA-aware retry logic with deterministic evaluation windows
|
||
- DSSE-backed completion events for downstream consumers
|
||
|
||
### Integration Points
|
||
- PostgreSQL schema (scheduler) for impact models and job state
|
||
- Valkey/NATS for queueing with idempotency
|
||
- Policy Engine, Scanner, Notify for job coordination
|
||
- Orchestrator for backfills and incident routing
|
||
|
||
### Operational Assets
|
||
- Monitoring: worker-grafana-dashboard.json, worker-prometheus-rules.yaml
|
||
- Runbooks: operations/worker.md
|
||
- Observability: metrics, traces, structured logs with correlation IDs
|
||
|
||
### Technical Notes
|
||
- Coordination approach: review AGENTS.md, sync via docs/implplan/SPRINT_*.md
|
||
- Backlog tracking: SCHED-MODELS-20-001 and related tasks in ../../TASKS.md
|
||
- Module tasks: src/Scheduler/**/TASKS.md
|
||
|
||
## Epic alignment
|
||
- **Epic 2 – Policy Engine & Editor:** orchestrate incremental re-evaluation and simulation runs when raw facts or policies change.
|
||
- **Epic 6 – Vulnerability Explorer:** feed triage workflows with up-to-date job status, explain traces, and ledger hooks.
|
||
- **Epic 9 – Orchestrator Dashboard:** expose job telemetry, throttling, and replay controls through orchestration dashboards.
|