scope

package
v1.0.0-alpha.2 Latest Latest
Warning

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

Go to latest
Published: Jul 20, 2023 License: Apache-2.0 Imports: 19 Imported by: 0

Documentation

Overview

Package scope defines cluster and machine scope as well as a repository for the Hivelocity API.

Index

Constants

This section is empty.

Variables

View Source
var ErrBootstrapDataNotReady = errors.New("error retrieving bootstrap data: linked Machine's bootstrap.dataSecretName is nil")

ErrBootstrapDataNotReady return an error if no bootstrap data is ready.

View Source
var ErrFailureDomainNotFound = errors.New("error no failure domain available")

ErrFailureDomainNotFound returns an error if no region is found.

View Source
var ErrWorkloadControlPlaneNotReady = errors.New("Workload ControlPlane not Ready (or not reachable)")

ErrWorkloadControlPlaneNotReady indicates that the control plane is not ready (or not reachable).

Functions

func IsControlPlaneReady

func IsControlPlaneReady(ctx context.Context, c clientcmd.ClientConfig) error

IsControlPlaneReady returns nil if the control plane is ready.

Types

type ClusterScope

type ClusterScope struct {
	logr.Logger
	Client    client.Client
	APIReader client.Reader

	HVClient hvclient.Client

	Cluster           *clusterv1.Cluster
	HivelocityCluster *infrav1.HivelocityCluster
	// contains filtered or unexported fields
}

ClusterScope defines the basic context for an actuator to operate upon.

func NewClusterScope

func NewClusterScope(_ context.Context, params ClusterScopeParams) (*ClusterScope, error)

NewClusterScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*ClusterScope) ClientConfig

func (s *ClusterScope) ClientConfig(ctx context.Context) (clientcmd.ClientConfig, error)

ClientConfig return a kusecretbernetes client config for the cluster context.

func (*ClusterScope) ClientConfigWithAPIEndpoint

func (s *ClusterScope) ClientConfigWithAPIEndpoint(ctx context.Context, endpoint clusterv1.APIEndpoint) (clientcmd.ClientConfig, error)

ClientConfigWithAPIEndpoint returns a client config.

func (*ClusterScope) Close

func (s *ClusterScope) Close(ctx context.Context) error

Close closes the current scope persisting the cluster configuration and status.

func (*ClusterScope) ListMachines

ListMachines returns HivelocityMachines.

func (*ClusterScope) Name

func (s *ClusterScope) Name() string

Name returns the HivelocityCluster name.

func (*ClusterScope) Namespace

func (s *ClusterScope) Namespace() string

Namespace returns the namespace name.

func (*ClusterScope) PatchObject

func (s *ClusterScope) PatchObject(ctx context.Context) error

PatchObject persists the machine spec and status.

type ClusterScopeParams

type ClusterScopeParams struct {
	Client            client.Client
	APIReader         client.Reader
	Logger            logr.Logger
	HVClient          hvclient.Client
	Cluster           *clusterv1.Cluster
	HivelocityCluster *infrav1.HivelocityCluster
}

ClusterScopeParams defines the input parameters used to create a new scope.

type MachineScope

type MachineScope struct {
	ClusterScope
	Machine           *clusterv1.Machine
	HivelocityMachine *infrav1.HivelocityMachine
}

MachineScope defines the basic context for an actuator to operate upon.

func NewMachineScope

func NewMachineScope(ctx context.Context, params MachineScopeParams) (*MachineScope, error)

NewMachineScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.

func (*MachineScope) Close

func (m *MachineScope) Close(ctx context.Context) error

Close closes the current scope persisting the cluster configuration and status.

func (*MachineScope) DeviceTagMachineType

func (m *MachineScope) DeviceTagMachineType() hvtag.DeviceTag

DeviceTagMachineType returns a DeviceTag object for the cluster tag.

func (*MachineScope) GetFailureDomain

func (m *MachineScope) GetFailureDomain() (string, error)

GetFailureDomain returns the machine's failure domain or a default one based on a hash.

func (*MachineScope) GetRawBootstrapData

func (m *MachineScope) GetRawBootstrapData(ctx context.Context) ([]byte, error)

GetRawBootstrapData returns the bootstrap data from the secret in the Machine's bootstrap.dataSecretName.

func (*MachineScope) IsBootstrapDataReady

func (m *MachineScope) IsBootstrapDataReady(_ context.Context) bool

IsBootstrapDataReady checks the readiness of a capi machine's bootstrap data.

func (*MachineScope) IsControlPlane

func (m *MachineScope) IsControlPlane() bool

IsControlPlane returns true if the machine is a control plane.

func (*MachineScope) Name

func (m *MachineScope) Name() string

Name returns the HivelocityMachine name.

func (*MachineScope) Namespace

func (m *MachineScope) Namespace() string

Namespace returns the namespace name.

func (*MachineScope) PatchObject

func (m *MachineScope) PatchObject(ctx context.Context) error

PatchObject persists the machine spec and status.

func (*MachineScope) SetError

func (m *MachineScope) SetError(message string, reason capierrors.MachineStatusError)

SetError sets the ErrorMessage and ErrorReason fields on the machine and logs the message. It assumes the reason is invalid configuration, since that is currently the only relevant MachineStatusError choice.

type MachineScopeParams

type MachineScopeParams struct {
	ClusterScopeParams
	Machine           *clusterv1.Machine
	HivelocityMachine *infrav1.HivelocityMachine
}

MachineScopeParams defines the input parameters used to create a new Scope.

Jump to

Keyboard shortcuts

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