fix: skip registration if node.yaml exists, fix else block brace
This commit is contained in:
parent
7f7bff15ca
commit
938aa168b3
1 changed files with 40 additions and 8 deletions
|
|
@ -82,14 +82,46 @@ 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()
|
||||
|
||||
fmt.Printf("[%s] Registering node (this may take 30-60s)...\n", node.Name)
|
||||
registerCmd := exec.Command("bash", "-c",
|
||||
fmt.Sprintf("source %s/env.list 2>/dev/null; %s/register-node job:register -token '%s' -host '%s'",
|
||||
DeployTo, DeployTo, apiToken, apiHost))
|
||||
registerCmd.Dir = DeployTo
|
||||
out, regErr := registerCmd.CombinedOutput()
|
||||
if regErr != nil {
|
||||
return fmt.Errorf("register: %w\n%s", regErr, string(out))
|
||||
// 6. Register node (skip if already registered from previous run)
|
||||
nodeYaml := filepath.Join(DeployTo, "etc", "wallarm", "node.yaml")
|
||||
if _, err := os.Stat(nodeYaml); err == nil {
|
||||
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))
|
||||
}
|
||||
}
|
||||
|
||||
// 7. Stop our temporary NGINX, start Wallarm via supervisord
|
||||
|
|
|
|||
Loading…
Reference in a new issue