88 lines
2.7 KiB
Diff
88 lines
2.7 KiB
Diff
From 1df568cd25d6ccac79e56451406e021ead49c0c4 Mon Sep 17 00:00:00 2001
|
|
From: Michael Aldridge <aldridge.mac@gmail.com>
|
|
Date: Wed, 31 Aug 2022 16:44:40 -0500
|
|
Subject: [PATCH] pkg/netauth: Handle config loading in library layer
|
|
|
|
---
|
|
cmd/netauth/main.go | 7 -------
|
|
internal/ctl/root.go | 9 ---------
|
|
pkg/netauth/netauth.go | 13 +++++++++++++
|
|
3 files changed, 13 insertions(+), 16 deletions(-)
|
|
|
|
diff --git a/cmd/netauth/main.go b/cmd/netauth/main.go
|
|
index d66dd8a..7695cd5 100644
|
|
--- a/cmd/netauth/main.go
|
|
+++ b/cmd/netauth/main.go
|
|
@@ -4,7 +4,6 @@ import (
|
|
"os"
|
|
|
|
"github.com/hashicorp/go-hclog"
|
|
- "github.com/spf13/viper"
|
|
|
|
"github.com/netauth/netauth/internal/ctl"
|
|
|
|
@@ -22,12 +21,6 @@ var (
|
|
)
|
|
|
|
func main() {
|
|
- // This runs here so we can reset the defaults that are set
|
|
- // during various init() methods.
|
|
- viper.SetDefault("token.cache", "fs")
|
|
- viper.SetDefault("token.keyprovider", "fs")
|
|
- viper.SetDefault("token.backend", "jwt-rsa")
|
|
-
|
|
level, set := os.LookupEnv("NETAUTH_LOGLEVEL")
|
|
if !set {
|
|
appLogger = hclog.NewNullLogger()
|
|
diff --git a/internal/ctl/root.go b/internal/ctl/root.go
|
|
index faf35b0..b20c0d2 100644
|
|
--- a/internal/ctl/root.go
|
|
+++ b/internal/ctl/root.go
|
|
@@ -61,15 +61,6 @@ func onInit() {
|
|
viper.BindPFlags(pflag.CommandLine)
|
|
if cfg != "" {
|
|
viper.SetConfigFile(cfg)
|
|
- } else {
|
|
- viper.SetConfigName("config")
|
|
- viper.AddConfigPath(".")
|
|
- viper.AddConfigPath("$HOME/.netauth")
|
|
- viper.AddConfigPath("/etc/netauth/")
|
|
- }
|
|
- if err := viper.ReadInConfig(); err != nil {
|
|
- fmt.Println("Error reading config:", err)
|
|
- os.Exit(1)
|
|
}
|
|
viper.Set("client.ServiceName", "netauth")
|
|
|
|
diff --git a/pkg/netauth/netauth.go b/pkg/netauth/netauth.go
|
|
index 831d64f..77a203c 100644
|
|
--- a/pkg/netauth/netauth.go
|
|
+++ b/pkg/netauth/netauth.go
|
|
@@ -17,6 +17,14 @@ import (
|
|
func init() {
|
|
viper.SetDefault("core.port", 1729)
|
|
viper.SetDefault("tls.certificate", "keys/tls.pem")
|
|
+ viper.SetDefault("token.cache", "fs")
|
|
+ viper.SetDefault("token.keyprovider", "fs")
|
|
+ viper.SetDefault("token.backend", "jwt-rsa")
|
|
+
|
|
+ viper.SetConfigName("config")
|
|
+ viper.AddConfigPath(".")
|
|
+ viper.AddConfigPath("$HOME/.netauth")
|
|
+ viper.AddConfigPath("/etc/netauth/")
|
|
}
|
|
|
|
// NewWithLog uses the specified logger to contruct a NetAuth client.
|
|
@@ -24,6 +32,11 @@ func init() {
|
|
// handler that is provided should have the correct name and be
|
|
// parented to the correct point on the log tree.
|
|
func NewWithLog(l hclog.Logger) (*Client, error) {
|
|
+ if err := viper.ReadInConfig(); err != nil {
|
|
+ fmt.Println("Error reading config:", err)
|
|
+ os.Exit(1)
|
|
+ }
|
|
+
|
|
if viper.GetString("core.conf") == "" {
|
|
viper.Set("core.conf", filepath.Dir(viper.ConfigFileUsed()))
|
|
l.Debug("Config relative load path set", "path", viper.GetString("core.conf"))
|