Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ParsePattern = secrets.ParsePattern MustParsePattern = secrets.MustParsePattern NewVersion = api.NewVersion ErrSecretNotFound = secrets.ErrNotFound )
Functions ¶
This section is empty.
Types ¶
type Config ¶
type ManualLaunchOption ¶
type ManualLaunchOption func(c *cfg) error
ManualLaunchOption to apply to a plugin during its creation when it's manually launched (not by the secrets engine).
func WithConnection ¶
func WithConnection(conn net.Conn) ManualLaunchOption
WithConnection sets an existing secrets engine connection to use.
func WithPluginName ¶
func WithPluginName(name string) ManualLaunchOption
WithPluginName sets the name to use in plugin registration.
func WithRegistrationTimeout ¶
func WithRegistrationTimeout(timeout time.Duration) ManualLaunchOption
WithRegistrationTimeout sets custom registration timeout.
type Stub ¶
type Stub interface {
// Run starts the plugin then waits for the plugin service to exit, either due to a
// critical error or by cancelling the context. Calling Run() while the plugin is running,
// will result in an error. After the plugin service exits, Run() can safely be called again.
Run(context.Context) error
// RegistrationTimeout returns the registration timeout for the stub.
// This is the default timeout if the plugin has not been started or
// the timeout received in the Configure request otherwise.
RegistrationTimeout() time.Duration
// RequestTimeout returns the request timeout for the stub.
// This is the default timeout if the plugin has not been started or
// the timeout received in the Configure request otherwise.
RequestTimeout() time.Duration
}
Stub is the interface the stub provides for the plugin implementation.
func New ¶
func New(p Plugin, config Config, opts ...ManualLaunchOption) (Stub, error)
New creates a stub with the given plugin and options. ManualLaunchOption only apply when the plugin is launched manually. If launched by the secrets engine, they are ignored. If logger is nil, a default logger will be created and used.
Click to show internal directories.
Click to hide internal directories.