22 lines
708 B
Go
22 lines
708 B
Go
package cluster
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
// normalizeShutdownMode runs one orchestration or CLI step.
|
|
// Signature: normalizeShutdownMode(raw string) (string, error).
|
|
// Why: keeps shutdown behavior explicit and safe by allowing only cluster-only
|
|
// semantics while preserving compatibility with legacy "config" callers.
|
|
func normalizeShutdownMode(raw string) (string, error) {
|
|
switch strings.TrimSpace(raw) {
|
|
case "", "config", "cluster-only":
|
|
return "cluster-only", nil
|
|
case "poweroff":
|
|
return "", fmt.Errorf("shutdown mode %q has been removed; ananke no longer powers off hosts", raw)
|
|
default:
|
|
return "", fmt.Errorf("unsupported shutdown mode %q (expected config|cluster-only)", raw)
|
|
}
|
|
}
|