fix: always register node, remove broken skip logic and stray brace
This commit is contained in:
parent
6f5c281089
commit
50ba28c2f9
1 changed files with 33 additions and 47 deletions
|
|
@ -83,55 +83,41 @@ func InstallNode(node state.Node, apiToken, apiHost, labels string) error {
|
||||||
fmt.Printf("[%s] Configuring NGINX module...\n", node.Name)
|
fmt.Printf("[%s] Configuring NGINX module...\n", node.Name)
|
||||||
exec.Command("bash", filepath.Join(DeployTo, "pick-module.sh")).Run()
|
exec.Command("bash", filepath.Join(DeployTo, "pick-module.sh")).Run()
|
||||||
|
|
||||||
// 6. Register node — skip if this node was previously deployed
|
// 6. Register node
|
||||||
existingState, _ := state.Load()
|
fmt.Printf("[%s] Registering node (this may take 30-60s)...\n", node.Name)
|
||||||
alreadyRegistered := false
|
registerCmd := exec.Command(filepath.Join(DeployTo, "register-node"),
|
||||||
if existingState != nil {
|
"job:register",
|
||||||
for _, n := range existingState.Nodes {
|
"-token", apiToken,
|
||||||
if n.Name == node.Name {
|
"-host", apiHost,
|
||||||
alreadyRegistered = true
|
)
|
||||||
break
|
registerCmd.Dir = DeployTo
|
||||||
}
|
devNull, _ := os.Open(os.DevNull)
|
||||||
}
|
if devNull != nil {
|
||||||
|
registerCmd.Stdin = devNull
|
||||||
|
defer devNull.Close()
|
||||||
}
|
}
|
||||||
if alreadyRegistered {
|
// Set environment from env.list
|
||||||
fmt.Printf("[%s] Already registered, skipping.\n", node.Name)
|
envData, _ := os.ReadFile(filepath.Join(DeployTo, "env.list"))
|
||||||
} else {
|
for _, line := range strings.Split(string(envData), "\n") {
|
||||||
fmt.Printf("[%s] Registering node (this may take 30-60s)...\n", node.Name)
|
line = strings.TrimSpace(line)
|
||||||
registerCmd := exec.Command(filepath.Join(DeployTo, "register-node"),
|
if line == "" || strings.HasPrefix(line, "#") {
|
||||||
"job:register",
|
continue
|
||||||
"-token", apiToken,
|
|
||||||
"-host", apiHost,
|
|
||||||
)
|
|
||||||
registerCmd.Dir = DeployTo
|
|
||||||
devNull, _ := os.Open(os.DevNull)
|
|
||||||
if devNull != nil {
|
|
||||||
registerCmd.Stdin = devNull
|
|
||||||
defer devNull.Close()
|
|
||||||
}
|
|
||||||
// Set environment from env.list
|
|
||||||
envData, _ := os.ReadFile(filepath.Join(DeployTo, "env.list"))
|
|
||||||
for _, line := range strings.Split(string(envData), "\n") {
|
|
||||||
line = strings.TrimSpace(line)
|
|
||||||
if line == "" || strings.HasPrefix(line, "#") {
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
registerCmd.Env = append(registerCmd.Env, line)
|
|
||||||
}
|
|
||||||
registerCmd.Env = append(registerCmd.Env, os.Environ()...)
|
|
||||||
regLog, _ := os.Create(filepath.Join(DeployTo, "register.log"))
|
|
||||||
if regLog != nil {
|
|
||||||
registerCmd.Stdout = regLog
|
|
||||||
registerCmd.Stderr = regLog
|
|
||||||
}
|
|
||||||
regErr := registerCmd.Run()
|
|
||||||
if regLog != nil {
|
|
||||||
regLog.Close()
|
|
||||||
}
|
|
||||||
if regErr != nil {
|
|
||||||
data, _ := os.ReadFile(filepath.Join(DeployTo, "register.log"))
|
|
||||||
return fmt.Errorf("register: %w\n%s", regErr, string(data))
|
|
||||||
}
|
}
|
||||||
|
registerCmd.Env = append(registerCmd.Env, line)
|
||||||
|
}
|
||||||
|
registerCmd.Env = append(registerCmd.Env, os.Environ()...)
|
||||||
|
regLog, _ := os.Create(filepath.Join(DeployTo, "register.log"))
|
||||||
|
if regLog != nil {
|
||||||
|
registerCmd.Stdout = regLog
|
||||||
|
registerCmd.Stderr = regLog
|
||||||
|
}
|
||||||
|
regErr := registerCmd.Run()
|
||||||
|
if regLog != nil {
|
||||||
|
regLog.Close()
|
||||||
|
}
|
||||||
|
if regErr != nil {
|
||||||
|
data, _ := os.ReadFile(filepath.Join(DeployTo, "register.log"))
|
||||||
|
return fmt.Errorf("register: %w\n%s", regErr, string(data))
|
||||||
}
|
}
|
||||||
|
|
||||||
// 8. Move /opt/wallarm → /opt/fw/{name}/wallarm
|
// 8. Move /opt/wallarm → /opt/fw/{name}/wallarm
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue