cloud

package
v0.6.3 Latest Latest
Warning

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

Go to latest
Published: Aug 11, 2025 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Overview

Package cloud offers infra resources services for IONOS Cloud machine reconciliation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service offers infra resources services for IONOS Cloud machine reconciliation.

func NewService

func NewService(ionosClient ionoscloud.Client, log logr.Logger) (*Service, error)

NewService returns a new Service.

func (*Service) FinalizeMachineProvisioning

func (*Service) FinalizeMachineProvisioning(_ context.Context, ms *scope.Machine) (bool, error)

FinalizeMachineProvisioning marks the machine as provisioned.

func (*Service) GetRequestStatus

func (s *Service) GetRequestStatus(
	ctx context.Context, requestURL string,
) (requestStatus string, statusMessage string, err error)

GetRequestStatus returns the status of a request for a given request URL. If the request contains a message, it is also returned.

func (*Service) ReconcileControlPlaneEndpoint

func (s *Service) ReconcileControlPlaneEndpoint(ctx context.Context, cs *scope.Cluster) (requeue bool, err error)

ReconcileControlPlaneEndpoint ensures the control plane endpoint IP block exists.

func (*Service) ReconcileControlPlaneEndpointDeletion

func (s *Service) ReconcileControlPlaneEndpointDeletion(
	ctx context.Context, cs *scope.Cluster,
) (requeue bool, err error)

ReconcileControlPlaneEndpointDeletion ensures the control plane endpoint IP block is deleted.

func (*Service) ReconcileFailoverIPBlockDeletion

func (s *Service) ReconcileFailoverIPBlockDeletion(ctx context.Context, ms *scope.Machine) (requeue bool, err error)

ReconcileFailoverIPBlockDeletion ensures that the IP block is deleted.

func (*Service) ReconcileIPFailover

func (s *Service) ReconcileIPFailover(ctx context.Context, ms *scope.Machine) (requeue bool, err error)

ReconcileIPFailover will provide the given machine with a failover configuration. Depending on the machine role, the failover IP will be either the control plane endpoint or the one provided in the machine spec. The control plane nodes will attach the endpoint IP to their primary NIC and add the NIC to the Failover Group of the public LAN. This is needed for kube-vip to set up HA control planes.

The worker nodes can optionally have a Failover Group. This is useful for scenarios where the worker nodes are meant to be highly available such as load balancers.

If we want to support private clusters in the future, this will require some adjustments.

func (*Service) ReconcileIPFailoverDeletion

func (s *Service) ReconcileIPFailoverDeletion(
	ctx context.Context,
	ms *scope.Machine,
) (requeue bool, err error)

ReconcileIPFailoverDeletion ensures the proper deletion of the IPFailover configuration. If the machine is the last machine, the entry in the IPFailover group will be removed.

If the machine is the primary in the failover group, the NIC will be swapped with another machine, otherwise the machine cannot be deleted, which is relevant for upgrading or downgrading the cluster.

func (*Service) ReconcileLAN

func (s *Service) ReconcileLAN(ctx context.Context, ms *scope.Machine) (requeue bool, err error)

ReconcileLAN ensures the cluster LAN exist, creating one if it doesn't.

func (*Service) ReconcileLANDeletion

func (s *Service) ReconcileLANDeletion(ctx context.Context, ms *scope.Machine) (requeue bool, err error)

ReconcileLANDeletion ensures there's no cluster LAN available, requesting for deletion (if no other resource uses it) otherwise.

func (*Service) ReconcileServer

func (s *Service) ReconcileServer(ctx context.Context, ms *scope.Machine) (requeue bool, retErr error)

ReconcileServer ensures the cluster server exist, creating one if it doesn't.

func (*Service) ReconcileServerDeletion

func (s *Service) ReconcileServerDeletion(ctx context.Context, ms *scope.Machine) (requeue bool, err error)

ReconcileServerDeletion ensures the server is deleted.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL