package main import ( "os" "path/filepath" ) const nodeTokenFileName = "node.token" func nodeTokenPath(dataDir string) string { return filepath.Join(dataDir, nodeTokenFileName) } // loadNodeToken reads the persisted node authentication token, if any. func loadNodeToken(dataDir string) (string, error) { path := nodeTokenPath(dataDir) data, err := os.ReadFile(path) if err != nil { return "", err } return string(data), nil } // saveNodeToken persists the node authentication token with restrictive permissions. func saveNodeToken(dataDir string, token string) error { if err := os.MkdirAll(dataDir, 0755); err != nil { return err } path := nodeTokenPath(dataDir) return os.WriteFile(path, []byte(token), 0600) }