1
0
Fork 0
telegraf/secretstore.go
Daniel Baumann 4978089aab
Adding upstream version 1.34.4.
Signed-off-by: Daniel Baumann <daniel@debian.org>
2025-05-24 07:26:29 +02:00

25 lines
797 B
Go

package telegraf
// SecretStore is an interface defining functions that a secret-store plugin must satisfy.
type SecretStore interface {
Initializer
PluginDescriber
// Get searches for the given key and return the secret
Get(key string) ([]byte, error)
// Set sets the given secret for the given key
Set(key, value string) error
// List lists all known secret keys
List() ([]string, error)
// GetResolver returns a function to resolve the given key.
GetResolver(key string) (ResolveFunc, error)
}
// ResolveFunc is a function to resolve the secret.
// The returned flag indicates if the resolver is static (false), i.e.
// the secret will not change over time, or dynamic (true) to handle
// secrets that change over time (e.g. TOTP).
type ResolveFunc func() ([]byte, bool, error)