diff options
| author | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-05 14:17:59 +0200 |
|---|---|---|
| committer | Martin Kagamino Lehoux <martin@lehoux.net> | 2026-08-05 14:17:59 +0200 |
| commit | 71c39ed9f8ce3563130cdfc5099e9d7df60845a9 (patch) | |
| tree | e610b8360f6364e3ab7c5e817ac94bd51cc0dfd1 /config/env.go | |
| parent | bef31e1d35fe88f2698cf0e3191f26a79623f66f (diff) | |
refactor: Replace env config with atomic YAML
Diffstat (limited to 'config/env.go')
| -rw-r--r-- | config/env.go | 52 |
1 files changed, 0 insertions, 52 deletions
diff --git a/config/env.go b/config/env.go deleted file mode 100644 index b9d9f76..0000000 --- a/config/env.go +++ /dev/null @@ -1,52 +0,0 @@ -package config - -import ( - "fmt" - "os" - "strings" -) - -func LoadEnv(filename string) (map[string]string, error) { - data, err := os.ReadFile(filename) - if err != nil { - return nil, err - } - values := map[string]string{} - for _, line := range strings.Split(string(data), "\n") { - line = strings.TrimSpace(line) - if line == "" || strings.HasPrefix(line, "#") { - continue - } - key, value, found := strings.Cut(line, "=") - if found { - values[strings.TrimSpace(key)] = strings.Trim(strings.TrimSpace(value), `"`) - } - } - return values, nil -} - -func UpdateEnv(filename string, updates map[string]string) error { - data, err := os.ReadFile(filename) - if err != nil { - return err - } - lines := strings.Split(string(data), "\n") - for key, value := range updates { - found := false - for i, line := range lines { - existingKey, _, cut := strings.Cut(strings.TrimSpace(line), "=") - if cut && strings.TrimSpace(existingKey) == key { - lines[i] = key + "=" + value - found = true - break - } - } - if !found { - lines = append(lines, key+"="+value) - } - } - if err := os.WriteFile(filename, []byte(strings.Join(lines, "\n")+"\n"), 0o600); err != nil { - return fmt.Errorf("write env file: %w", err) - } - return nil -} |