Documentation
¶
Overview ¶
Package cloud offers infra resources services for IONOS Cloud machine reconciliation.
Index ¶
- type Service
- func (*Service) FinalizeMachineProvisioning(_ context.Context, ms *scope.Machine) (bool, error)
- func (s *Service) GetRequestStatus(ctx context.Context, requestURL string) (requestStatus string, statusMessage string, err error)
- func (s *Service) ReconcileControlPlaneEndpoint(ctx context.Context, cs *scope.Cluster) (requeue bool, err error)
- func (s *Service) ReconcileControlPlaneEndpointDeletion(ctx context.Context, cs *scope.Cluster) (requeue bool, err error)
- func (s *Service) ReconcileFailoverIPBlockDeletion(ctx context.Context, ms *scope.Machine) (requeue bool, err error)
- func (s *Service) ReconcileIPFailover(ctx context.Context, ms *scope.Machine) (requeue bool, err error)
- func (s *Service) ReconcileIPFailoverDeletion(ctx context.Context, ms *scope.Machine) (requeue bool, err error)
- func (s *Service) ReconcileLAN(ctx context.Context, ms *scope.Machine) (requeue bool, err error)
- func (s *Service) ReconcileLANDeletion(ctx context.Context, ms *scope.Machine) (requeue bool, err error)
- func (s *Service) ReconcileServer(ctx context.Context, ms *scope.Machine) (requeue bool, retErr error)
- func (s *Service) ReconcileServerDeletion(ctx context.Context, ms *scope.Machine) (requeue bool, err error)
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 ¶
NewService returns a new Service.
func (*Service) FinalizeMachineProvisioning ¶
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 ¶
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.