Debian installs show the Controller drive wizard

wrolpi-bootstrap.sh created controller.yaml on installed systems, which
hid the onboarding wizard.  Installed systems now wait for the wizard,
whose repair.sh finishes setup.

"Run repair without external drive" now writes controller.yaml before
starting repair, so the wizard does not return after repair.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Roland 2026-10-13 15:42:55 -06:00
parent 697a8180c7
commit f3232f30ac
No known key found for this signature in database
GPG key ID: 1BA620CE6C9A4680
6 changed files with 119 additions and 1 deletions

View file

@ -19,6 +19,7 @@ from controller.lib.onboarding import (
cancel_probe,
commit_onboarding,
get_onboarding_candidates,
onboard_without_drive,
probe_drive,
)
@ -106,6 +107,25 @@ async def commit(request: OnboardingCommitRequest):
)
@router.post("/without-drive", response_model=OnboardingCommitResponse)
async def without_drive():
"""Keep the library on the internal disk, and start repair."""
_check_preconditions()
try:
result = onboard_without_drive()
except Exception as e:
result = {"success": False, "error": str(e)}
if not result.get("success"):
raise HTTPException(status_code=500, detail=result.get("error", "Onboarding failed"))
return OnboardingCommitResponse(
success=True,
mounts=result.get("mounts", []),
repair_started=result.get("repair_started", False),
)
@router.post("/cancel")
async def cancel():
"""Cancel onboarding probe (unmount temp mount)."""