mirror of
https://github.com/gabehf/Koito.git
synced 2026-04-22 12:01:52 -07:00
* feat: allow loading of environment variables from file * Panic if a file for an environment variable cannot be read * Use log.Fatalf + os.Exit instead of panic * fix: remove supurfluous call to os.Exit() --------- Co-authored-by: adaexec <nixos-git.s1pht@simplelogin.com> Co-authored-by: Gabe Farrell <90876006+gabehf@users.noreply.github.com>
43 lines
651 B
Go
43 lines
651 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
"strings"
|
|
"log"
|
|
|
|
"github.com/gabehf/koito/engine"
|
|
)
|
|
|
|
var Version = "dev"
|
|
|
|
func main() {
|
|
if err := engine.Run(
|
|
readEnvOrFile,
|
|
os.Stdout,
|
|
Version,
|
|
); err != nil {
|
|
fmt.Fprintf(os.Stderr, "%s\n", err)
|
|
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 {
|
|
log.Fatalf("Failed to load file for %s_FILE (%s): %s", envName, filename, err)
|
|
}
|
|
|
|
envContent = strings.TrimSpace(string(b))
|
|
}
|
|
}
|
|
|
|
return envContent
|
|
}
|