feat: allow loading of environment variables from file

This commit is contained in:
adaexec 2025-06-17 23:10:38 +02:00
parent 80b6f4deaa
commit 8b61b4ec49
2 changed files with 31 additions and 6 deletions

View file

@ -3,6 +3,7 @@ package main
import (
"fmt"
"os"
"strings"
"github.com/gabehf/koito/engine"
)
@ -11,7 +12,7 @@ var Version = "dev"
func main() {
if err := engine.Run(
os.Getenv,
readEnvOrFile,
os.Stdout,
Version,
); err != nil {
@ -19,3 +20,21 @@ func main() {
os.Exit(1)
}
}
func readEnvOrFile(envName string) string {
envContent := os.Getenv(envName)
if envContent == "" {
filename := os.Getenv(envName + "_FILE")
if filename != "" {
b, err := os.ReadFile(filename)
if err == nil {
envContent = strings.TrimSpace(string(b))
}
}
}
return envContent
}