Support reading nkey from file

This commit is contained in:
Torjus Håkestad 2025-02-11 20:40:28 +01:00
parent 6ac9b1bb3a
commit bfcf518fe0
Signed by: torjus
SSH Key Fingerprint: SHA256:KjAds8wHfD2mBYK2H815s/+ABcSdcIHUndwHEdSxml4

16
main.go
View File

@ -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