Documentation
¶
Index ¶
- Constants
- func GetDefaultPlugins() *pluginspb.Plugins
- type PluginLoader
- type PluginManager
- func (pm *PluginManager) GetDataSource(ctx context.Context) (datasource.DataSource, error)
- func (pm *PluginManager) GetPluginConfig(pluginName string) (*structpb.Struct, error)
- func (pm *PluginManager) GetProvision(ctx context.Context) (provision.Provision, error)
- func (pm *PluginManager) Init(ctx context.Context, plugins *pluginspb.Plugins, ...) error
- func (pm *PluginManager) SetLogLevel(level slog.Level)
- func (pm *PluginManager) SetPluginConfig(pluginName string, pluginConfig *structpb.Struct) error
- func (pm *PluginManager) Shutdown()
Constants ¶
const ( LocalDSPluginName = "local" SpireHelmProvisionPluginName = "spire-helm" )
Variables ¶
This section is empty.
Functions ¶
func GetDefaultPlugins ¶ added in v0.5.0
GetDefaultPlugins returns a `Plugins` message containing the default plugins.
Types ¶
type PluginLoader ¶ added in v0.20.1
type PluginLoader interface {
// LoadDataSource returns (nil, nil) if the named plugin is not a supported in-process plugin.
LoadDataSource(ctx context.Context, name string) (datasource.DataSource, error)
// LoadProvision returns (nil, nil) if the named plugin is not a supported in-process plugin.
LoadProvision(ctx context.Context, name string) (provision.Provision, error)
}
PluginLoader is an interface that allows loading custom in-process plugins.
type PluginManager ¶
type PluginManager struct {
// contains filtered or unexported fields
}
PluginManager provides an interface for loading and managing `DataSource` plugins based on configuration.
func NewManager ¶
func NewManager(configLoader config.Loader, customLoader PluginLoader) *PluginManager
NewManager returns a new plugin manager. If customLoader is non-nil, it may be used to load custom in-process plugins.
func (*PluginManager) GetDataSource ¶
func (pm *PluginManager) GetDataSource(ctx context.Context) (datasource.DataSource, error)
GetDataSource returns the data source plugin, loading it if necessary.
func (*PluginManager) GetPluginConfig ¶ added in v0.4.0
func (pm *PluginManager) GetPluginConfig(pluginName string) (*structpb.Struct, error)
GetPluginConfig returns a `Struct` message containing per-plugin configuration from the config file.
func (*PluginManager) GetProvision ¶ added in v0.4.0
GetProvision returns the provision plugin, loading it if necessary.
func (*PluginManager) Init ¶
func (pm *PluginManager) Init(ctx context.Context, plugins *pluginspb.Plugins, pluginConfig map[string]*structpb.Struct) error
Init initialises the configuration for the specified plugins.
func (*PluginManager) SetLogLevel ¶ added in v0.6.0
func (pm *PluginManager) SetLogLevel(level slog.Level)
SetLogLevel sets the log level for gRPC plugins.
func (*PluginManager) SetPluginConfig ¶ added in v0.4.0
func (pm *PluginManager) SetPluginConfig(pluginName string, pluginConfig *structpb.Struct) error
SetPluginConfig writes a `Struct` message containing per-plugin configuration to the config file.
func (*PluginManager) Shutdown ¶
func (pm *PluginManager) Shutdown()