Documentation
¶
Index ¶
- func NewPipelineWebhook() lib.PipelineAdmissionWebhook
- type FilterWeigherPipelineController
- func (c *FilterWeigherPipelineController) InitPipeline(ctx context.Context, p v1alpha1.Pipeline) ...
- func (c *FilterWeigherPipelineController) PipelineType() v1alpha1.PipelineType
- func (c *FilterWeigherPipelineController) ProcessNewMachine(ctx context.Context, machine *ironcorev1alpha1.Machine) error
- func (c *FilterWeigherPipelineController) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error)
- func (c *FilterWeigherPipelineController) SetupWithManager(mgr manager.Manager, mcl *multicluster.Client) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewPipelineWebhook ¶
func NewPipelineWebhook() lib.PipelineAdmissionWebhook
Create a new pipeline admission webhook for the machines scheduling domain, using the known filters, weighers and detectors for validation.
Types ¶
type FilterWeigherPipelineController ¶
type FilterWeigherPipelineController struct {
// Toolbox shared between all pipeline controllers.
lib.BasePipelineController[lib.FilterWeigherPipeline[ironcore.MachinePipelineRequest]]
// Monitor to pass down to all pipelines.
Monitor lib.FilterWeigherPipelineMonitor
// contains filtered or unexported fields
}
The decision pipeline controller takes decision resources containing a machine ref and runs the scheduling pipeline to make a decision. This decision is then written back to the decision resource status.
Additionally, the controller watches for pipeline and step changes to reconfigure the pipelines as needed.
func (*FilterWeigherPipelineController) InitPipeline ¶
func (c *FilterWeigherPipelineController) InitPipeline( ctx context.Context, p v1alpha1.Pipeline, ) lib.PipelineInitResult[lib.FilterWeigherPipeline[ironcore.MachinePipelineRequest]]
The base controller will delegate the pipeline creation down to this method.
func (*FilterWeigherPipelineController) PipelineType ¶
func (c *FilterWeigherPipelineController) PipelineType() v1alpha1.PipelineType
The type of pipeline this controller manages.
func (*FilterWeigherPipelineController) ProcessNewMachine ¶
func (c *FilterWeigherPipelineController) ProcessNewMachine(ctx context.Context, machine *ironcorev1alpha1.Machine) error
func (*FilterWeigherPipelineController) SetupWithManager ¶
func (c *FilterWeigherPipelineController) SetupWithManager(mgr manager.Manager, mcl *multicluster.Client) error
Click to show internal directories.
Click to hide internal directories.