plugin

package
v1.12.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 24, 2023 License: MPL-2.0 Imports: 13 Imported by: 40

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrMismatchType  = fmt.Errorf("mismatch on mounted backend and plugin backend type")
	ErrMismatchPaths = fmt.Errorf("mismatch on mounted backend and plugin backend special paths")
)

Functions

func Factory

func Factory(ctx context.Context, conf *logical.BackendConfig) (logical.Backend, error)

Factory returns a configured plugin logical.Backend.

Types

type PluginBackend added in v1.0.0

type PluginBackend struct {
	Backend logical.Backend
	sync.RWMutex
	// contains filtered or unexported fields
}

PluginBackend is a thin wrapper around plugin.BackendPluginClient

func Backend

func Backend(ctx context.Context, conf *logical.BackendConfig) (*PluginBackend, error)

Backend returns an instance of the backend, either as a plugin if external or as a concrete implementation if builtin, casted as logical.Backend.

func (*PluginBackend) Cleanup added in v1.12.0

func (b *PluginBackend) Cleanup(ctx context.Context)

Cleanup is a thin wrapper used to ensure we grab the lock for race purposes

func (*PluginBackend) HandleExistenceCheck added in v1.0.0

func (b *PluginBackend) HandleExistenceCheck(ctx context.Context, req *logical.Request) (checkFound bool, exists bool, err error)

HandleExistenceCheck is a thin wrapper implementation of HandleExistenceCheck that includes automatic plugin reload.

func (*PluginBackend) HandleRequest added in v1.0.0

func (b *PluginBackend) HandleRequest(ctx context.Context, req *logical.Request) (resp *logical.Response, err error)

HandleRequest is a thin wrapper implementation of HandleRequest that includes automatic plugin reload.

func (*PluginBackend) Initialize added in v1.2.0

Initialize is intentionally a no-op here, the backend will instead be initialized when it is lazily loaded.

func (*PluginBackend) InvalidateKey added in v1.12.0

func (b *PluginBackend) InvalidateKey(ctx context.Context, key string)

InvalidateKey is a thin wrapper used to ensure we grab the lock for race purposes

func (*PluginBackend) IsExternal added in v1.12.0

func (b *PluginBackend) IsExternal() bool

func (*PluginBackend) Logger added in v1.12.0

func (b *PluginBackend) Logger() log.Logger

Logger is a thin wrapper used to ensure we grab the lock for race purposes

func (*PluginBackend) PluginVersion added in v1.12.0

func (b *PluginBackend) PluginVersion() logical.PluginVersion

func (*PluginBackend) Setup added in v1.12.0

func (b *PluginBackend) Setup(ctx context.Context, config *logical.BackendConfig) error

Setup is a thin wrapper used to ensure we grab the lock for race purposes

func (*PluginBackend) SpecialPaths added in v1.12.0

func (b *PluginBackend) SpecialPaths() *logical.Paths

SpecialPaths is a thin wrapper used to ensure we grab the lock for race purposes

func (*PluginBackend) System added in v1.12.0

func (b *PluginBackend) System() logical.SystemView

System is a thin wrapper used to ensure we grab the lock for race purposes

func (*PluginBackend) Type added in v1.12.0

func (b *PluginBackend) Type() logical.BackendType

Type is a thin wrapper used to ensure we grab the lock for race purposes

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL