fix: curl or wget fallback for AIO download, preflight tweak
This commit is contained in:
parent
e62efa5534
commit
31cbb56629
2 changed files with 12 additions and 3 deletions
|
|
@ -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))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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})
|
||||
|
|
|
|||
Loading…
Reference in a new issue