Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 7 additions & 4 deletions common/pkg/secrets/secrets.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"strings"
"time"

"github.com/sirupsen/logrus"
"go.podman.io/common/pkg/secrets/define"
"go.podman.io/common/pkg/secrets/filedriver"
"go.podman.io/common/pkg/secrets/passdriver"
Expand Down Expand Up @@ -58,7 +59,7 @@ var secretsFile = "secrets.json"
//
// revive does not like the name because the package is already called secrets
//
//nolint:revive
// revive does not like the name because the package is already called secrets
type SecretsManager struct {
// secretsPath is the path to the db file where secrets are stored
secretsDBPath string
Expand Down Expand Up @@ -95,7 +96,7 @@ type Secret struct {
//
// revive does not like the name because the package is already called secrets
//
//nolint:revive
// revive does not like the name because the package is already called secrets
type SecretsDriver interface {
// List lists all secret ids in the secrets data store
List() ([]string, error)
Expand Down Expand Up @@ -245,14 +246,16 @@ func (s *SecretsManager) Store(name string, data []byte, driverType string, opti
return "", err
}

logrus.Tracef("Storing secret %s data using driver %s", name, driverType)
err = driver.Store(secr.ID, data)
if err != nil {
return "", fmt.Errorf("creating secret %s: %w", name, err)
return "", fmt.Errorf("driver failed to store secret %s data: %w", name, err)
}

logrus.Tracef("Storing secret %s metadata", name)
err = s.store(secr)
if err != nil {
return "", fmt.Errorf("creating secret %s: %w", name, err)
return "", fmt.Errorf("manager failed to store secret %s metadata: %w", name, err)
}

return secr.ID, nil
Expand Down
5 changes: 5 additions & 0 deletions common/pkg/secrets/shelldriver/shelldriver.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import (
"sort"
"strings"

"github.com/sirupsen/logrus"
"go.podman.io/common/pkg/secrets/define"
)

Expand Down Expand Up @@ -79,6 +80,7 @@ func NewDriver(opts map[string]string) (*Driver, error) {
func (d *Driver) List() (secrets []string, err error) {
cmd := exec.CommandContext(context.TODO(), "/bin/sh", "-c", d.ListCommand)
cmd.Env = os.Environ()
logrus.Debugf("Shell Driver: executing command %q with env %v", cmd.String(), cmd.Env)
cmd.Stderr = os.Stderr

buf := &bytes.Buffer{}
Expand Down Expand Up @@ -109,6 +111,7 @@ func (d *Driver) Lookup(id string) ([]byte, error) {
cmd := exec.CommandContext(context.TODO(), "/bin/sh", "-c", d.LookupCommand)
cmd.Env = os.Environ()
cmd.Env = append(cmd.Env, "SECRET_ID="+id)
logrus.Debugf("Shell Driver: executing command %q with env %v", cmd.String(), cmd.Env)
cmd.Stderr = os.Stderr

buf := &bytes.Buffer{}
Expand All @@ -130,6 +133,7 @@ func (d *Driver) Store(id string, data []byte) error {
cmd := exec.CommandContext(context.TODO(), "/bin/sh", "-c", d.StoreCommand)
cmd.Env = os.Environ()
cmd.Env = append(cmd.Env, "SECRET_ID="+id)
logrus.Debugf("Shell Driver: executing command %q with env %v", cmd.String(), cmd.Env)

cmd.Stderr = os.Stderr
cmd.Stdout = os.Stdout
Expand All @@ -147,6 +151,7 @@ func (d *Driver) Delete(id string) error {
cmd := exec.CommandContext(context.TODO(), "/bin/sh", "-c", d.DeleteCommand)
cmd.Env = os.Environ()
cmd.Env = append(cmd.Env, "SECRET_ID="+id)
logrus.Debugf("Shell Driver: executing command %q with env %v", cmd.String(), cmd.Env)

cmd.Stderr = os.Stderr
cmd.Stdout = os.Stdout
Expand Down
Loading