Platform (~40 state-changing endpoints annotated): - EnvironmentSettingsAdmin: update/delete environment settings - IdentityProvider: create/update/delete/enable/disable/test/apply - CryptoProviderAdmin: update/delete crypto preferences - AdministrationTrustSigning: create/rotate/revoke keys, register/block/unblock issuers, register/revoke certificates, configure transparency log - PlatformEndpoints: quota alerts, onboarding complete/skip, preferences update, dashboard profile create - SetupEndpoints: create session, execute/skip steps, finalize setup - ScoreEndpoints: evaluate/verify score - ScriptEndpoints: create/update/delete scripts - ReleaseOrchestratorEnvironment: CRUD environments/targets/freeze-windows Notify (~30 state-changing endpoints annotated): - NotifyApi (v2): rules CRUD, templates CRUD, incident ack/resolve - RuleEndpoints (v2): create/update/delete rules - TemplateEndpoints (v2): create/update/delete templates - EscalationEndpoints: CRUD policies, schedules, overrides; start/escalate/stop - QuietHoursEndpoints: create/update/delete calendars - ThrottleEndpoints: update/delete config - OperatorOverrideEndpoints: create/revoke overrides Scheduler (~10 state-changing endpoints annotated): - ScheduleEndpoints: create/update/delete/pause/resume schedules - RunEndpoints: create/cancel/retry runs - GraphJobEndpoints: create build/overlay graph jobs - PolicyRunEndpoints: create policy run - Added StellaOps.Audit.Emission project reference + AddAuditEmission() registration - Fixed pre-existing ScanJobPlugin.cs build error (Success -> Valid) ReleaseOrchestrator (~25 state-changing endpoints annotated): - ReleaseEndpoints: create/update/delete/ready/promote/deploy/rollback/clone releases, add/update/remove components - ApprovalEndpoints: approve/reject/batch-approve/batch-reject - DeploymentEndpoints: create/pause/resume/cancel/rollback/retry deployments - EvidenceEndpoints: verify evidence - ScriptsEndpoints: create/update/delete scripts - ReleaseDashboardEndpoints: approve/reject promotions - ReleaseControlV2Endpoints: approval decision, rollback run Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
JobEngine
Container(s): stellaops-scheduler-web, stellaops-scheduler-worker, stellaops-packsregistry-web, stellaops-packsregistry-worker Slot: 19 (scheduler), 34 (packsregistry) | Port: 8080 | Consumer Group: scheduler, packsregistry Resource Tier: medium (scheduler), light (packsregistry)
Purpose
The JobEngine module provides scheduled scan orchestration and pack registry management. The Scheduler manages scan schedules (CRON-based), graph jobs, policy simulation runs, vulnerability resolver jobs, and failure signatures. The PacksRegistry stores and serves versioned task pack bundles.
Note: TaskRunner (Slot 18) was removed. The
task_runner_idDB columns remain as nullable legacy fields.Note: The legacy
StellaOps.JobEngine.Core,StellaOps.JobEngine.Infrastructure,StellaOps.JobEngine.Worker, andStellaOps.JobEngine.Testslibraries were removed (April 2026). Release-orchestrator now uses its ownStellaOps.ReleaseOrchestrator.Persistencelibrary. No active service depended on the old JobEngine libraries.
Module Structure
StellaOps.Scheduler.WebService/-- Scheduler HTTP API serviceStellaOps.Scheduler.Worker.Host/-- Scheduler background workerStellaOps.Scheduler.__Libraries/-- Scheduler shared libraries (persistence, etc.)StellaOps.Scheduler.__Tests/-- Scheduler testsStellaOps.PacksRegistry/-- PacksRegistry core and infrastructureStellaOps.PacksRegistry.__Libraries/-- PacksRegistry shared librariesStellaOps.PacksRegistry.__Tests/-- PacksRegistry testsStellaOps.JobEngine.WorkerSdk.Go/-- Go worker SDKStellaOps.JobEngine.WorkerSdk.Python/-- Python worker SDKplugins/-- Job engine plugins
API Surface
scheduler(via Router) -- schedule CRUD, run history, graph jobs, policy runs, policy simulations, failure signatures, event webhooks, scripts endpointpacksregistry(via Router) -- pack upload, download, version listing, approval workflow
Storage
PostgreSQL schema scheduler (Scheduler); PostgreSQL for PacksRegistry; Valkey queue for job dispatch; seed-fs object store for artifacts
Background Workers
- Scheduler:
SchedulerWorkerHostedService-- picks up scheduled jobs from Valkey and dispatches scan runs - PacksRegistry: worker process for background pack processing