diff --git a/compliance-dashboard/src/infrastructure/onboarding.rs b/compliance-dashboard/src/infrastructure/onboarding.rs index 596467e..0e7e5c2 100644 --- a/compliance-dashboard/src/infrastructure/onboarding.rs +++ b/compliance-dashboard/src/infrastructure/onboarding.rs @@ -78,8 +78,16 @@ pub fn validate_artifact_ref(kind: &str, source_ref: &str) -> Option { .then(|| "Enter a git URL — https://…, ssh://…, or git@host:path".to_string()) } "live_url" => { - let ok = (s.starts_with("https://") || s.starts_with("http://")) && no_space; - (!ok).then(|| "Enter an http(s) URL, e.g. https://app.example.com".to_string()) + // http(s) for web/DAST targets; modbus:// and opc.tcp:// for ICS + // devices probed by the ICS probe (e.g. modbus://plc:502). + let ok = (s.starts_with("https://") + || s.starts_with("http://") + || s.starts_with("modbus://") + || s.starts_with("opc.tcp://")) + && no_space; + (!ok).then(|| { + "Enter a URL — https://app.example.com, or modbus://host:502 for a PLC".to_string() + }) } "container_image" => { (!no_space).then(|| "Enter an image ref, e.g. registry/name:tag".to_string())