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
|
// 3. Download AIO once
|
||||||
if _, err := os.Stat(installerPath); os.IsNotExist(err) {
|
if _, err := os.Stat(installerPath); os.IsNotExist(err) {
|
||||||
fmt.Printf("[%s] Downloading installer...\n", node.Name)
|
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 {
|
if out, err := cmd.CombinedOutput(); err != nil {
|
||||||
return fmt.Errorf("download: %w\n%s", err, string(out))
|
return fmt.Errorf("download: %w\n%s", err, string(out))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,8 +77,11 @@ func Run() Result {
|
||||||
id, ver := shared.OSInfo()
|
id, ver := shared.OSInfo()
|
||||||
r.Checks = append(r.Checks, Check{Name: "os", Passed: true, Detail: id + " " + ver})
|
r.Checks = append(r.Checks, Check{Name: "os", Passed: true, Detail: id + " " + ver})
|
||||||
|
|
||||||
// 5. Required commands
|
// 5. Required commands (curl or wget)
|
||||||
requiredCmds := []string{"curl", "systemctl", "sed", "mkdir", "rm"}
|
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 {
|
for _, cmd := range requiredCmds {
|
||||||
ok := shared.CommandExists(cmd)
|
ok := shared.CommandExists(cmd)
|
||||||
r.Checks = append(r.Checks, Check{Name: "cmd:" + cmd, Passed: ok})
|
r.Checks = append(r.Checks, Check{Name: "cmd:" + cmd, Passed: ok})
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue