plugin

package
v0.0.0-...-a0f6db5 Latest Latest
Warning

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

Go to latest
Published: Sep 14, 2022 License: MPL-2.0 Imports: 13 Imported by: 0

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

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

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

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

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

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

func (*PluginBackend) InvalidateKey

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) Logger

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

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

func (*PluginBackend) Setup

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

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

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

func (*PluginBackend) System

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

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

func (*PluginBackend) Type

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