fix: always register node, remove broken skip logic and stray brace

This commit is contained in:
admin 2026-08-02 06:00:01 +00:00
parent 6f5c281089
commit 50ba28c2f9

View file

@ -83,55 +83,41 @@ func InstallNode(node state.Node, apiToken, apiHost, labels string) error {
fmt.Printf("[%s] Configuring NGINX module...\n", node.Name)
exec.Command("bash", filepath.Join(DeployTo, "pick-module.sh")).Run()
// 6. Register node — skip if this node was previously deployed
existingState, _ := state.Load()
alreadyRegistered := false
if existingState != nil {
for _, n := range existingState.Nodes {
if n.Name == node.Name {
alreadyRegistered = true
break
}
}
// 6. Register node
fmt.Printf("[%s] Registering node (this may take 30-60s)...\n", node.Name)
registerCmd := exec.Command(filepath.Join(DeployTo, "register-node"),
"job:register",
"-token", apiToken,
"-host", apiHost,
)
registerCmd.Dir = DeployTo
devNull, _ := os.Open(os.DevNull)
if devNull != nil {
registerCmd.Stdin = devNull
defer devNull.Close()
}
if alreadyRegistered {
fmt.Printf("[%s] Already registered, skipping.\n", node.Name)
} else {
fmt.Printf("[%s] Registering node (this may take 30-60s)...\n", node.Name)
registerCmd := exec.Command(filepath.Join(DeployTo, "register-node"),
"job:register",
"-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))
// 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))
}
// 8. Move /opt/wallarm → /opt/fw/{name}/wallarm