summaryrefslogtreecommitdiff
path: root/config/env.go
diff options
context:
space:
mode:
authorMartin Kagamino Lehoux <martin@lehoux.net>2026-08-05 14:17:59 +0200
committerMartin Kagamino Lehoux <martin@lehoux.net>2026-08-05 14:17:59 +0200
commit71c39ed9f8ce3563130cdfc5099e9d7df60845a9 (patch)
treee610b8360f6364e3ab7c5e817ac94bd51cc0dfd1 /config/env.go
parentbef31e1d35fe88f2698cf0e3191f26a79623f66f (diff)
refactor: Replace env config with atomic YAML
Diffstat (limited to 'config/env.go')
-rw-r--r--config/env.go52
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
-}