From 86fcf54b6e26140714199a634f793a1599e5e381 Mon Sep 17 00:00:00 2001 From: David Allen Date: Mon, 26 May 2025 22:51:58 -0600 Subject: [PATCH] chore: miscellaneous updates --- cmd/collect.go | 12 +++++++++++- cmd/root.go | 6 ++++++ internal/util/print.go | 2 +- internal/util/strings.go | 10 ---------- 4 files changed, 18 insertions(+), 12 deletions(-) delete mode 100644 internal/util/strings.go diff --git a/cmd/collect.go b/cmd/collect.go index e1ed3d3..4ee985a 100644 --- a/cmd/collect.go +++ b/cmd/collect.go @@ -50,12 +50,21 @@ var CollectCmd = &cobra.Command{ // try to load access token either from env var, file, or config if var not set if accessToken == "" { var err error - accessToken, err = auth.LoadAccessToken(tokenPath) + accessToken, err = auth.LoadAccessToken(accessTokenPath) if err != nil && verbose { log.Warn().Err(err).Msgf("could not load access token") } } + // try to load session token either from env var, file, or config if var is not set + if sessionToken == "" { + var err error + sessionToken, err = auth.LoadSessionToken(accessTokenPath) + if err != nil && verbose { + log.Warn().Err(err).Msgf("could not load session token") + } + } + // set the minimum/maximum number of concurrent processes if concurrency <= 0 { concurrency = mathutil.Clamp(len(scannedResults), 1, 10000) @@ -145,6 +154,7 @@ func init() { CollectCmd.Flags().StringVarP(&username, "username", "u", "", "Set the master BMC username") CollectCmd.Flags().StringVarP(&password, "password", "p", "", "Set the master BMC password") CollectCmd.Flags().StringVar(&secretsFile, "secrets-file", "", "Set path to the node secrets file") + CollectCmd.Flags().StringVar(&sessionToken, "session-token", "", "Set the session token to use for auth") CollectCmd.Flags().StringVar(&scheme, "scheme", "https", "Set the default scheme used to query when not included in URI") CollectCmd.Flags().StringVar(&protocol, "protocol", "tcp", "Set the protocol used to query") CollectCmd.Flags().StringVarP(&outputPath, "output-file", "o", "", "Set the path to store collection data using HIVE partitioning") diff --git a/cmd/root.go b/cmd/root.go index e74f5eb..842c602 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -18,6 +18,7 @@ import ( "fmt" "net" "os" + "os/user" magellan "github.com/davidallendj/magellan/internal" "github.com/davidallendj/magellan/internal/util" @@ -36,6 +37,7 @@ const ( // CLI arguments as variables to not fiddle with error-prone strings var ( + currentUser *user.User accessToken string timeout int concurrency int @@ -193,3 +195,7 @@ func initSecretsStore(uri string) secrets.SecretStore { } return store } + +func validSecretArgs(masterKey string, secretsFile string) bool { + return masterKey != "" && secretsFile != "" +} diff --git a/internal/util/print.go b/internal/util/print.go index aca00de..0762ed1 100644 --- a/internal/util/print.go +++ b/internal/util/print.go @@ -21,5 +21,5 @@ func PrintYAML(data any) { if err != nil { log.Error().Err(err).Msgf("failed to marshal scanned results to JSON") } - fmt.Printf("%s\n", string(b)) + fmt.Print(string(b)) } diff --git a/internal/util/strings.go b/internal/util/strings.go deleted file mode 100644 index 93a046f..0000000 --- a/internal/util/strings.go +++ /dev/null @@ -1,10 +0,0 @@ -package util - -import "strings" - -func TidyJSON(s string) string { - s = strings.ReplaceAll(s, "\n", "") - s = strings.ReplaceAll(s, "\t", "") - s = strings.ReplaceAll(s, " ", "") - return strings.ReplaceAll(s, "\"", "'") -}