From b50b31ff4007c301c01fafc892e9909d8468ae94 Mon Sep 17 00:00:00 2001 From: Devon Bautista Date: Wed, 16 Apr 2025 17:41:46 -0600 Subject: [PATCH] fix(bmc): check for default key --- pkg/bmc/bmc.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkg/bmc/bmc.go b/pkg/bmc/bmc.go index 9948e0d..012ffca 100644 --- a/pkg/bmc/bmc.go +++ b/pkg/bmc/bmc.go @@ -2,6 +2,7 @@ package bmc import ( "encoding/json" + "fmt" "github.com/OpenCHAMI/magellan/pkg/secrets" "github.com/rs/zerolog/log" @@ -14,6 +15,23 @@ type BMCCredentials struct { func GetBMCCredentials(store secrets.SecretStore, id string) (BMCCredentials, error) { var creds BMCCredentials + if id == secrets.DEFAULT_KEY { + log.Info().Msg("fetching default credentials") + if uriCreds, err := store.GetSecretByID(id); err != nil { + log.Warn().Err(err).Msg("failed to get default credentials") + return creds, fmt.Errorf("get default credentials: %w", err) + } else { + if err := json.Unmarshal([]byte(uriCreds), &creds); err != nil { + log.Error().Err(err).Msg("failed to unmarshal default credentials") + return creds, fmt.Errorf("unmarshal default credentials: %w", err) + } else { + log.Info().Msg("default credentials found, using") + } + } + + return creds, nil + } + if uriCreds, err := store.GetSecretByID(id); err != nil { // Specific credentials for URI not found, fetch default. log.Warn().Str("id", id).Msg("specific credentials not found, falling back to default")