fix: curl or wget fallback for AIO download, preflight tweak

This commit is contained in:
admin 2026-08-03 10:40:14 +00:00
parent e62efa5534
commit 31cbb56629
2 changed files with 12 additions and 3 deletions

View file

@ -47,7 +47,13 @@ func InstallNode(node state.Node, apiToken, apiHost, labels, mode string) error
// 3. Download AIO once
if _, err := os.Stat(installerPath); os.IsNotExist(err) {
fmt.Printf("[%s] Downloading installer...\n", node.Name)
cmd := exec.Command("curl", "-fsSL", "-o", installerPath, installerURL())
url := installerURL()
var cmd *exec.Cmd
if _, err := exec.LookPath("curl"); err == nil {
cmd = exec.Command("curl", "-fsSL", "-o", installerPath, url)
} else {
cmd = exec.Command("wget", "-q", "-O", installerPath, url)
}
if out, err := cmd.CombinedOutput(); err != nil {
return fmt.Errorf("download: %w\n%s", err, string(out))
}

View file

@ -77,8 +77,11 @@ func Run() Result {
id, ver := shared.OSInfo()
r.Checks = append(r.Checks, Check{Name: "os", Passed: true, Detail: id + " " + ver})
// 5. Required commands
requiredCmds := []string{"curl", "systemctl", "sed", "mkdir", "rm"}
// 5. Required commands (curl or wget)
hasDownloader := shared.CommandExists("curl") || shared.CommandExists("wget")
r.Checks = append(r.Checks, Check{Name: "downloader", Passed: hasDownloader})
if !hasDownloader { r.Passed = false }
requiredCmds := []string{"systemctl", "sed", "mkdir", "rm"}
for _, cmd := range requiredCmds {
ok := shared.CommandExists(cmd)
r.Checks = append(r.Checks, Check{Name: "cmd:" + cmd, Passed: ok})