feat: provision recheck, hardware info preservation, ISO boot fixes #11

Merged
michal merged 1 commits from feat/recheck-and-fixes into main 2026-04-01 17:11:33 +00:00
Owner

Summary

  • Add labctl provision recheck command — SSHes into all installed machines, collects hardware info, updates bastion state
  • Preserve hardware info (CPU, cores, RAM, product) in InstalledInfo when install completes
  • Fix /ks-auto to run nested %pre scripts from included kickstarts (fixes /tmp/part.ks not found on R1)
  • Add command-discover WebSocket routing + labd /api/machines/discover endpoint
  • Fix k3s join: auto-clean stale TLS/cred/db when joining existing cluster
  • Add --tls-verify=false for internal HTTP registry pushes (10.0.0.194:3012)
  • Add fix-ssh-root.sh script for ensuring root SSH key access on all nodes

Test plan

  • All 225 tests pass
  • labctl provision recheck --user root successfully updates all 5 machines
  • R1 (worker2-k8s0) installed via ISO boot with dynamic /ks-auto
  • R1 joined k3s cluster as 3rd etcd server
  • fix-ssh-root.sh verified on all 5 machines

🤖 Generated with Claude Code

## Summary - Add `labctl provision recheck` command — SSHes into all installed machines, collects hardware info, updates bastion state - Preserve hardware info (CPU, cores, RAM, product) in `InstalledInfo` when install completes - Fix `/ks-auto` to run nested `%pre` scripts from included kickstarts (fixes `/tmp/part.ks` not found on R1) - Add `command-discover` WebSocket routing + labd `/api/machines/discover` endpoint - Fix k3s join: auto-clean stale TLS/cred/db when joining existing cluster - Add `--tls-verify=false` for internal HTTP registry pushes (10.0.0.194:3012) - Add `fix-ssh-root.sh` script for ensuring root SSH key access on all nodes ## Test plan - [x] All 225 tests pass - [x] `labctl provision recheck --user root` successfully updates all 5 machines - [x] R1 (worker2-k8s0) installed via ISO boot with dynamic /ks-auto - [x] R1 joined k3s cluster as 3rd etcd server - [x] fix-ssh-root.sh verified on all 5 machines 🤖 Generated with [Claude Code](https://claude.com/claude-code)
michal added 1 commit 2026-04-01 16:59:58 +00:00
feat: provision recheck, hardware info preservation, ISO boot fixes
Some checks failed
CI/CD / lint (pull_request) Failing after 1m26s
CI/CD / typecheck (pull_request) Failing after 11s
CI/CD / test (pull_request) Failing after 11s
CI/CD / build (pull_request) Has been skipped
CI/CD / publish-rpm (pull_request) Has been skipped
CI/CD / publish-deb (pull_request) Has been skipped
9ddab24931
- Add `labctl provision recheck` to refresh hardware info via SSH
- Preserve hardware info in InstalledInfo when install completes
- Fix /ks-auto: run nested %pre scripts from included kickstarts
- Add command-discover WebSocket routing for hw info updates
- Fix k3s join: clean stale TLS/cred when joining existing cluster
- Add --tls-verify=false for internal HTTP registry pushes
- Add fix-ssh-root.sh script for root SSH access on all nodes

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
michal merged commit 22e2946e95 into main 2026-04-01 17:11:33 +00:00
michal deleted branch feat/recheck-and-fixes 2026-04-01 17:11:33 +00:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: michal/lab#11