From bfcf518fe0b2fe19075667f7b22227376d102509 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Torjus=20H=C3=A5kestad?= Date: Tue, 11 Feb 2025 20:40:28 +0100 Subject: [PATCH] Support reading nkey from file --- main.go | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index d064073..fffaf49 100644 --- a/main.go +++ b/main.go @@ -8,6 +8,7 @@ import ( "log/slog" "os" "os/signal" + "strings" "git.t-juice.club/torjus/natstonotify/bus" "git.t-juice.club/torjus/natstonotify/server" @@ -16,7 +17,7 @@ import ( "github.com/urfave/cli/v3" ) -const Version = "v0.1.0" +const Version = "v0.1.1" func connectNats() (*nats.Conn, error) { natsURL, ok := os.LookupEnv("NATS_URL") @@ -25,9 +26,20 @@ func connectNats() (*nats.Conn, error) { } nkey, ok := os.LookupEnv("NATS_NKEY") if !ok { - return nil, fmt.Errorf("NATS_NKEY not set") + path, ok := os.LookupEnv("NATS_NKEY_FILE") + if !ok { + return nil, fmt.Errorf("NATS_NKEY and NATS_NKEY_FILE not set") + } + + data, err := os.ReadFile(path) + if err != nil { + return nil, fmt.Errorf("unable to read NATS_NKEY_FILE: %w", err) + } + nkey = strings.TrimSpace(string(data)) } + fmt.Printf("Connecting to NATS at %s with nkey %s\n", natsURL, nkey) + kp, err := nkeys.FromSeed([]byte(nkey)) if err != nil { return nil, err