Documentation ¶
Overview ¶
Package scope defines cluster and machine scope as well as a repository for the Hetzner API.
Package scope defines cluster and machine scope as well as a repository for the Hetzner API.
Package scope defines cluster and machine scope as well as a repository for the Hetzner API.
Index ¶
- Variables
- func IsControlPlaneReady(ctx context.Context, c clientcmd.ClientConfig) error
- type BareMetalHostScope
- type BareMetalHostScopeParams
- type BareMetalMachineScope
- func (m *BareMetalMachineScope) Close(ctx context.Context) error
- func (m *BareMetalMachineScope) HasAnnotation() bool
- func (m *BareMetalMachineScope) IsBootstrapReady(ctx context.Context) bool
- func (m *BareMetalMachineScope) IsControlPlane() bool
- func (m *BareMetalMachineScope) IsProvisioned() bool
- func (m *BareMetalMachineScope) Name() string
- func (m *BareMetalMachineScope) Namespace() string
- func (m *BareMetalMachineScope) PatchObject(ctx context.Context) error
- func (m *BareMetalMachineScope) SetError(message string, reason capierrors.MachineStatusError)
- type BareMetalMachineScopeParams
- type BareMetalRemediationScope
- type BareMetalRemediationScopeParams
- type ClusterScope
- func (s *ClusterScope) ClientConfig(ctx context.Context) (clientcmd.ClientConfig, error)
- func (s *ClusterScope) ClientConfigWithAPIEndpoint(ctx context.Context, endpoint clusterv1.APIEndpoint) (clientcmd.ClientConfig, error)
- func (s *ClusterScope) Close(ctx context.Context) error
- func (s *ClusterScope) ControlPlaneAPIEndpointPort() int32
- func (s *ClusterScope) GetSpecRegion() []infrav1.Region
- func (s *ClusterScope) HetznerSecret() *corev1.Secret
- func (s *ClusterScope) ListMachines(ctx context.Context) ([]*clusterv1.Machine, []*infrav1.HCloudMachine, error)
- func (s *ClusterScope) Name() string
- func (s *ClusterScope) Namespace() string
- func (s *ClusterScope) PatchObject(ctx context.Context) error
- func (s *ClusterScope) SetStatusFailureDomain(regions []infrav1.Region)
- type ClusterScopeParams
- type HCloudMachineTemplateScope
- type HCloudMachineTemplateScopeParams
- type HasRequeueAfterError
- type MachineScope
- func (m *MachineScope) Close(ctx context.Context) error
- func (m *MachineScope) GetFailureDomain() (string, error)
- func (m *MachineScope) GetRawBootstrapData(ctx context.Context) ([]byte, error)
- func (m *MachineScope) IsBootstrapDataReady(ctx context.Context) bool
- func (m *MachineScope) IsControlPlane() bool
- func (m *MachineScope) Name() string
- func (m *MachineScope) Namespace() string
- func (m *MachineScope) PatchObject(ctx context.Context) error
- func (m *MachineScope) SetError(message string, reason capierrors.MachineStatusError)
- type MachineScopeParams
- type RequeueAfterError
Constants ¶
This section is empty.
Variables ¶
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.
var ErrFailureDomainNotFound = errors.New("error no failure domain available")
ErrFailureDomainNotFound returns an error if no region is found.
Functions ¶
func IsControlPlaneReady ¶
func IsControlPlaneReady(ctx context.Context, c clientcmd.ClientConfig) error
IsControlPlaneReady returns if a machine is a control-plane.
Types ¶
type BareMetalHostScope ¶
type BareMetalHostScope struct { *logr.Logger Client client.Client SecretManager *secretutil.SecretManager RobotClient robotclient.Client SSHClientFactory sshclient.Factory HetznerBareMetalHost *infrav1.HetznerBareMetalHost HetznerCluster *infrav1.HetznerCluster OSSSHSecret *corev1.Secret RescueSSHSecret *corev1.Secret }
BareMetalHostScope defines the basic context for an actuator to operate upon.
func NewBareMetalHostScope ¶
func NewBareMetalHostScope(ctx context.Context, params BareMetalHostScopeParams) (*BareMetalHostScope, error)
NewBareMetalHostScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.
func (*BareMetalHostScope) GetRawBootstrapData ¶
func (s *BareMetalHostScope) GetRawBootstrapData(ctx context.Context) ([]byte, error)
GetRawBootstrapData returns the bootstrap data from the secret in the Machine's bootstrap.dataSecretName.
func (*BareMetalHostScope) Name ¶
func (s *BareMetalHostScope) Name() string
Name returns the HetznerCluster name.
func (*BareMetalHostScope) Namespace ¶
func (s *BareMetalHostScope) Namespace() string
Namespace returns the namespace name.
func (*BareMetalHostScope) SetErrorCount ¶
func (s *BareMetalHostScope) SetErrorCount(count int)
SetErrorCount sets the operational status of the HetznerBareMetalHost.
type BareMetalHostScopeParams ¶
type BareMetalHostScopeParams struct { Client client.Client Logger *logr.Logger HetznerBareMetalHost *infrav1.HetznerBareMetalHost HetznerCluster *infrav1.HetznerCluster RobotClient robotclient.Client SSHClientFactory sshclient.Factory OSSSHSecret *corev1.Secret RescueSSHSecret *corev1.Secret SecretManager *secretutil.SecretManager }
BareMetalHostScopeParams defines the input parameters used to create a new scope.
type BareMetalMachineScope ¶
type BareMetalMachineScope struct { *logr.Logger Client client.Client Machine *clusterv1.Machine BareMetalMachine *infrav1.HetznerBareMetalMachine HetznerCluster *infrav1.HetznerCluster HCloudClient hcloudclient.Client // contains filtered or unexported fields }
BareMetalMachineScope defines the basic context for an actuator to operate upon.
func NewBareMetalMachineScope ¶
func NewBareMetalMachineScope(ctx context.Context, params BareMetalMachineScopeParams) (*BareMetalMachineScope, error)
NewBareMetalMachineScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.
func (*BareMetalMachineScope) Close ¶
func (m *BareMetalMachineScope) Close(ctx context.Context) error
Close closes the current scope persisting the cluster configuration and status.
func (*BareMetalMachineScope) HasAnnotation ¶
func (m *BareMetalMachineScope) HasAnnotation() bool
HasAnnotation makes sure the machine has an annotation that references a host.
func (*BareMetalMachineScope) IsBootstrapReady ¶
func (m *BareMetalMachineScope) IsBootstrapReady(ctx context.Context) bool
IsBootstrapReady checks the readiness of a capi machine's bootstrap data.
func (*BareMetalMachineScope) IsControlPlane ¶
func (m *BareMetalMachineScope) IsControlPlane() bool
IsControlPlane returns true if the machine is a control plane.
func (*BareMetalMachineScope) IsProvisioned ¶
func (m *BareMetalMachineScope) IsProvisioned() bool
IsProvisioned checks if the bareMetalMachine is provisioned.
func (*BareMetalMachineScope) Name ¶
func (m *BareMetalMachineScope) Name() string
Name returns the BareMetalMachine name.
func (*BareMetalMachineScope) Namespace ¶
func (m *BareMetalMachineScope) Namespace() string
Namespace returns the namespace name.
func (*BareMetalMachineScope) PatchObject ¶
func (m *BareMetalMachineScope) PatchObject(ctx context.Context) error
PatchObject persists the machine spec and status.
func (*BareMetalMachineScope) SetError ¶
func (m *BareMetalMachineScope) 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 BareMetalMachineScopeParams ¶
type BareMetalMachineScopeParams struct { Logger *logr.Logger Client client.Client Machine *clusterv1.Machine BareMetalMachine *infrav1.HetznerBareMetalMachine HetznerCluster *infrav1.HetznerCluster HCloudClient hcloudclient.Client }
BareMetalMachineScopeParams defines the input parameters used to create a new Scope.
type BareMetalRemediationScope ¶
type BareMetalRemediationScope struct { *logr.Logger Client client.Client Machine *clusterv1.Machine BareMetalMachine *infrav1.HetznerBareMetalMachine BareMetalRemediation *infrav1.HetznerBareMetalRemediation // contains filtered or unexported fields }
BareMetalRemediationScope defines the basic context for an actuator to operate upon.
func NewBareMetalRemediationScope ¶
func NewBareMetalRemediationScope(ctx context.Context, params BareMetalRemediationScopeParams) (*BareMetalRemediationScope, error)
NewBareMetalRemediationScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.
func (*BareMetalRemediationScope) Close ¶
Close closes the current scope persisting the cluster configuration and status.
func (*BareMetalRemediationScope) Name ¶
func (m *BareMetalRemediationScope) Name() string
Name returns the BareMetalMachine name.
func (*BareMetalRemediationScope) Namespace ¶
func (m *BareMetalRemediationScope) Namespace() string
Namespace returns the namespace name.
func (*BareMetalRemediationScope) PatchObject ¶
PatchObject persists the machine spec and status.
type BareMetalRemediationScopeParams ¶
type BareMetalRemediationScopeParams struct { Logger *logr.Logger Client client.Client Machine *clusterv1.Machine BareMetalMachine *infrav1.HetznerBareMetalMachine HetznerCluster *infrav1.HetznerCluster BareMetalRemediation *infrav1.HetznerBareMetalRemediation }
BareMetalRemediationScopeParams defines the input parameters used to create a new Scope.
type ClusterScope ¶
type ClusterScope struct { *logr.Logger Client client.Client APIReader client.Reader HCloudClient hcloudclient.Client Cluster *clusterv1.Cluster HetznerCluster *infrav1.HetznerCluster // contains filtered or unexported fields }
ClusterScope defines the basic context for an actuator to operate upon.
func NewClusterScope ¶
func NewClusterScope(ctx 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 kubernetes 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) ControlPlaneAPIEndpointPort ¶
func (s *ClusterScope) ControlPlaneAPIEndpointPort() int32
ControlPlaneAPIEndpointPort returns the Port of the Kube-api server.
func (*ClusterScope) GetSpecRegion ¶
func (s *ClusterScope) GetSpecRegion() []infrav1.Region
GetSpecRegion returns a region.
func (*ClusterScope) HetznerSecret ¶
func (s *ClusterScope) HetznerSecret() *corev1.Secret
HetznerSecret returns the hetzner secret.
func (*ClusterScope) ListMachines ¶
func (s *ClusterScope) ListMachines(ctx context.Context) ([]*clusterv1.Machine, []*infrav1.HCloudMachine, error)
ListMachines returns HCloudMachines.
func (*ClusterScope) Name ¶
func (s *ClusterScope) Name() string
Name returns the HetznerCluster 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.
func (*ClusterScope) SetStatusFailureDomain ¶
func (s *ClusterScope) SetStatusFailureDomain(regions []infrav1.Region)
SetStatusFailureDomain sets the region for the status.
type ClusterScopeParams ¶
type ClusterScopeParams struct { Client client.Client APIReader client.Reader Logger *logr.Logger HetznerSecret *corev1.Secret HCloudClient hcloudclient.Client Cluster *clusterv1.Cluster HetznerCluster *infrav1.HetznerCluster }
ClusterScopeParams defines the input parameters used to create a new scope.
type HCloudMachineTemplateScope ¶
type HCloudMachineTemplateScope struct { *logr.Logger Client client.Client HCloudClient hcloudclient.Client HCloudMachineTemplate *infrav1.HCloudMachineTemplate // contains filtered or unexported fields }
HCloudMachineTemplateScope defines the basic context for an actuator to operate upon.
func NewHCloudMachineTemplateScope ¶
func NewHCloudMachineTemplateScope(ctx context.Context, params HCloudMachineTemplateScopeParams) (*HCloudMachineTemplateScope, error)
NewHCloudMachineTemplateScope creates a new Scope from the supplied parameters. This is meant to be called for each reconcile iteration.
func (*HCloudMachineTemplateScope) Close ¶
func (s *HCloudMachineTemplateScope) Close(ctx context.Context) error
Close closes the current scope persisting the cluster configuration and status.
func (*HCloudMachineTemplateScope) Name ¶
func (s *HCloudMachineTemplateScope) Name() string
Name returns the HCloudMachineTemplate name.
func (*HCloudMachineTemplateScope) Namespace ¶
func (s *HCloudMachineTemplateScope) Namespace() string
Namespace returns the namespace name.
func (*HCloudMachineTemplateScope) PatchObject ¶
func (s *HCloudMachineTemplateScope) PatchObject(ctx context.Context) error
PatchObject persists the machine spec and status.
type HCloudMachineTemplateScopeParams ¶
type HCloudMachineTemplateScopeParams struct { Client client.Client Logger *logr.Logger HCloudClient hcloudclient.Client HCloudMachineTemplate *infrav1.HCloudMachineTemplate }
HCloudMachineTemplateScopeParams defines the input parameters used to create a new scope.
type HasRequeueAfterError ¶
type HasRequeueAfterError interface { // GetRequeueAfter gets the duration to wait until the managed object is // requeued for further processing. GetRequeueAfter() time.Duration }
HasRequeueAfterError represents that an actuator managed object should be requeued for further processing after the given RequeueAfter time has passed.
type MachineScope ¶
type MachineScope struct { ClusterScope Machine *clusterv1.Machine HCloudMachine *infrav1.HCloudMachine }
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) 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(ctx 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 HCloudMachine 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 HCloudMachine *infrav1.HCloudMachine }
MachineScopeParams defines the input parameters used to create a new Scope.
type RequeueAfterError ¶
RequeueAfterError represents that an actuator managed object should be requeued for further processing after the given RequeueAfter time has passed.
func (*RequeueAfterError) Error ¶
func (e *RequeueAfterError) Error() string
Error implements the error interface.
func (*RequeueAfterError) GetRequeueAfter ¶
func (e *RequeueAfterError) GetRequeueAfter() time.Duration
GetRequeueAfter gets the duration to wait until the managed object is requeued for further processing.