(cfg Config)
| 71 | } |
| 72 | |
| 73 | func (h *NodeHandler) saveConfig(cfg Config) error { |
| 74 | if err := os.MkdirAll(h.dataDir, 0o750); err != nil { |
| 75 | return err |
| 76 | } |
| 77 | |
| 78 | data, err := json.MarshalIndent(cfg, "", " ") |
| 79 | if err != nil { |
| 80 | return err |
| 81 | } |
| 82 | if err := os.WriteFile(h.configFilePath(), data, 0o600); err != nil { |
| 83 | return err |
| 84 | } |
| 85 | |
| 86 | h.cfgMu.Lock() |
| 87 | cfgCopy := cfg |
| 88 | h.cfgCache = &cfgCopy |
| 89 | h.cfgMu.Unlock() |
| 90 | return nil |
| 91 | } |
| 92 | |
| 93 | func (h *NodeHandler) Register(mux *http.ServeMux) { |
| 94 | mux.HandleFunc("POST /v1/node/ip-sentinel/detect", h.handleDetect) |
no test coverage detected