Files
git.stella-ops.org/docs/features/checked/jobengine/export-job-service.md

2.7 KiB

Export Job Service

Module

Orchestrator

Status

IMPLEMENTED

Description

Export job management with service and domain model for orchestrated export operations.

Implementation Details

  • Modules: src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Services/, src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Domain/Export/
  • Key Classes:
    • ExportJobService (src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Services/ExportJobService.cs) - manages export job lifecycle: creation, scheduling, execution tracking, and completion
    • ExportJob (src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Domain/Export/ExportJob.cs) - export job entity with status, target, format, and schedule
    • ExportJobPolicy (src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Domain/Export/ExportJobPolicy.cs) - policy controlling export permissions and constraints
    • ExportJobTypes (src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Domain/Export/ExportJobTypes.cs) - enumeration of supported export types (evidence pack, audit report, snapshot)
    • ExportSchedule (src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Core/Domain/Export/ExportSchedule.cs) - scheduling configuration for recurring exports
    • LedgerExporter (src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Infrastructure/Ledger/LedgerExporter.cs) - exports audit ledger data for compliance and audit
    • ExportJobEndpoints (src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.WebService/Endpoints/ExportJobEndpoints.cs) - REST API for creating, querying, and managing export jobs
  • Interfaces: ILedgerExporter (src/JobEngine/StellaOps.JobEngine/StellaOps.JobEngine.Infrastructure/Ledger/ILedgerExporter.cs)
  • Source: Feature matrix scan

E2E Test Plan

  • Create an export job via ExportJobEndpoints with type=evidence_pack and verify it is persisted with status=Pending
  • Execute the export job via ExportJobService and verify status transitions: Pending -> Running -> Completed
  • Verify export policy enforcement: create an export job with a restricted type and verify ExportJobPolicy rejects it
  • Schedule a recurring export via ExportSchedule and verify the next execution is computed correctly
  • Export audit ledger data via LedgerExporter and verify the output contains all entries within the specified time range
  • Create an export job with retention policy and verify completed exports are cleaned up after expiry
  • Query export jobs via ExportJobEndpoints with status filter and verify pagination works correctly
  • Test export failure: simulate an export error and verify the job transitions to Failed with error details