Ported 3 database backend plugins with namespace adaptation: - Oracle: EF Core-based store with AQ signaling wiring (2 files) - MongoDB: Delegates to DataStore.MongoDB extension method (2 files) - PostgreSQL: Delegates to DataStore.PostgreSQL extension method (2 files) Implementation files already exist in __Libraries DataStore projects (ported in earlier commits). These plugins are thin IDependencyInjectionRoutine wrappers that enable dynamic plugin loading via the workflow plugin system. Also fleshed out the stub OracleWorkflowDataStoreExtensions to register WorkflowDbContext, OracleWorkflowRuntimeStateStore, and OracleWorkflowHostedJobLockService. All namespaces converted from Ablera.Serdica to StellaOps. Plugin interface adapted from IPluginServiceRegistrator to IDependencyInjectionRoutine. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Workflow
Container(s): stellaops-workflow Slot: (compose inline) | Port: 8080 | Consumer Group: workflow Resource Tier: medium
Purpose
The Workflow Engine provides a general-purpose workflow runtime for orchestrating multi-step release and operational processes. It supports workflow definition deployment, runtime execution, signal-driven task transitions, dead-letter handling, and authorization-gated task progression. It is the backbone for release promotion workflows.
API Surface
workflow(via Router) — workflow definition CRUD, instance lifecycle (start/signal/cancel), task queries, dead-letter management, projection queries (/api/workflowprefix)
Storage
PostgreSQL schema workflow (via ConnectionStrings:WorkflowPostgres, WorkflowBackend:Postgres)
Background Workers
- Signal pump hosted service — processes workflow signals from the event bus
- Retention hosted service — cleans up completed workflow instances
WorkflowDefinitionBootstrap— deploys built-in workflow definitions on startup