Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // ErrInvalidKey is returned when key validation // for particular implementation of Storage fails. ErrInvalidKey = errinternal.ErrInvalidKey // ErrNotFound is returned when object is not found // in Storage. ErrNotFound = errinternal.ErrNotFound )
Functions ¶
This section is empty.
Types ¶
type Storage ¶
type Storage interface {
// Save puts object with name 'key' into the store.
// If a key already exists it gets overwritten.
Save(key string, data []byte) error
// Load returns contents of object named 'key' or
// ErrNotFound.
Load(key string) ([]byte, error)
// Delete removes object named 'key' from the store.
// If key does not exist Delete returns nil.
Delete(key string) error
}
Storage is a very basic object store.
func NewFS ¶
NewFS established a key/value within the directory 'path' and uses it as underlying physical store. Note that the implementation requires keys to be at least 3 characters long. Key "abcd" will be stored in /path/a/b/abcd.
func NewNats ¶
func NewNats(store nats.ObjectStore) Storage
NewNats wraps the provided ObjectStore with Storage interface.
func NewVault ¶
NewVault uses provided Vault client to store objects. All objects are stored as a single secret, a JSON object where key are keys and values are base64 encoded bytes of saved object. If secret specified by path does not exist it will be created on first call to Storage methods. Note that a secret in vault gets updated (a new version of secret is created) on every save/delete operation.