feat(onboarding): enable opt-in scans from the wizard success step #181

Merged
sharang merged 2 commits from feat/enable-optin-scans into main 2026-07-16 20:52:51 +00:00
2 Commits
Author SHA1 Message Date
Sharang ParnerkarandClaude Opus 4.8 37dac862e8 feat(onboarding): accept modbus:// and opc.tcp:// live-URL refs
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 / Check (pull_request) Successful in 5m18s
CI / Detect Changes (pull_request) Has been skipped
CI / Deploy MCP (pull_request) Has been skipped
The ICS probe targets a device's OT ports (Modbus 502, OPC UA 4840,
EtherNet/IP 44818) via the target's LiveUrl artifact. The wizard's
client-side validation only accepted http(s):// refs, so a PLC endpoint
like modbus://plc:502 was rejected and the probe could never be
onboarded. parse_endpoint already understands the modbus:// scheme;
this just lets the ref through the wizard.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 22:36:34 +02:00
Sharang ParnerkarandClaude Opus 4.8 74ced0d740 feat(onboarding): enable opt-in scans from the wizard success step
CI / Detect Changes (pull_request) Has been cancelled
CI / Deploy Agent (pull_request) Has been cancelled
CI / Deploy Dashboard (pull_request) Has been cancelled
CI / Deploy Docs (pull_request) Has been cancelled
CI / Deploy MCP (pull_request) Has been cancelled
CI / Check (pull_request) Has been cancelled
The ICS probe (ScanType::IcsProbe) and other default-off scans are
applicable to a target but excluded from a run unless the target's
scan_config.enabled_scans lists them — build_scan_plan only includes a
scan when default_on || enabled_scans.contains(scan). Until now the
wizard had no way to enable them, so they could never be triggered.

Add a checkbox per applicable-but-default-off scan on the success step,
and a new enable_target_scans server fn that PATCHes
/api/v1/targets/{id} with { scan_config: { enabled_scans } }. Run scan
now persists the ticked scans (serde names, e.g. "icsprobe") before
triggering, so the first run includes them.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-16 22:33:33 +02:00