feat(pipeline): unified run_target execution behind UNIFIED_PIPELINE (#133 part 2)
CI / Check (pull_request) Successful in 5m27s
CI / Detect Changes (pull_request) Has been skipped
CI / Deploy Agent (pull_request) Has been skipped
CI / Deploy Dashboard (pull_request) Has been skipped
CI / Deploy Docs (pull_request) Has been skipped
CI / Deploy MCP (pull_request) Has been skipped
CI / Check (pull_request) Successful in 5m27s
CI / Detect Changes (pull_request) Has been skipped
CI / Deploy Agent (pull_request) Has been skipped
CI / Deploy Dashboard (pull_request) Has been skipped
CI / Deploy Docs (pull_request) Has been skipped
CI / Deploy MCP (pull_request) Has been skipped
Wire the scan-plan builder into a runnable pipeline that scans an OnboardedTarget: - AgentConfig.unified_pipeline (env UNIFIED_PIPELINE, default off). agent.run_scan dispatches to run_target when set, else the legacy run(). - orchestrator::run_target: loads the target from onboarded_targets, creates a ScanRun, and runs run_target_pipeline; run_target_pipeline builds the scan plan and, for a code (git) artifact, reuses the full legacy pipeline via a TrackedRepository view (clone → SAST umbrella → triage → persist → issues → DAST) then syncs findings_count + the git watermark back to the target. Firmware/PLC/mobile scanners are follow-ups (#128/#129/#130); URL-only targets attempt DAST. - repo_view_from_target: inverse of the migration's repo_to_target, _id-preserving. Additive + flag-gated: the legacy path is unchanged and default. Unit tests for repo_view_from_target (+ the part-1 build_scan_plan tests). Full E2E verification is via UNIFIED_PIPELINE=1 on a running instance. Closes #133. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5
parent
27d20ed11c
commit
cbe07261b1
@@ -49,6 +49,10 @@ pub struct AgentConfig {
|
||||
/// of tenants to iterate. When `None` or unreachable, scheduler
|
||||
/// falls back to `SCHEDULER_TENANT_IDS` env (M7.2-C).
|
||||
pub tenant_registry_url: Option<String>,
|
||||
/// When true, `run_scan` dispatches to the unified `run_target` pipeline
|
||||
/// (reads `onboarded_targets`) instead of the legacy repository pipeline.
|
||||
/// Env `UNIFIED_PIPELINE`. Defaults off during the transition.
|
||||
pub unified_pipeline: bool,
|
||||
}
|
||||
|
||||
#[derive(Clone, Debug, Serialize, Deserialize)]
|
||||
|
||||
Reference in New Issue
Block a user