1
0
Fork 0
mirror of https://github.com/moby/moby.git synced 2022-11-09 12:21:53 -05:00
moby--moby/vendor/github.com/moby/swarmkit/v2/manager/csi/secret.go
Cory Snider 1c129103b4 Bump swarmkit to v2
Signed-off-by: Cory Snider <csnider@mirantis.com>
2022-04-21 17:33:07 -04:00

34 lines
841 B
Go

package csi
import (
"github.com/moby/swarmkit/v2/api"
"github.com/moby/swarmkit/v2/manager/state/store"
)
// SecretProvider is an interface for retrieving secrets to use with CSI calls.
type SecretProvider interface {
// GetSecret returns the secret with the given ID, or nil if not found.
GetSecret(id string) *api.Secret
}
type secretProvider struct {
s *store.MemoryStore
}
func NewSecretProvider(s *store.MemoryStore) SecretProvider {
return &secretProvider{
s: s,
}
}
// GetSecret returns the secret with the given ID, or nil if not found.
//
// This method accesses the store, and so should not be called from inside
// another store transaction
func (p *secretProvider) GetSecret(id string) *api.Secret {
var secret *api.Secret
p.s.View(func(tx store.ReadTx) {
secret = store.GetSecret(tx, id)
})
return secret
}