Files
git.stella-ops.org/src/JobEngine
master 70cbfcee72 feat(scheduler): postgres + redis webhook rate limiter runtime
Sprint SPRINT_20260417_019_JobEngine_truthful_webhook_rate_limiter_runtime.

NoOpWebhookRateLimiter + RedisWebhookRateLimiter, service-collection
wiring, WebhookRateLimiterRuntimeTests, SCHED-WEB-16-104-WEBHOOKS doc.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-19 14:41:42 +03:00
..

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_id DB columns remain as nullable legacy fields.

Note: The legacy StellaOps.JobEngine.Core, StellaOps.JobEngine.Infrastructure, StellaOps.JobEngine.Worker, and StellaOps.JobEngine.Tests libraries were removed (April 2026). Release-orchestrator now uses its own StellaOps.ReleaseOrchestrator.Persistence library. No active service depended on the old JobEngine libraries.

Module Structure

  • StellaOps.Scheduler.WebService/ -- Scheduler HTTP API service
  • StellaOps.Scheduler.Worker.Host/ -- Scheduler background worker
  • StellaOps.Scheduler.__Libraries/ -- Scheduler shared libraries (persistence, etc.)
  • StellaOps.Scheduler.__Tests/ -- Scheduler tests
  • StellaOps.PacksRegistry/ -- PacksRegistry core and infrastructure
  • StellaOps.PacksRegistry.__Libraries/ -- PacksRegistry shared libraries
  • StellaOps.PacksRegistry.__Tests/ -- PacksRegistry tests
  • StellaOps.JobEngine.WorkerSdk.Go/ -- Go worker SDK
  • StellaOps.JobEngine.WorkerSdk.Python/ -- Python worker SDK
  • plugins/ -- Job engine plugins

API Surface

  • scheduler (via Router) -- schedule CRUD, run history, graph jobs, policy runs, policy simulations, failure signatures, event webhooks, scripts endpoint
  • packsregistry (via Router) -- pack upload, download, version listing, approval workflow

Storage

PostgreSQL schema scheduler (Scheduler schedules, runs, audit, and persisted resolver-job state via scheduler.jobs); 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