feat(plc): ingest CODESYS projects from a git repo (SAST + SBOM) (#171)
CI / Check (push) Has been skipped
CI / Detect Changes (push) Successful in 3s
CI / Deploy Agent (push) Successful in 11m7s
CI / Deploy Dashboard (push) Successful in 7m0s
CI / Deploy Docs (push) Successful in 57s
CI / Deploy MCP (push) Successful in 1m48s

This commit was merged in pull request #171.
This commit is contained in:
2026-07-16 15:47:04 +00:00
parent 7369e031c4
commit a3f3f1d4f5
7 changed files with 241 additions and 25 deletions
@@ -214,6 +214,36 @@ pub fn OnboardingPage() -> Element {
// ---- Step 1: artifacts ----
if step_now == 1 {
div { class: "card-header", "Attach artifacts" }
if target_type() == "plc_sps" {
div {
style: "margin: 12px 16px 0; padding: 12px 14px; border-left: 3px solid var(--accent, #3b82f6); background: var(--surface-2, rgba(59,130,246,0.08)); font-size: 0.88em; line-height: 1.55;",
div { style: "font-weight: 600; margin-bottom: 4px;", "CODESYS / PLC projects" }
"Attach a "
b { "PLC project" }
" (PLCopen XML / ST, or a .projectarchive), or a "
b { "Git repository" }
" of exported source — every scan is then just a pull."
ul { style: "margin: 6px 0 0; padding-left: 18px;",
li {
b { "Control-logic SAST" }
" — commit "
b { "PLCopen XML exports" }
" (Project → Export PLCopenXML) or raw .st; ST and graphical FBD/LD are both analyzed."
}
li {
b { "Library + runtime SBOM" }
" — include the "
b { ".projectarchive" }
"; PLCopen XML alone carries no libraries."
}
li {
"Avoid committing only the binary "
code { ".project" }
" — it can't be parsed and doesn't diff."
}
}
}
}
div { style: "padding: 16px;",
div { style: "display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-end;",
div { class: "form-group", style: "margin: 0;",