Documentation
¶
Index ¶
- type PluginManager
- func (pm *PluginManager) Abort(ctx context.Context, tCtx pluginsCore.TaskExecutionContext) error
- func (pm *PluginManager) Finalize(ctx context.Context, tCtx pluginsCore.TaskExecutionContext) error
- func (pm *PluginManager) GetID() string
- func (pm *PluginManager) GetProperties() pluginsCore.PluginProperties
- func (pm *PluginManager) Handle(ctx context.Context, tCtx pluginsCore.TaskExecutionContext) (pluginsCore.Transition, error)
- type PluginPhase
- type PluginState
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type PluginManager ¶
type PluginManager struct {
// contains filtered or unexported fields
}
PluginManager wraps a k8s.Plugin to implement pluginsCore.Plugin. It manages the lifecycle of creating, monitoring, aborting, and finalizing Kubernetes resources for task execution.
func NewPluginManager ¶
func NewPluginManager(id string, plugin k8s.Plugin, kubeClient pluginsCore.KubeClient) *PluginManager
NewPluginManager creates a PluginManager that wraps a k8s.Plugin.
func (*PluginManager) Abort ¶
func (pm *PluginManager) Abort(ctx context.Context, tCtx pluginsCore.TaskExecutionContext) error
Abort implements pluginsCore.Plugin. Called when the task should be killed/aborted.
func (*PluginManager) Finalize ¶
func (pm *PluginManager) Finalize(ctx context.Context, tCtx pluginsCore.TaskExecutionContext) error
Finalize implements pluginsCore.Plugin. Called after Handle or Abort to clean up resources.
func (*PluginManager) GetID ¶
func (pm *PluginManager) GetID() string
func (*PluginManager) GetProperties ¶
func (pm *PluginManager) GetProperties() pluginsCore.PluginProperties
func (*PluginManager) Handle ¶
func (pm *PluginManager) Handle(ctx context.Context, tCtx pluginsCore.TaskExecutionContext) (pluginsCore.Transition, error)
Handle implements pluginsCore.Plugin. It is invoked for every reconciliation round.
type PluginPhase ¶
type PluginPhase uint8
PluginPhase tracks the high-level phase of the PluginManager's state machine.
const ( PluginPhaseNotStarted PluginPhase = iota PluginPhaseStarted )
type PluginState ¶
type PluginState struct {
Phase PluginPhase
K8sPluginState k8s.PluginState
}
PluginState is the state persisted by the PluginManager between reconciliation rounds.