Documentation
¶
Index ¶
- Constants
- func ResolvePlatform() string
- func SignPlugin(binaryPath, privateKeyPath string) error
- type Executor
- type Installer
- func (i *Installer) GetAvailableVersions(ctx context.Context, name string) ([]string, error)
- func (i *Installer) InstallPlugin(ctx context.Context, name, version string) error
- func (i *Installer) RemovePlugin(ctx context.Context, name string) error
- func (i *Installer) SetSignatureVerifier(verifier *SignatureVerifier)
- func (i *Installer) UpdatePlugin(ctx context.Context, name string) error
- type Manager
- func (m *Manager) DiscoverPlugins() error
- func (m *Manager) GetPlugin(name string) (*types.PluginInfo, error)
- func (m *Manager) InvalidateCache()
- func (m *Manager) ListPlugins() ([]*types.PluginInfo, error)
- func (m *Manager) SetPluginDir(dir string)
- func (m *Manager) SetSignatureVerifier(verifier *SignatureVerifier)
- func (m *Manager) ValidatePlugin(name string) error
- type SignatureVerifier
Constants ¶
const ( // SignatureModeStrict only allows plugins with valid signatures SignatureModeStrict = "strict" // SignatureModePermissive validates signatures but allows unsigned plugins with warning SignatureModePermissive = "permissive" // SignatureModeDisabled disables signature verification SignatureModeDisabled = "disabled" )
Variables ¶
This section is empty.
Functions ¶
func ResolvePlatform ¶
func ResolvePlatform() string
ResolvePlatform returns the current platform string (os/arch)
func SignPlugin ¶
SignPlugin signs a plugin binary with a private key This is a helper function for plugin developers
Types ¶
type Executor ¶
type Executor struct {
// contains filtered or unexported fields
}
Executor handles plugin execution
func NewExecutor ¶
NewExecutor creates a new plugin executor
func (*Executor) ExecutePlugin ¶
ExecutePlugin executes a plugin with the given arguments
func (*Executor) SetTimeout ¶
SetTimeout sets the execution timeout
type Installer ¶
type Installer struct {
// contains filtered or unexported fields
}
Installer manages plugin installation from OCI registries
func NewInstaller ¶
NewInstaller creates a new plugin installer
func (*Installer) GetAvailableVersions ¶
GetAvailableVersions lists available versions for a plugin in the registry
func (*Installer) InstallPlugin ¶
InstallPlugin downloads and installs a plugin from the registry
func (*Installer) RemovePlugin ¶
RemovePlugin removes a plugin from the plugin directory
func (*Installer) SetSignatureVerifier ¶
func (i *Installer) SetSignatureVerifier(verifier *SignatureVerifier)
SetSignatureVerifier sets the signature verifier for the installer
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager handles plugin discovery and management
func NewManager ¶
NewManager creates a new plugin manager
func (*Manager) DiscoverPlugins ¶
DiscoverPlugins scans the plugin directory for installed plugins
func (*Manager) GetPlugin ¶
func (m *Manager) GetPlugin(name string) (*types.PluginInfo, error)
GetPlugin returns information about a specific plugin
func (*Manager) InvalidateCache ¶
func (m *Manager) InvalidateCache()
InvalidateCache forces a rescan on next operation
func (*Manager) ListPlugins ¶
func (m *Manager) ListPlugins() ([]*types.PluginInfo, error)
ListPlugins returns all discovered plugins
func (*Manager) SetPluginDir ¶
SetPluginDir updates the plugin directory
func (*Manager) SetSignatureVerifier ¶
func (m *Manager) SetSignatureVerifier(verifier *SignatureVerifier)
SetSignatureVerifier sets the signature verifier for the manager
func (*Manager) ValidatePlugin ¶
ValidatePlugin checks if a plugin is valid and executable
type SignatureVerifier ¶
type SignatureVerifier struct {
// contains filtered or unexported fields
}
SignatureVerifier handles digital signature verification for plugins
func NewSignatureVerifier ¶
func NewSignatureVerifier(config *types.SignatureConfig, logger hclog.Logger) (*SignatureVerifier, error)
NewSignatureVerifier creates a new signature verifier
func (*SignatureVerifier) VerifyPlugin ¶
func (v *SignatureVerifier) VerifyPlugin(binaryPath string) error
VerifyPlugin verifies the digital signature of a plugin binary