fix: some errorhandling corrections
This commit is contained in:
parent
aa77ad77e2
commit
fdbef9d95e
3 changed files with 16 additions and 15 deletions
7
main.go
7
main.go
|
|
@ -18,8 +18,11 @@ func main() {
|
||||||
}
|
}
|
||||||
cfg = config.ValidateConfig(cfg)
|
cfg = config.ValidateConfig(cfg)
|
||||||
|
|
||||||
s := secretsmanager.InitializeClient(cfg)
|
s, err := secretsmanager.New(cfg)
|
||||||
data, err := secretsmanager.GetSecrets(&s, cfg)
|
if err != nil {
|
||||||
|
log.Fatalf("Error initializing secrets manager client: %s", err)
|
||||||
|
}
|
||||||
|
data, err := s.GetSecrets(cfg)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Fatalf("Error retrieving secrets: %s", err)
|
log.Fatalf("Error retrieving secrets: %s", err)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -2,6 +2,7 @@ package secretsmanager
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"secretsmanager/config"
|
"secretsmanager/config"
|
||||||
|
|
@ -15,30 +16,31 @@ type SecretsManager struct {
|
||||||
Client *vault.Client
|
Client *vault.Client
|
||||||
}
|
}
|
||||||
|
|
||||||
func InitializeClient(
|
func New(cfg config.Config) (*SecretsManager, error) {
|
||||||
cfg config.Config,
|
|
||||||
) SecretsManager {
|
|
||||||
|
|
||||||
s := SecretsManager{}
|
s := SecretsManager{}
|
||||||
s.Ctx = context.Background()
|
s.Ctx = context.Background()
|
||||||
s.Client, _ = vault.New(
|
client, err := vault.New(
|
||||||
vault.WithAddress(cfg.VaultAddr),
|
vault.WithAddress(cfg.VaultAddr),
|
||||||
vault.WithRequestTimeout(30*time.Second),
|
vault.WithRequestTimeout(30*time.Second),
|
||||||
vault.WithTLS(vault.TLSConfiguration{
|
vault.WithTLS(vault.TLSConfiguration{
|
||||||
InsecureSkipVerify: false,
|
InsecureSkipVerify: false,
|
||||||
}),
|
}),
|
||||||
)
|
)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
s.Client = client
|
||||||
|
|
||||||
config.InfoLog("Attempting to login with user %s", cfg.VaultUsername)
|
config.InfoLog("Attempting to login with user %s", cfg.VaultUsername)
|
||||||
loginResp, err := s.Client.Auth.UserpassLogin(s.Ctx, cfg.VaultUsername, schema.UserpassLoginRequest{Password: cfg.VaultPassword})
|
loginResp, err := s.Client.Auth.UserpassLogin(s.Ctx, cfg.VaultUsername, schema.UserpassLoginRequest{Password: cfg.VaultPassword})
|
||||||
if err != nil {
|
if err != nil {
|
||||||
config.FatalLog("Vault login request failed: %s", err)
|
return nil, fmt.Errorf("vault login request failed: %w", err)
|
||||||
}
|
}
|
||||||
config.InfoLog("Login successful. Token received.")
|
config.InfoLog("Login successful. Token received.")
|
||||||
err = s.Client.SetToken(loginResp.Auth.ClientToken)
|
err = s.Client.SetToken(loginResp.Auth.ClientToken)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
config.FatalLog("Vault login could not set token: %s", err)
|
return nil, fmt.Errorf("vault login could not set token: %w", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
return s
|
return &s, nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,11 +7,7 @@ import (
|
||||||
"github.com/hashicorp/vault-client-go"
|
"github.com/hashicorp/vault-client-go"
|
||||||
)
|
)
|
||||||
|
|
||||||
func GetSecrets(
|
func (s *SecretsManager) GetSecrets(cfg config.Config) ([]string, error) {
|
||||||
s *SecretsManager,
|
|
||||||
cfg config.Config,
|
|
||||||
) ([]string, error) {
|
|
||||||
|
|
||||||
config.InfoLog("Attempting to read secret from mount '%s' at path '%s'", cfg.VaultSecretsManagerID, cfg.VaultPath)
|
config.InfoLog("Attempting to read secret from mount '%s' at path '%s'", cfg.VaultSecretsManagerID, cfg.VaultPath)
|
||||||
secret, err := s.Client.Secrets.KvV2Read(s.Ctx, cfg.VaultPath, vault.WithMountPath(cfg.VaultSecretsManagerID))
|
secret, err := s.Client.Secrets.KvV2Read(s.Ctx, cfg.VaultPath, vault.WithMountPath(cfg.VaultSecretsManagerID))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue