Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- func ClusterHetznerCloudProviderTagKey(name string) string
- func ClusterTagKey(name string) string
- func GetImageSuffix(url string) (string, error)
- func HashOfSecretData(data map[string][]byte) ([]byte, error)
- type BTRFSDefinition
- type CPU
- type Capacity
- type ClockSpeed
- type ControllerGeneratedStatus
- type ErrorType
- type HCloudMachine
- func (in *HCloudMachine) DeepCopy() *HCloudMachine
- func (in *HCloudMachine) DeepCopyInto(out *HCloudMachine)
- func (in *HCloudMachine) DeepCopyObject() runtime.Object
- func (r *HCloudMachine) Default()
- func (r *HCloudMachine) GetConditions() clusterv1.Conditions
- func (r *HCloudMachine) HCloudMachineSpec() *HCloudMachineSpec
- func (*HCloudMachine) Hub()
- func (r *HCloudMachine) SetConditions(conditions clusterv1.Conditions)
- func (r *HCloudMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HCloudMachine) ValidateCreate() error
- func (r *HCloudMachine) ValidateDelete() error
- func (r *HCloudMachine) ValidateUpdate(old runtime.Object) error
- type HCloudMachineList
- type HCloudMachineSpec
- type HCloudMachineStatus
- type HCloudMachineTemplate
- func (in *HCloudMachineTemplate) DeepCopy() *HCloudMachineTemplate
- func (in *HCloudMachineTemplate) DeepCopyInto(out *HCloudMachineTemplate)
- func (in *HCloudMachineTemplate) DeepCopyObject() runtime.Object
- func (r *HCloudMachineTemplate) GetConditions() clusterv1.Conditions
- func (*HCloudMachineTemplate) Hub()
- func (r *HCloudMachineTemplate) SetConditions(conditions clusterv1.Conditions)
- type HCloudMachineTemplateList
- type HCloudMachineTemplateResource
- type HCloudMachineTemplateSpec
- type HCloudMachineTemplateStatus
- type HCloudMachineTemplateWebhook
- func (r *HCloudMachineTemplateWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HCloudMachineTemplateWebhook) ValidateCreate(_ context.Context, _ runtime.Object) error
- func (r *HCloudMachineTemplateWebhook) ValidateDelete(_ context.Context, _ runtime.Object) error
- func (r *HCloudMachineTemplateWebhook) ValidateUpdate(ctx context.Context, oldRaw runtime.Object, newRaw runtime.Object) error
- type HCloudMachineType
- type HCloudNetworkSpec
- type HCloudNetworkZone
- type HCloudPlacementGroupSpec
- type HCloudPlacementGroupStatus
- type HardwareDetails
- type HetznerBareMetalHost
- func (in *HetznerBareMetalHost) DeepCopy() *HetznerBareMetalHost
- func (in *HetznerBareMetalHost) DeepCopyInto(out *HetznerBareMetalHost)
- func (in *HetznerBareMetalHost) DeepCopyObject() runtime.Object
- func (host *HetznerBareMetalHost) Default()
- func (host *HetznerBareMetalHost) GetConditions() clusterv1.Conditions
- func (host *HetznerBareMetalHost) HasHardwareReboot() bool
- func (host *HetznerBareMetalHost) HasPowerReboot() bool
- func (host *HetznerBareMetalHost) HasSoftwareReboot() bool
- func (host *HetznerBareMetalHost) NeedsProvisioning() bool
- func (host *HetznerBareMetalHost) SetConditions(conditions clusterv1.Conditions)
- func (host *HetznerBareMetalHost) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (host *HetznerBareMetalHost) UpdateOSSSHStatus(currentSecret corev1.Secret) error
- func (host *HetznerBareMetalHost) UpdateRescueSSHStatus(currentSecret corev1.Secret) error
- func (host *HetznerBareMetalHost) ValidateCreate() error
- func (host *HetznerBareMetalHost) ValidateDelete() error
- func (host *HetznerBareMetalHost) ValidateUpdate(old runtime.Object) error
- type HetznerBareMetalHostList
- type HetznerBareMetalHostSpec
- type HetznerBareMetalHostStatus
- type HetznerBareMetalMachine
- func (in *HetznerBareMetalMachine) DeepCopy() *HetznerBareMetalMachine
- func (in *HetznerBareMetalMachine) DeepCopyInto(out *HetznerBareMetalMachine)
- func (in *HetznerBareMetalMachine) DeepCopyObject() runtime.Object
- func (r *HetznerBareMetalMachine) Default()
- func (r *HetznerBareMetalMachine) GetConditions() clusterv1.Conditions
- func (r *HetznerBareMetalMachine) SetConditions(conditions clusterv1.Conditions)
- func (r *HetznerBareMetalMachine) SetFailure(reason capierrors.MachineStatusError, message string)
- func (r *HetznerBareMetalMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerBareMetalMachine) ValidateCreate() error
- func (r *HetznerBareMetalMachine) ValidateDelete() error
- func (r *HetznerBareMetalMachine) ValidateUpdate(old runtime.Object) error
- type HetznerBareMetalMachineList
- type HetznerBareMetalMachineSpec
- type HetznerBareMetalMachineStatus
- type HetznerBareMetalMachineTemplate
- type HetznerBareMetalMachineTemplateList
- type HetznerBareMetalMachineTemplateResource
- type HetznerBareMetalMachineTemplateSpec
- type HetznerBareMetalMachineTemplateWebhook
- func (r *HetznerBareMetalMachineTemplateWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerBareMetalMachineTemplateWebhook) ValidateCreate(_ context.Context, _ runtime.Object) error
- func (r *HetznerBareMetalMachineTemplateWebhook) ValidateDelete(_ context.Context, _ runtime.Object) error
- func (r *HetznerBareMetalMachineTemplateWebhook) ValidateUpdate(ctx context.Context, oldRaw runtime.Object, newRaw runtime.Object) error
- type HetznerBareMetalRemediation
- func (in *HetznerBareMetalRemediation) DeepCopy() *HetznerBareMetalRemediation
- func (in *HetznerBareMetalRemediation) DeepCopyInto(out *HetznerBareMetalRemediation)
- func (in *HetznerBareMetalRemediation) DeepCopyObject() runtime.Object
- func (r *HetznerBareMetalRemediation) Default()
- func (r *HetznerBareMetalRemediation) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerBareMetalRemediation) ValidateCreate() error
- func (r *HetznerBareMetalRemediation) ValidateDelete() error
- func (r *HetznerBareMetalRemediation) ValidateUpdate(old runtime.Object) error
- type HetznerBareMetalRemediationList
- type HetznerBareMetalRemediationSpec
- type HetznerBareMetalRemediationStatus
- type HetznerBareMetalRemediationTemplate
- func (in *HetznerBareMetalRemediationTemplate) DeepCopy() *HetznerBareMetalRemediationTemplate
- func (in *HetznerBareMetalRemediationTemplate) DeepCopyInto(out *HetznerBareMetalRemediationTemplate)
- func (in *HetznerBareMetalRemediationTemplate) DeepCopyObject() runtime.Object
- func (r *HetznerBareMetalRemediationTemplate) Default()
- func (r *HetznerBareMetalRemediationTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerBareMetalRemediationTemplate) ValidateCreate() error
- func (r *HetznerBareMetalRemediationTemplate) ValidateDelete() error
- func (r *HetznerBareMetalRemediationTemplate) ValidateUpdate(old runtime.Object) error
- type HetznerBareMetalRemediationTemplateList
- type HetznerBareMetalRemediationTemplateResource
- type HetznerBareMetalRemediationTemplateSpec
- type HetznerBareMetalRemediationTemplateStatus
- type HetznerCluster
- func (in *HetznerCluster) DeepCopy() *HetznerCluster
- func (in *HetznerCluster) DeepCopyInto(out *HetznerCluster)
- func (in *HetznerCluster) DeepCopyObject() runtime.Object
- func (r *HetznerCluster) Default()
- func (r *HetznerCluster) GetConditions() clusterv1.Conditions
- func (*HetznerCluster) Hub()
- func (r *HetznerCluster) SetConditions(conditions clusterv1.Conditions)
- func (r *HetznerCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerCluster) ValidateCreate() error
- func (r *HetznerCluster) ValidateDelete() error
- func (r *HetznerCluster) ValidateUpdate(old runtime.Object) error
- type HetznerClusterList
- func (in *HetznerClusterList) DeepCopy() *HetznerClusterList
- func (in *HetznerClusterList) DeepCopyInto(out *HetznerClusterList)
- func (in *HetznerClusterList) DeepCopyObject() runtime.Object
- func (*HetznerClusterList) Hub()
- func (r *HetznerClusterList) SetupWebhookWithManager(mgr ctrl.Manager) error
- type HetznerClusterSpec
- type HetznerClusterStatus
- type HetznerClusterTemplate
- func (in *HetznerClusterTemplate) DeepCopy() *HetznerClusterTemplate
- func (in *HetznerClusterTemplate) DeepCopyInto(out *HetznerClusterTemplate)
- func (in *HetznerClusterTemplate) DeepCopyObject() runtime.Object
- func (r *HetznerClusterTemplate) Default()
- func (r *HetznerClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerClusterTemplate) ValidateCreate() error
- func (r *HetznerClusterTemplate) ValidateDelete() error
- func (r *HetznerClusterTemplate) ValidateUpdate(oldRaw runtime.Object) error
- type HetznerClusterTemplateList
- type HetznerClusterTemplateResource
- type HetznerClusterTemplateSpec
- type HetznerSSHKeys
- type HetznerSecretKeyRef
- type HetznerSecretRef
- type HostSelector
- type HostSelectorRequirement
- type Image
- type ImageType
- type InstallImage
- type LVMDefinition
- type LoadBalancerAlgorithmType
- type LoadBalancerServiceSpec
- type LoadBalancerSpec
- type LoadBalancerStatus
- type LoadBalancerTarget
- type LoadBalancerTargetType
- type NIC
- type NetworkStatus
- type Partition
- type ProvisioningState
- type PublicNetworkSpec
- type Raid
- type RebootAnnotationArguments
- type RebootType
- type Region
- type RemediationStrategy
- type RemediationType
- type ResourceLifecycle
- type RootDeviceHints
- type SSHKey
- type SSHSecretKeyRef
- type SSHSecretRef
- type SSHSpec
- type SSHStatus
- type SecretStatus
- type Storage
Constants ¶
const ( // LoadBalancerAttached reports on whether the load balancer is attached. LoadBalancerAttached clusterv1.ConditionType = "LoadBalancerAttached" // LoadBalancerUnreachableReason is used when load balancer is unreachable. LoadBalancerUnreachableReason = "LoadBalancerUnreachable" )
const ( // LoadBalancerAttachedToNetworkCondition reports on whether the load balancer is attached to a network. LoadBalancerAttachedToNetworkCondition clusterv1.ConditionType = "LoadBalancerAttachedToNetwork" // LoadBalancerAttachFailedReason is used when load balancer could not be attached to network. LoadBalancerAttachFailedReason = "LoadBalancerAttachFailed" // LoadBalancerNoNetworkFoundReason is used when no network could be found. LoadBalancerNoNetworkFoundReason = "LoadBalancerNoNetworkFound" )
const ( // InstanceReadyCondition reports on current status of the instance. Ready indicates the instance is in a Running state. InstanceReadyCondition clusterv1.ConditionType = "InstanceReady" // InstanceTerminatedReason instance is in a terminated state. InstanceTerminatedReason = "InstanceTerminated" // InstanceHasNonExistingPlacementGroupReason instance has a placement group name that does not exist. InstanceHasNonExistingPlacementGroupReason = "InstanceHasNonExistingPlacementGroup" // ServerOffReason instance is off. ServerOffReason = "ServerOff" // InstanceAsControlPlaneUnreachableReason control plane is (not yet) reachable. InstanceAsControlPlaneUnreachableReason = "InstanceAsControlPlaneUnreachable" )
const ( // InstanceBootstrapReadyCondition reports on current status of the instance. BootstrapReady indicates the bootstrap is ready. InstanceBootstrapReadyCondition clusterv1.ConditionType = "InstanceBootstrapReady" // InstanceBootstrapNotReadyReason bootstrap not ready yet. InstanceBootstrapNotReadyReason = "InstanceBootstrapNotReady" )
const ( // NetworkAttached reports on whether there is a network attached to the cluster. NetworkAttached clusterv1.ConditionType = "NetworkAttached" // NetworkDisabledReason indicates that network is disabled. NetworkDisabledReason = "NetworkDisabled" // NetworkUnreachableReason indicates that network is unreachable. NetworkUnreachableReason = "NetworkUnreachable" )
const ( // PlacementGroupsSynced reports on whether the placement groups are successfully synced. PlacementGroupsSynced clusterv1.ConditionType = "PlacementGroupsSynced" // PlacementGroupsUnreachableReason indicates that network is disabled. PlacementGroupsUnreachableReason = "PlacementGroupsUnreachable" )
const ( // HetznerClusterReady reports on whether the Hetzner cluster is in ready state. HetznerClusterReady clusterv1.ConditionType = "HetznerClusterReady" // HetznerSecretUnreachableReason indicates that Hetzner secret is unreachable. HetznerSecretUnreachableReason = "HetznerSecretUnreachable" // #nosec // HCloudCredentialsInvalidReason indicates that credentials for HCloud are invalid. HCloudCredentialsInvalidReason = "HCloudCredentialsInvalid" // #nosec )
const ( // RateLimitExceeded reports whether the rate limit has been reached. RateLimitExceeded clusterv1.ConditionType = "RateLimitExceeded" // RateLimitNotReachedReason indicates that the rate limit is not reached yet. RateLimitNotReachedReason = "RateLimitNotReached" )
const ( // HetznerBareMetalHostReady reports on whether the Hetzner cluster is in ready state. HetznerBareMetalHostReady clusterv1.ConditionType = "HetznerBareMetalHostReady" // RobotCredentialsInvalidReason indicates that credentials for Robot are invalid. RobotCredentialsInvalidReason = "RobotCredentialsInvalid" // #nosec )
const ( // BareMetalHostFinalizer is the name of the finalizer added to // hosts to block delete operations until the physical host can be // deprovisioned. BareMetalHostFinalizer string = "hetznerbaremetalhost.infrastructure.cluster.x-k8s.io" // HostAnnotation is the key for an annotation that should go on a HetznerBareMetalMachine to // reference what HetznerBareMetalHost it corresponds to. HostAnnotation = "infrastructure.cluster.x-k8s.io/HetznerBareMetalHost" )
const ( // ErrorMessageMissingRootDeviceHints specifies the error message when no root device hints are specified. ErrorMessageMissingRootDeviceHints string = "no root device hints specified" // ErrorMessageMissingHetznerSecret specifies the error message when no Hetzner secret was found. ErrorMessageMissingHetznerSecret string = "could not find HetznerSecret" // ErrorMessageMissingRescueSSHSecret specifies the error message when no RescueSSH secret was found. ErrorMessageMissingRescueSSHSecret string = "could not find RescueSSHSecret" // ErrorMessageMissingOSSSHSecret specifies the error message when no OSSSH secret was found. ErrorMessageMissingOSSSHSecret string = "could not find OSSSHSecret" // ErrorMessageMissingOrInvalidSecretData specifies the error message when no data in secret is missing or invalid. ErrorMessageMissingOrInvalidSecretData string = "invalid or not specified information in secret" )
const ( // BareMetalMachineFinalizer allows Reconcilehetznerbaremetalmachine to clean up resources associated with hetznerbaremetalmachine before // removing it from the apiserver. BareMetalMachineFinalizer = "hetznerbaremetalmachine.infrastructure.cluster.x-k8s.io" // BareMetalHostNamePrefix is a prefix for all hostNames of bare metal servers. BareMetalHostNamePrefix = "bm-" )
const ( // RemediationFinalizer allows HetznerBareMetalRemediationReconciler to clean up resources associated with HetznerBareMetalRemediation before // removing it from the apiserver. RemediationFinalizer = "hetznerbaremetalremediation.infrastructure.cluster.x-k8s.io" // RebootAnnotation indicates that a bare metal host object should be rebooted. RebootAnnotation = "reboot.hetznerbaremetalhost.infrastructure.cluster.x-k8s.io" // RebootRemediationStrategy sets RemediationType to Reboot. RebootRemediationStrategy RemediationType = "Reboot" )
const ( // PhaseRunning represents the running state during remediation. PhaseRunning = "Running" // PhaseWaiting represents the state during remediation when the controller has done its job but still waiting for the result of the last remediation step. PhaseWaiting = "Waiting" // PhaseDeleting represents the state where host remediation has failed and the controller is deleting the unhealthy Machine object from the cluster. PhaseDeleting = "Deleting machine" )
const ( // ResourceLifecycleOwned is the value we use when tagging resources to indicate // that the resource is considered owned and managed by the cluster, // and in particular that the lifecycle is tied to the lifecycle of the cluster. ResourceLifecycleOwned = ResourceLifecycle("owned") // that the resource is shared between multiple clusters, and should not be destroyed // if the cluster is destroyed. ResourceLifecycleShared = ResourceLifecycle("shared") // NameKubernetesHetznerCloudProviderPrefix is the tag name used by the cloud provider to logically // separate independent cluster resources. We use it to identify which resources we expect // to be permissive about state changes. // logically independent clusters running in the same AZ. // The tag key = NameKubernetesHetznerCloudProviderPrefix + clusterID // The tag value is an ownership value. NameKubernetesHetznerCloudProviderPrefix = "caph" // NameHetznerProviderPrefix is the tag prefix we use to differentiate // cluster-api-provider-hetzner owned components from other tooling that // uses NameKubernetesClusterPrefix // NameHetznerProviderPrefix = "sigs.k8s.io/cluster-api-provider-hetzner/". NameHetznerProviderPrefix = "caph-" // NameHetznerProviderOwned is the tag name we use to differentiate // cluster-api-provider-hetzner owned components from other tooling that // uses NameKubernetesClusterPrefix. NameHetznerProviderOwned = NameHetznerProviderPrefix + "cluster-" // MachineNameTagKey tags related MachineNameTag. MachineNameTagKey = "machine." + NameHetznerProviderPrefix + "name" )
const ( // LoadBalancerAlgorithmTypeRoundRobin default for the Kubernetes Api Server loadbalancer. LoadBalancerAlgorithmTypeRoundRobin = LoadBalancerAlgorithmType("round_robin") // LoadBalancerAlgorithmTypeLeastConnections default for Loadbalancer. LoadBalancerAlgorithmTypeLeastConnections = LoadBalancerAlgorithmType("least_connections") )
const ( // LoadBalancerTargetTypeServer default for the Kubernetes Api Server loadbalancer. LoadBalancerTargetTypeServer = LoadBalancerTargetType("server") // LoadBalancerTargetTypeIP default for Loadbalancer. LoadBalancerTargetTypeIP = LoadBalancerTargetType("ip") )
const ( // AssociateBMHCondition reports on whether the Hetzner cluster is in ready state. AssociateBMHCondition clusterv1.ConditionType = "AssociateBMHCondition" )
const ( // ClusterFinalizer allows ReconcileHetznerCluster to clean up HCloud // resources associated with HetznerCluster before removing it from the // apiserver. ClusterFinalizer = "hetznercluster.infrastructure.cluster.x-k8s.io" )
const ( // MachineFinalizer allows ReconcileHCloudMachine to clean up HCloud // resources associated with HCloudMachine before removing it from the // apiserver. MachineFinalizer = "hcloudmachine.infrastructure.cluster.x-k8s.io" )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func ClusterHetznerCloudProviderTagKey ¶
ClusterHetznerCloudProviderTagKey generates the key for resources associated a cluster's HCloud cloud provider.
func ClusterTagKey ¶
ClusterTagKey generates the key for resources associated with a cluster.
func GetImageSuffix ¶
GetImageSuffix tests whether the suffix is known and outputs it if yes. Otherwise it returns an error.
Types ¶
type BTRFSDefinition ¶
type BTRFSDefinition struct { // Volume defines the btrfs volume name. Volume string `json:"volume"` // SubVolume defines the subvolume name. SubVolume string `json:"subvolume"` // Mount defines the mountpath. Mount string `json:"mount"` }
BTRFSDefinition defines the btrfs subvolume definitions to be created.
func (*BTRFSDefinition) DeepCopy ¶
func (in *BTRFSDefinition) DeepCopy() *BTRFSDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BTRFSDefinition.
func (*BTRFSDefinition) DeepCopyInto ¶
func (in *BTRFSDefinition) DeepCopyInto(out *BTRFSDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CPU ¶
type CPU struct { Arch string `json:"arch,omitempty"` Model string `json:"model,omitempty"` ClockGigahertz ClockSpeed `json:"clockGigahertz,omitempty"` Flags []string `json:"flags,omitempty"` Threads int `json:"threads,omitempty"` Cores int `json:"cores,omitempty"` }
CPU describes one processor on the host.
func (*CPU) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CPU.
func (*CPU) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClockSpeed ¶
type ClockSpeed string
ClockSpeed is a clock speed in MHz +kubebuilder:validation:Format=double
type ControllerGeneratedStatus ¶
type ControllerGeneratedStatus struct { // HetznerClusterRef is the name of the HetznerCluster object which is // needed as some necessary information is stored there, e.g. the hrobot password HetznerClusterRef string `json:"hetznerClusterRef"` // UserData holds the reference to the Secret containing the user // data to be passed to the host before it boots. // +optional UserData *corev1.SecretReference `json:"userData,omitempty"` // InstallImage is the configuration which is used for the autosetup configuration for installing an OS via InstallImage. // +optional InstallImage *InstallImage `json:"installImage,omitempty"` // StatusHardwareDetails are automatically gathered and should not be modified by the user. // +optional HardwareDetails *HardwareDetails `json:"hardwareDetails,omitempty"` // IPv4 address of server. // +optional IPv4 string `json:"ipv4"` // IPv6 address of server. // +optional IPv6 string `json:"ipv6"` // RebootTypes is a list of all available reboot types for API reboots // +optional RebootTypes []RebootType `json:"rebootTypes,omitempty"` // SSHSpec defines specs for SSH. SSHSpec *SSHSpec `json:"sshSpec,omitempty"` // HetznerRobotSSHKey contains name and fingerprint of the in HetznerCluster spec specified SSH key. // +optional SSHStatus SSHStatus `json:"sshStatus,omitempty"` // ErrorType indicates the type of failure encountered when the // OperationalStatus is OperationalStatusError // +optional ErrorType ErrorType `json:"errorType,omitempty"` // ErrorCount records how many times the host has encoutered an error since the last successful operation. // +kubebuilder:default:=0 ErrorCount int `json:"errorCount"` // Information tracked by the provisioner. // +optional ProvisioningState ProvisioningState `json:"provisioningState,omitempty"` // the last error message reported by the provisioning subsystem. // +optional ErrorMessage string `json:"errorMessage"` // the last error message reported by the provisioning subsystem. // +optional LastUpdated *metav1.Time `json:"lastUpdated,omitempty"` // Rebooted shows whether the server is currently being rebooted. Rebooted bool `json:"rebooted,omitempty"` // Conditions defines current service state of the HetznerBareMetalHost. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
ControllerGeneratedStatus contains all status information which is important to persist.
func (*ControllerGeneratedStatus) DeepCopy ¶
func (in *ControllerGeneratedStatus) DeepCopy() *ControllerGeneratedStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControllerGeneratedStatus.
func (*ControllerGeneratedStatus) DeepCopyInto ¶
func (in *ControllerGeneratedStatus) DeepCopyInto(out *ControllerGeneratedStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ErrorType ¶
type ErrorType string
ErrorType indicates the class of problem that has caused the Host resource to enter an error state.
const ( // ErrorTypeSSHRebootTooSlow is an error condition that the ssh reboot is too slow. ErrorTypeSSHRebootTooSlow ErrorType = "ssh reboot too slow" // ErrorTypeSoftwareRebootTooSlow is an error condition that the software reboot is too slow. ErrorTypeSoftwareRebootTooSlow ErrorType = "software reboot too slow" // ErrorTypeHardwareRebootTooSlow is an error condition that the hardware reboot is too slow. ErrorTypeHardwareRebootTooSlow ErrorType = "hardware reboot too slow" // ErrorTypeSSHRebootNotStarted is an error condition indicating that the ssh reboot did not start. ErrorTypeSSHRebootNotStarted ErrorType = "ssh reboot not started" // ErrorTypeSoftwareRebootNotStarted is an error condition indicating that the software reboot did not start. ErrorTypeSoftwareRebootNotStarted ErrorType = "software reboot not started" // ErrorTypeHardwareRebootNotStarted is an error condition indicating that the hardware reboot did not start. ErrorTypeHardwareRebootNotStarted ErrorType = "hardware reboot not started" // ErrorTypeConnectionError ErrorType is an error condition indicating that ssh command returned a connection refused error. ErrorTypeConnectionError ErrorType = "connection refused error of SSH command" // ErrorTypeHardwareRebootFailed is an error condition indicating that the hardware reboot failed. ErrorTypeHardwareRebootFailed ErrorType = "hardware reboot failed" // RegistrationError is an error condition occurring when the // controller is unable to retrieve information of a specific server via robot. RegistrationError ErrorType = "registration error" // PreparationError is an error condition occurring when something fails while preparing host reconciliation. PreparationError ErrorType = "preparation error" // ProvisioningError is an error condition occurring when the controller // fails to provision or deprovision the Host. ProvisioningError ErrorType = "provisioning error" // FatalError is a fatal error that triggers a failureMessage in the bm machine. FatalError ErrorType = "fatal error" )
type HCloudMachine ¶
type HCloudMachine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HCloudMachineSpec `json:"spec,omitempty"` Status HCloudMachineStatus `json:"status,omitempty"` }
HCloudMachine is the Schema for the hcloudmachines API.
func (*HCloudMachine) DeepCopy ¶
func (in *HCloudMachine) DeepCopy() *HCloudMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachine.
func (*HCloudMachine) DeepCopyInto ¶
func (in *HCloudMachine) DeepCopyInto(out *HCloudMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudMachine) DeepCopyObject ¶
func (in *HCloudMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HCloudMachine) Default ¶
func (r *HCloudMachine) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HCloudMachine) GetConditions ¶
func (r *HCloudMachine) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HCloudMachine resource.
func (*HCloudMachine) HCloudMachineSpec ¶
func (r *HCloudMachine) HCloudMachineSpec() *HCloudMachineSpec
HCloudMachineSpec returns a DeepCopy.
func (*HCloudMachine) Hub ¶
func (*HCloudMachine) Hub()
Hub marks HCloudMachine as a conversion hub.
func (*HCloudMachine) SetConditions ¶
func (r *HCloudMachine) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HCloudMachine to the predescribed clusterv1.Conditions.
func (*HCloudMachine) SetupWebhookWithManager ¶
func (r *HCloudMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HCloudMachine.
func (*HCloudMachine) ValidateCreate ¶
func (r *HCloudMachine) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachine) ValidateDelete ¶
func (r *HCloudMachine) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachine) ValidateUpdate ¶
func (r *HCloudMachine) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HCloudMachineList ¶
type HCloudMachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HCloudMachine `json:"items"` }
HCloudMachineList contains a list of HCloudMachine.
func (*HCloudMachineList) DeepCopy ¶
func (in *HCloudMachineList) DeepCopy() *HCloudMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineList.
func (*HCloudMachineList) DeepCopyInto ¶
func (in *HCloudMachineList) DeepCopyInto(out *HCloudMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudMachineList) DeepCopyObject ¶
func (in *HCloudMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HCloudMachineList) Hub ¶
func (*HCloudMachineList) Hub()
Hub marks HCloudMachineList as a conversion hub.
func (*HCloudMachineList) SetupWebhookWithManager ¶
func (r *HCloudMachineList) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HCloudMachineList.
type HCloudMachineSpec ¶
type HCloudMachineSpec struct { // ProviderID is the unique identifier as specified by the cloud provider. // +optional ProviderID *string `json:"providerID,omitempty"` // Type is the HCloud Machine Type for this machine. // +kubebuilder:validation:Enum=cpx11;cx21;cpx21;cx31;cpx31;cx41;cpx41;cx51;cpx51;ccx11;ccx12;ccx21;ccx22;ccx31;ccx32;ccx41;ccx42;ccx51;ccx52;ccx62; Type HCloudMachineType `json:"type"` // ImageName is the reference to the Machine Image from which to create the machine instance. // +kubebuilder:validation:MinLength=1 ImageName string `json:"imageName"` // define Machine specific SSH keys, overrides cluster wide SSH keys // +optional SSHKeys []SSHKey `json:"sshKeys,omitempty"` // +optional PlacementGroupName *string `json:"placementGroupName,omitempty"` // PublicNetwork specifies information for public networks // +optional PublicNetwork *PublicNetworkSpec `json:"publicNetwork,omitempty"` }
HCloudMachineSpec defines the desired state of HCloudMachine.
func (*HCloudMachineSpec) DeepCopy ¶
func (in *HCloudMachineSpec) DeepCopy() *HCloudMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineSpec.
func (*HCloudMachineSpec) DeepCopyInto ¶
func (in *HCloudMachineSpec) DeepCopyInto(out *HCloudMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudMachineStatus ¶
type HCloudMachineStatus struct { // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` // Addresses contains the server's associated addresses. Addresses []corev1.NodeAddress `json:"addresses,omitempty"` // Region contains the name of the HCloud location the server is running. Region Region `json:"region,omitempty"` // InstanceState is the state of the server for this machine. // +optional InstanceState *hcloud.ServerStatus `json:"instanceState,omitempty"` // FailureReason will be set in the event that there is a terminal problem // reconciling the Machine and will contain a succinct value suitable // for machine interpretation. // +optional FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"` // FailureMessage will be set in the event that there is a terminal problem // reconciling the Machine and will contain a more verbose string suitable // for logging and human consumption. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // Conditions defines current service state of the HCloudMachine. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HCloudMachineStatus defines the observed state of HCloudMachine.
func (*HCloudMachineStatus) DeepCopy ¶
func (in *HCloudMachineStatus) DeepCopy() *HCloudMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineStatus.
func (*HCloudMachineStatus) DeepCopyInto ¶
func (in *HCloudMachineStatus) DeepCopyInto(out *HCloudMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudMachineTemplate ¶
type HCloudMachineTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HCloudMachineTemplateSpec `json:"spec,omitempty"` Status HCloudMachineTemplateStatus `json:"status,omitempty"` }
HCloudMachineTemplate is the Schema for the hcloudmachinetemplates API.
func (*HCloudMachineTemplate) DeepCopy ¶
func (in *HCloudMachineTemplate) DeepCopy() *HCloudMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineTemplate.
func (*HCloudMachineTemplate) DeepCopyInto ¶
func (in *HCloudMachineTemplate) DeepCopyInto(out *HCloudMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudMachineTemplate) DeepCopyObject ¶
func (in *HCloudMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HCloudMachineTemplate) GetConditions ¶
func (r *HCloudMachineTemplate) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HCloudMachine resource.
func (*HCloudMachineTemplate) Hub ¶
func (*HCloudMachineTemplate) Hub()
Hub marks HCloudMachineTemplate as a conversion hub.
func (*HCloudMachineTemplate) SetConditions ¶
func (r *HCloudMachineTemplate) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HCloudMachine to the predescribed clusterv1.Conditions.
type HCloudMachineTemplateList ¶
type HCloudMachineTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HCloudMachineTemplate `json:"items"` }
HCloudMachineTemplateList contains a list of HCloudMachineTemplate.
func (*HCloudMachineTemplateList) DeepCopy ¶
func (in *HCloudMachineTemplateList) DeepCopy() *HCloudMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineTemplateList.
func (*HCloudMachineTemplateList) DeepCopyInto ¶
func (in *HCloudMachineTemplateList) DeepCopyInto(out *HCloudMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudMachineTemplateList) DeepCopyObject ¶
func (in *HCloudMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HCloudMachineTemplateList) Hub ¶
func (*HCloudMachineTemplateList) Hub()
Hub marks HCloudMachineTemplateList as a conversion hub.
type HCloudMachineTemplateResource ¶
type HCloudMachineTemplateResource struct { // Standard object's metadata. // +optional ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"` // Spec is the specification of the desired behavior of the machine. Spec HCloudMachineSpec `json:"spec"` }
HCloudMachineTemplateResource describes the data needed to create am HCloudMachine from a template.
func (*HCloudMachineTemplateResource) DeepCopy ¶
func (in *HCloudMachineTemplateResource) DeepCopy() *HCloudMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineTemplateResource.
func (*HCloudMachineTemplateResource) DeepCopyInto ¶
func (in *HCloudMachineTemplateResource) DeepCopyInto(out *HCloudMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudMachineTemplateSpec ¶
type HCloudMachineTemplateSpec struct {
Template HCloudMachineTemplateResource `json:"template"`
}
HCloudMachineTemplateSpec defines the desired state of HCloudMachineTemplate.
func (*HCloudMachineTemplateSpec) DeepCopy ¶
func (in *HCloudMachineTemplateSpec) DeepCopy() *HCloudMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineTemplateSpec.
func (*HCloudMachineTemplateSpec) DeepCopyInto ¶
func (in *HCloudMachineTemplateSpec) DeepCopyInto(out *HCloudMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudMachineTemplateStatus ¶
type HCloudMachineTemplateStatus struct { // Capacity defines the resource capacity for this machine. // This value is used for autoscaling from zero operations as defined in: // https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20210310-opt-in-autoscaling-from-zero.md // +optional Capacity corev1.ResourceList `json:"capacity,omitempty"` // Conditions defines current service state of the HCloudMachineTemplate. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HCloudMachineTemplateStatus defines the observed state of HCloudMachineTemplate.
func (*HCloudMachineTemplateStatus) DeepCopy ¶
func (in *HCloudMachineTemplateStatus) DeepCopy() *HCloudMachineTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineTemplateStatus.
func (*HCloudMachineTemplateStatus) DeepCopyInto ¶
func (in *HCloudMachineTemplateStatus) DeepCopyInto(out *HCloudMachineTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudMachineTemplateWebhook ¶
type HCloudMachineTemplateWebhook struct{}
HCloudMachineTemplateWebhook implements a custom validation webhook for HCloudMachineTemplate. +kubebuilder:object:generate=false
func (*HCloudMachineTemplateWebhook) SetupWebhookWithManager ¶
func (r *HCloudMachineTemplateWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerMachineTemplate.
func (*HCloudMachineTemplateWebhook) ValidateCreate ¶
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachineTemplateWebhook) ValidateDelete ¶
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachineTemplateWebhook) ValidateUpdate ¶
func (r *HCloudMachineTemplateWebhook) ValidateUpdate(ctx context.Context, oldRaw runtime.Object, newRaw runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HCloudMachineType ¶
type HCloudMachineType string
HCloudMachineType defines the HCloud Machine type.
type HCloudNetworkSpec ¶
type HCloudNetworkSpec struct { // Enabled defines whether the network should be enabled or not Enabled bool `json:"enabled"` // CIDRBlock defines the cidrBlock of the HCloud Network. A Subnet is required. // +kubebuilder:default="10.0.0.0/16" // +optional CIDRBlock string `json:"cidrBlock,omitempty"` // SubnetCIDRBlock defines the cidrBlock for the subnet of the HCloud Network. // +kubebuilder:default="10.0.0.0/24" // +optional SubnetCIDRBlock string `json:"subnetCidrBlock,omitempty"` // NetworkZone specifies the HCloud network zone of the private network. // +kubebuilder:validation:Enum=eu-central;us-east // +kubebuilder:default=eu-central // +optional NetworkZone HCloudNetworkZone `json:"networkZone,omitempty"` }
HCloudNetworkSpec defines the desired state of the HCloud Private Network.
func (*HCloudNetworkSpec) DeepCopy ¶
func (in *HCloudNetworkSpec) DeepCopy() *HCloudNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudNetworkSpec.
func (*HCloudNetworkSpec) DeepCopyInto ¶
func (in *HCloudNetworkSpec) DeepCopyInto(out *HCloudNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudNetworkSpec) IsZero ¶
func (s *HCloudNetworkSpec) IsZero() bool
IsZero returns true if a private Network is set.
type HCloudNetworkZone ¶
type HCloudNetworkZone string
HCloudNetworkZone describes the Network zone.
type HCloudPlacementGroupSpec ¶
type HCloudPlacementGroupSpec struct { // +kubebuilder:validation:MinLength=1 Name string `json:"name"` // +kubebuilder:validation:Enum=spread // +kubebuilder:default=spread Type string `json:"type,omitempty"` }
HCloudPlacementGroupSpec defines a PlacementGroup.
func (*HCloudPlacementGroupSpec) DeepCopy ¶
func (in *HCloudPlacementGroupSpec) DeepCopy() *HCloudPlacementGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudPlacementGroupSpec.
func (*HCloudPlacementGroupSpec) DeepCopyInto ¶
func (in *HCloudPlacementGroupSpec) DeepCopyInto(out *HCloudPlacementGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudPlacementGroupStatus ¶
type HCloudPlacementGroupStatus struct { ID int `json:"id,omitempty"` Server []int `json:"servers,omitempty"` Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` }
HCloudPlacementGroupStatus returns the status of a Placementgroup.
func (*HCloudPlacementGroupStatus) DeepCopy ¶
func (in *HCloudPlacementGroupStatus) DeepCopy() *HCloudPlacementGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudPlacementGroupStatus.
func (*HCloudPlacementGroupStatus) DeepCopyInto ¶
func (in *HCloudPlacementGroupStatus) DeepCopyInto(out *HCloudPlacementGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HardwareDetails ¶
type HardwareDetails struct { RAMGB int `json:"ramGB,omitempty"` NIC []NIC `json:"nics,omitempty"` Storage []Storage `json:"storage,omitempty"` CPU CPU `json:"cpu,omitempty"` }
HardwareDetails collects all of the information about hardware discovered on the host.
func (*HardwareDetails) DeepCopy ¶
func (in *HardwareDetails) DeepCopy() *HardwareDetails
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HardwareDetails.
func (*HardwareDetails) DeepCopyInto ¶
func (in *HardwareDetails) DeepCopyInto(out *HardwareDetails)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalHost ¶
type HetznerBareMetalHost struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HetznerBareMetalHostSpec `json:"spec,omitempty"` Status HetznerBareMetalHostStatus `json:"status,omitempty"` }
HetznerBareMetalHost is the Schema for the hetznerbaremetalhosts API.
func (*HetznerBareMetalHost) DeepCopy ¶
func (in *HetznerBareMetalHost) DeepCopy() *HetznerBareMetalHost
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalHost.
func (*HetznerBareMetalHost) DeepCopyInto ¶
func (in *HetznerBareMetalHost) DeepCopyInto(out *HetznerBareMetalHost)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalHost) DeepCopyObject ¶
func (in *HetznerBareMetalHost) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerBareMetalHost) Default ¶
func (host *HetznerBareMetalHost) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerBareMetalHost) GetConditions ¶
func (host *HetznerBareMetalHost) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HetznerBareMetalHost resource.
func (*HetznerBareMetalHost) HasHardwareReboot ¶
func (host *HetznerBareMetalHost) HasHardwareReboot() bool
HasHardwareReboot returns a boolean indicating whether hardware reboot exists for server.
func (*HetznerBareMetalHost) HasPowerReboot ¶
func (host *HetznerBareMetalHost) HasPowerReboot() bool
HasPowerReboot returns a boolean indicating whether power reboot exists for server.
func (*HetznerBareMetalHost) HasSoftwareReboot ¶
func (host *HetznerBareMetalHost) HasSoftwareReboot() bool
HasSoftwareReboot returns a boolean indicating whether software reboot exists for server.
func (*HetznerBareMetalHost) NeedsProvisioning ¶
func (host *HetznerBareMetalHost) NeedsProvisioning() bool
NeedsProvisioning compares the settings with the provisioning status and returns true when more work is needed or false otherwise.
func (*HetznerBareMetalHost) SetConditions ¶
func (host *HetznerBareMetalHost) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HetznerBareMetalHost to the predescribed clusterv1.Conditions.
func (*HetznerBareMetalHost) SetupWebhookWithManager ¶
func (host *HetznerBareMetalHost) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalHost.
func (*HetznerBareMetalHost) UpdateOSSSHStatus ¶
func (host *HetznerBareMetalHost) UpdateOSSSHStatus(currentSecret corev1.Secret) error
UpdateOSSSHStatus modifies the ssh status with the last chosen ssh secret.
func (*HetznerBareMetalHost) UpdateRescueSSHStatus ¶
func (host *HetznerBareMetalHost) UpdateRescueSSHStatus(currentSecret corev1.Secret) error
UpdateRescueSSHStatus modifies the ssh status with the last chosen ssh secret.
func (*HetznerBareMetalHost) ValidateCreate ¶
func (host *HetznerBareMetalHost) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalHost) ValidateDelete ¶
func (host *HetznerBareMetalHost) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalHost) ValidateUpdate ¶
func (host *HetznerBareMetalHost) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerBareMetalHostList ¶
type HetznerBareMetalHostList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerBareMetalHost `json:"items"` }
HetznerBareMetalHostList contains a list of HetznerBareMetalHost.
func (*HetznerBareMetalHostList) DeepCopy ¶
func (in *HetznerBareMetalHostList) DeepCopy() *HetznerBareMetalHostList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalHostList.
func (*HetznerBareMetalHostList) DeepCopyInto ¶
func (in *HetznerBareMetalHostList) DeepCopyInto(out *HetznerBareMetalHostList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalHostList) DeepCopyObject ¶
func (in *HetznerBareMetalHostList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalHostSpec ¶
type HetznerBareMetalHostSpec struct { // ServerID defines the ID of the server provided by Hetzner. ServerID int `json:"serverID"` // Provide guidance about how to choose the device for the image // being provisioned. They need to be specified to provision the host. // +optional RootDeviceHints *RootDeviceHints `json:"rootDeviceHints,omitempty"` // ConsumerRef can be used to store information about something // that is using a host. When it is not empty, the host is considered "in use". // +optional ConsumerRef *corev1.ObjectReference `json:"consumerRef,omitempty"` // MaintenanceMode indicates that a machine is supposed to be deprovisioned // and won't be selected by any Hetzner bare metal machine. MaintenanceMode bool `json:"maintenanceMode,omitempty"` // Description is a human-entered text used to help identify the host // +optional Description string `json:"description,omitempty"` // Status contains all status information. DO NOT EDIT!!! // +optional Status ControllerGeneratedStatus `json:"status,omitempty"` }
HetznerBareMetalHostSpec defines the desired state of HetznerBareMetalHost.
func (*HetznerBareMetalHostSpec) DeepCopy ¶
func (in *HetznerBareMetalHostSpec) DeepCopy() *HetznerBareMetalHostSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalHostSpec.
func (*HetznerBareMetalHostSpec) DeepCopyInto ¶
func (in *HetznerBareMetalHostSpec) DeepCopyInto(out *HetznerBareMetalHostSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalHostStatus ¶
type HetznerBareMetalHostStatus struct { }
HetznerBareMetalHostStatus defines the observed state of HetznerBareMetalHost.
func (*HetznerBareMetalHostStatus) DeepCopy ¶
func (in *HetznerBareMetalHostStatus) DeepCopy() *HetznerBareMetalHostStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalHostStatus.
func (*HetznerBareMetalHostStatus) DeepCopyInto ¶
func (in *HetznerBareMetalHostStatus) DeepCopyInto(out *HetznerBareMetalHostStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalMachine ¶
type HetznerBareMetalMachine struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HetznerBareMetalMachineSpec `json:"spec,omitempty"` // +optional Status HetznerBareMetalMachineStatus `json:"status,omitempty"` }
HetznerBareMetalMachine is the Schema for the hetznerbaremetalmachines API.
func (*HetznerBareMetalMachine) DeepCopy ¶
func (in *HetznerBareMetalMachine) DeepCopy() *HetznerBareMetalMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachine.
func (*HetznerBareMetalMachine) DeepCopyInto ¶
func (in *HetznerBareMetalMachine) DeepCopyInto(out *HetznerBareMetalMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalMachine) DeepCopyObject ¶
func (in *HetznerBareMetalMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerBareMetalMachine) Default ¶
func (r *HetznerBareMetalMachine) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerBareMetalMachine) GetConditions ¶
func (r *HetznerBareMetalMachine) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HetznerBareMetalMachine resource.
func (*HetznerBareMetalMachine) SetConditions ¶
func (r *HetznerBareMetalMachine) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HetznerBareMetalMachine to the predescribed clusterv1.Conditions.
func (*HetznerBareMetalMachine) SetFailure ¶
func (r *HetznerBareMetalMachine) SetFailure(reason capierrors.MachineStatusError, message string)
SetFailure sets a failure reason and message.
func (*HetznerBareMetalMachine) SetupWebhookWithManager ¶
func (r *HetznerBareMetalMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalMachine.
func (*HetznerBareMetalMachine) ValidateCreate ¶
func (r *HetznerBareMetalMachine) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalMachine) ValidateDelete ¶
func (r *HetznerBareMetalMachine) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalMachine) ValidateUpdate ¶
func (r *HetznerBareMetalMachine) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerBareMetalMachineList ¶
type HetznerBareMetalMachineList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerBareMetalMachine `json:"items"` }
HetznerBareMetalMachineList contains a list of HetznerBareMetalMachine.
func (*HetznerBareMetalMachineList) DeepCopy ¶
func (in *HetznerBareMetalMachineList) DeepCopy() *HetznerBareMetalMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineList.
func (*HetznerBareMetalMachineList) DeepCopyInto ¶
func (in *HetznerBareMetalMachineList) DeepCopyInto(out *HetznerBareMetalMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalMachineList) DeepCopyObject ¶
func (in *HetznerBareMetalMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalMachineSpec ¶
type HetznerBareMetalMachineSpec struct { // ProviderID will be the hetznerbaremetalmachine in ProviderID format // (hcloud://<server-id>) // +optional ProviderID *string `json:"providerID,omitempty"` // InstallImage is the configuration which is used for the autosetup configuration for installing an OS via InstallImage. InstallImage InstallImage `json:"installImage"` // HostSelector specifies matching criteria for labels on HetznerBareMetalHosts. // This is used to limit the set of HetznerBareMetalHost objects considered for // claiming for a HetznerBareMetalMachine. // +optional HostSelector HostSelector `json:"hostSelector,omitempty"` // SSHSpec gives a reference on the secret where SSH details are specified as well as ports for ssh. SSHSpec SSHSpec `json:"sshSpec,omitempty"` }
HetznerBareMetalMachineSpec defines the desired state of HetznerBareMetalMachine.
func (*HetznerBareMetalMachineSpec) DeepCopy ¶
func (in *HetznerBareMetalMachineSpec) DeepCopy() *HetznerBareMetalMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineSpec.
func (*HetznerBareMetalMachineSpec) DeepCopyInto ¶
func (in *HetznerBareMetalMachineSpec) DeepCopyInto(out *HetznerBareMetalMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalMachineStatus ¶
type HetznerBareMetalMachineStatus struct { // LastUpdated identifies when this status was last observed. // +optional LastUpdated *metav1.Time `json:"lastUpdated,omitempty"` // FailureReason will be set in the event that there is a terminal problem. // +optional FailureReason *capierrors.MachineStatusError `json:"failureReason,omitempty"` // FailureMessage will be set in the event that there is a terminal problem. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // Addresses is a list of addresses assigned to the machine. // This field is copied from the infrastructure provider reference. // +optional Addresses []corev1.NodeAddress `json:"addresses,omitempty"` // Ready is the state of the hetznerbaremetalmachine. // +optional Ready bool `json:"ready"` // Conditions defines current service state of the HetznerBareMetalMachine. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HetznerBareMetalMachineStatus defines the observed state of HetznerBareMetalMachine.
func (*HetznerBareMetalMachineStatus) DeepCopy ¶
func (in *HetznerBareMetalMachineStatus) DeepCopy() *HetznerBareMetalMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineStatus.
func (*HetznerBareMetalMachineStatus) DeepCopyInto ¶
func (in *HetznerBareMetalMachineStatus) DeepCopyInto(out *HetznerBareMetalMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalMachineTemplate ¶
type HetznerBareMetalMachineTemplate struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HetznerBareMetalMachineTemplateSpec `json:"spec,omitempty"` }
HetznerBareMetalMachineTemplate is the Schema for the hetznerbaremetalmachinetemplates API. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:object:root=true +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of HetznerBareMetalMachineTemplate" +kubebuilder:resource:path=hetznerbaremetalmachinetemplates,scope=Namespaced,categories=cluster-api,shortName=hbmt;hbmmtemplate;hetznerbaremetalmachinetemplates;hetznerbaremetalmachinetemplate +kubebuilder:storageversion
func (*HetznerBareMetalMachineTemplate) DeepCopy ¶
func (in *HetznerBareMetalMachineTemplate) DeepCopy() *HetznerBareMetalMachineTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineTemplate.
func (*HetznerBareMetalMachineTemplate) DeepCopyInto ¶
func (in *HetznerBareMetalMachineTemplate) DeepCopyInto(out *HetznerBareMetalMachineTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalMachineTemplate) DeepCopyObject ¶
func (in *HetznerBareMetalMachineTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalMachineTemplateList ¶
type HetznerBareMetalMachineTemplateList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerBareMetalMachineTemplate `json:"items"` }
HetznerBareMetalMachineTemplateList contains a list of HetznerBareMetalMachineTemplate.
func (*HetznerBareMetalMachineTemplateList) DeepCopy ¶
func (in *HetznerBareMetalMachineTemplateList) DeepCopy() *HetznerBareMetalMachineTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineTemplateList.
func (*HetznerBareMetalMachineTemplateList) DeepCopyInto ¶
func (in *HetznerBareMetalMachineTemplateList) DeepCopyInto(out *HetznerBareMetalMachineTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalMachineTemplateList) DeepCopyObject ¶
func (in *HetznerBareMetalMachineTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalMachineTemplateResource ¶
type HetznerBareMetalMachineTemplateResource struct { // Spec is the specification of the desired behavior of the machine. Spec HetznerBareMetalMachineSpec `json:"spec"` }
HetznerBareMetalMachineTemplateResource describes the data needed to create a HetznerBareMetalMachine from a template.
func (*HetznerBareMetalMachineTemplateResource) DeepCopy ¶
func (in *HetznerBareMetalMachineTemplateResource) DeepCopy() *HetznerBareMetalMachineTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineTemplateResource.
func (*HetznerBareMetalMachineTemplateResource) DeepCopyInto ¶
func (in *HetznerBareMetalMachineTemplateResource) DeepCopyInto(out *HetznerBareMetalMachineTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalMachineTemplateSpec ¶
type HetznerBareMetalMachineTemplateSpec struct {
Template HetznerBareMetalMachineTemplateResource `json:"template"`
}
HetznerBareMetalMachineTemplateSpec defines the desired state of HetznerBareMetalMachineTemplate.
func (*HetznerBareMetalMachineTemplateSpec) DeepCopy ¶
func (in *HetznerBareMetalMachineTemplateSpec) DeepCopy() *HetznerBareMetalMachineTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalMachineTemplateSpec.
func (*HetznerBareMetalMachineTemplateSpec) DeepCopyInto ¶
func (in *HetznerBareMetalMachineTemplateSpec) DeepCopyInto(out *HetznerBareMetalMachineTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalMachineTemplateWebhook ¶
type HetznerBareMetalMachineTemplateWebhook struct{}
HetznerBareMetalMachineTemplateWebhook implements a custom validation webhook for HetznerBareMetalMachineTemplate. +kubebuilder:object:generate=false
func (*HetznerBareMetalMachineTemplateWebhook) SetupWebhookWithManager ¶
func (r *HetznerBareMetalMachineTemplateWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalMachineTemplate.
func (*HetznerBareMetalMachineTemplateWebhook) ValidateCreate ¶
func (r *HetznerBareMetalMachineTemplateWebhook) ValidateCreate(_ context.Context, _ runtime.Object) error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalMachineTemplateWebhook) ValidateDelete ¶
func (r *HetznerBareMetalMachineTemplateWebhook) ValidateDelete(_ context.Context, _ runtime.Object) error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalMachineTemplateWebhook) ValidateUpdate ¶
func (r *HetznerBareMetalMachineTemplateWebhook) ValidateUpdate(ctx context.Context, oldRaw runtime.Object, newRaw runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerBareMetalRemediation ¶
type HetznerBareMetalRemediation struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HetznerBareMetalRemediationSpec `json:"spec,omitempty"` // +optional Status HetznerBareMetalRemediationStatus `json:"status,omitempty"` }
HetznerBareMetalRemediation is the Schema for the hetznerbaremetalremediations API.
func (*HetznerBareMetalRemediation) DeepCopy ¶
func (in *HetznerBareMetalRemediation) DeepCopy() *HetznerBareMetalRemediation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediation.
func (*HetznerBareMetalRemediation) DeepCopyInto ¶
func (in *HetznerBareMetalRemediation) DeepCopyInto(out *HetznerBareMetalRemediation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalRemediation) DeepCopyObject ¶
func (in *HetznerBareMetalRemediation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerBareMetalRemediation) Default ¶
func (r *HetznerBareMetalRemediation) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerBareMetalRemediation) SetupWebhookWithManager ¶
func (r *HetznerBareMetalRemediation) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalRemediation.
func (*HetznerBareMetalRemediation) ValidateCreate ¶
func (r *HetznerBareMetalRemediation) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediation) ValidateDelete ¶
func (r *HetznerBareMetalRemediation) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediation) ValidateUpdate ¶
func (r *HetznerBareMetalRemediation) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerBareMetalRemediationList ¶
type HetznerBareMetalRemediationList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerBareMetalRemediation `json:"items"` }
HetznerBareMetalRemediationList contains a list of HetznerBareMetalRemediation.
func (*HetznerBareMetalRemediationList) DeepCopy ¶
func (in *HetznerBareMetalRemediationList) DeepCopy() *HetznerBareMetalRemediationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationList.
func (*HetznerBareMetalRemediationList) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationList) DeepCopyInto(out *HetznerBareMetalRemediationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalRemediationList) DeepCopyObject ¶
func (in *HetznerBareMetalRemediationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalRemediationSpec ¶
type HetznerBareMetalRemediationSpec struct { // Strategy field defines remediation strategy. Strategy *RemediationStrategy `json:"strategy,omitempty"` }
HetznerBareMetalRemediationSpec defines the desired state of HetznerBareMetalRemediation.
func (*HetznerBareMetalRemediationSpec) DeepCopy ¶
func (in *HetznerBareMetalRemediationSpec) DeepCopy() *HetznerBareMetalRemediationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationSpec.
func (*HetznerBareMetalRemediationSpec) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationSpec) DeepCopyInto(out *HetznerBareMetalRemediationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalRemediationStatus ¶
type HetznerBareMetalRemediationStatus struct { // Phase represents the current phase of machine remediation. // E.g. Pending, Running, Done etc. // +optional Phase string `json:"phase,omitempty"` // RetryCount can be used as a counter during the remediation. // Field can hold number of reboots etc. // +optional RetryCount int `json:"retryCount,omitempty"` // LastRemediated identifies when the host was last remediated // +optional LastRemediated *metav1.Time `json:"lastRemediated,omitempty"` }
HetznerBareMetalRemediationStatus defines the observed state of HetznerBareMetalRemediation.
func (*HetznerBareMetalRemediationStatus) DeepCopy ¶
func (in *HetznerBareMetalRemediationStatus) DeepCopy() *HetznerBareMetalRemediationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationStatus.
func (*HetznerBareMetalRemediationStatus) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationStatus) DeepCopyInto(out *HetznerBareMetalRemediationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalRemediationTemplate ¶
type HetznerBareMetalRemediationTemplate struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HetznerBareMetalRemediationTemplateSpec `json:"spec,omitempty"` // +optional Status HetznerBareMetalRemediationTemplateStatus `json:"status,omitempty"` }
HetznerBareMetalRemediationTemplate is the Schema for the hetznerbaremetalremediationtemplates API.
func (*HetznerBareMetalRemediationTemplate) DeepCopy ¶
func (in *HetznerBareMetalRemediationTemplate) DeepCopy() *HetznerBareMetalRemediationTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationTemplate.
func (*HetznerBareMetalRemediationTemplate) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationTemplate) DeepCopyInto(out *HetznerBareMetalRemediationTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalRemediationTemplate) DeepCopyObject ¶
func (in *HetznerBareMetalRemediationTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerBareMetalRemediationTemplate) Default ¶
func (r *HetznerBareMetalRemediationTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerBareMetalRemediationTemplate) SetupWebhookWithManager ¶
func (r *HetznerBareMetalRemediationTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalRemediationTemplate.
func (*HetznerBareMetalRemediationTemplate) ValidateCreate ¶
func (r *HetznerBareMetalRemediationTemplate) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediationTemplate) ValidateDelete ¶
func (r *HetznerBareMetalRemediationTemplate) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediationTemplate) ValidateUpdate ¶
func (r *HetznerBareMetalRemediationTemplate) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerBareMetalRemediationTemplateList ¶
type HetznerBareMetalRemediationTemplateList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerBareMetalRemediationTemplate `json:"items"` }
HetznerBareMetalRemediationTemplateList contains a list of HetznerBareMetalRemediationTemplate.
func (*HetznerBareMetalRemediationTemplateList) DeepCopy ¶
func (in *HetznerBareMetalRemediationTemplateList) DeepCopy() *HetznerBareMetalRemediationTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationTemplateList.
func (*HetznerBareMetalRemediationTemplateList) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationTemplateList) DeepCopyInto(out *HetznerBareMetalRemediationTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerBareMetalRemediationTemplateList) DeepCopyObject ¶
func (in *HetznerBareMetalRemediationTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerBareMetalRemediationTemplateResource ¶
type HetznerBareMetalRemediationTemplateResource struct { // Spec is the specification of the desired behavior of the HetznerBareMetalRemediation. Spec HetznerBareMetalRemediationSpec `json:"spec"` }
HetznerBareMetalRemediationTemplateResource describes the data needed to create a HetznerBareMetalRemediation from a template.
func (*HetznerBareMetalRemediationTemplateResource) DeepCopy ¶
func (in *HetznerBareMetalRemediationTemplateResource) DeepCopy() *HetznerBareMetalRemediationTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationTemplateResource.
func (*HetznerBareMetalRemediationTemplateResource) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationTemplateResource) DeepCopyInto(out *HetznerBareMetalRemediationTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalRemediationTemplateSpec ¶
type HetznerBareMetalRemediationTemplateSpec struct {
Template HetznerBareMetalRemediationTemplateResource `json:"template"`
}
HetznerBareMetalRemediationTemplateSpec defines the desired state of HetznerBareMetalRemediationTemplate.
func (*HetznerBareMetalRemediationTemplateSpec) DeepCopy ¶
func (in *HetznerBareMetalRemediationTemplateSpec) DeepCopy() *HetznerBareMetalRemediationTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationTemplateSpec.
func (*HetznerBareMetalRemediationTemplateSpec) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationTemplateSpec) DeepCopyInto(out *HetznerBareMetalRemediationTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerBareMetalRemediationTemplateStatus ¶
type HetznerBareMetalRemediationTemplateStatus struct { // HetznerBareMetalRemediationStatus defines the observed state of HetznerBareMetalRemediation Status HetznerBareMetalRemediationStatus `json:"status"` }
HetznerBareMetalRemediationTemplateStatus defines the observed state of HetznerBareMetalRemediationTemplate.
func (*HetznerBareMetalRemediationTemplateStatus) DeepCopy ¶
func (in *HetznerBareMetalRemediationTemplateStatus) DeepCopy() *HetznerBareMetalRemediationTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerBareMetalRemediationTemplateStatus.
func (*HetznerBareMetalRemediationTemplateStatus) DeepCopyInto ¶
func (in *HetznerBareMetalRemediationTemplateStatus) DeepCopyInto(out *HetznerBareMetalRemediationTemplateStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerCluster ¶
type HetznerCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HetznerClusterSpec `json:"spec,omitempty"` Status HetznerClusterStatus `json:"status,omitempty"` }
HetznerCluster is the Schema for the hetznercluster API.
func (*HetznerCluster) DeepCopy ¶
func (in *HetznerCluster) DeepCopy() *HetznerCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerCluster.
func (*HetznerCluster) DeepCopyInto ¶
func (in *HetznerCluster) DeepCopyInto(out *HetznerCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerCluster) DeepCopyObject ¶
func (in *HetznerCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerCluster) Default ¶
func (r *HetznerCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerCluster) GetConditions ¶
func (r *HetznerCluster) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HetznerCluster resource.
func (*HetznerCluster) Hub ¶
func (*HetznerCluster) Hub()
Hub marks HetznerCluster as a conversion hub.
func (*HetznerCluster) SetConditions ¶
func (r *HetznerCluster) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HetznerCluster to the predescribed clusterv1.Conditions.
func (*HetznerCluster) SetupWebhookWithManager ¶
func (r *HetznerCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerCluster.
func (*HetznerCluster) ValidateCreate ¶
func (r *HetznerCluster) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerCluster) ValidateDelete ¶
func (r *HetznerCluster) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerCluster) ValidateUpdate ¶
func (r *HetznerCluster) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerClusterList ¶
type HetznerClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerCluster `json:"items"` }
HetznerClusterList contains a list of HetznerCluster +kubebuilder:object:root=true +k8s:defaulter-gen=true
func (*HetznerClusterList) DeepCopy ¶
func (in *HetznerClusterList) DeepCopy() *HetznerClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterList.
func (*HetznerClusterList) DeepCopyInto ¶
func (in *HetznerClusterList) DeepCopyInto(out *HetznerClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerClusterList) DeepCopyObject ¶
func (in *HetznerClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerClusterList) Hub ¶
func (*HetznerClusterList) Hub()
Hub marks HetznerClusterList as a conversion hub.
func (*HetznerClusterList) SetupWebhookWithManager ¶
func (r *HetznerClusterList) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerClusterList.
type HetznerClusterSpec ¶
type HetznerClusterSpec struct { // HCloudNetworkSpec defines the Network for Hetzner Cloud. If left empty no private Network is configured. // +optional HCloudNetwork HCloudNetworkSpec `json:"hcloudNetwork"` // ControlPlaneRegion consists of a list of HCloud Regions (fsn, nbg, hel). Because HCloud Networks // have a very low latency we could assume in some use-cases that a region is behaving like a zone // https://kubernetes.io/docs/reference/labels-annotations-taints/#topologykubernetesiozone ControlPlaneRegions []Region `json:"controlPlaneRegions"` // SSHKeys are cluster wide. Valid values are a valid SSH key name. SSHKeys HetznerSSHKeys `json:"sshKeys"` // ControlPlaneEndpoint represents the endpoint used to communicate with the control plane. // +optional ControlPlaneEndpoint *clusterv1.APIEndpoint `json:"controlPlaneEndpoint"` // ControlPlaneLoadBalancer is optional configuration for customizing control plane behavior. Naming convention is from upstream cluster-api project. ControlPlaneLoadBalancer LoadBalancerSpec `json:"controlPlaneLoadBalancer,omitempty"` // +optional HCloudPlacementGroup []HCloudPlacementGroupSpec `json:"hcloudPlacementGroups,omitempty"` // HetznerSecretRef is a reference to a token to be used when reconciling this cluster. // This is generated in the security section under API TOKENS. Read & write is necessary. HetznerSecret HetznerSecretRef `json:"hetznerSecretRef"` }
HetznerClusterSpec defines the desired state of HetznerCluster.
func (*HetznerClusterSpec) DeepCopy ¶
func (in *HetznerClusterSpec) DeepCopy() *HetznerClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterSpec.
func (*HetznerClusterSpec) DeepCopyInto ¶
func (in *HetznerClusterSpec) DeepCopyInto(out *HetznerClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerClusterStatus ¶
type HetznerClusterStatus struct { // +kubebuilder:default=false Ready bool `json:"ready"` // +optional Network *NetworkStatus `json:"networkStatus,omitempty"` ControlPlaneLoadBalancer *LoadBalancerStatus `json:"controlPlaneLoadBalancer,omitempty"` // +optional HCloudPlacementGroup []HCloudPlacementGroupStatus `json:"hcloudPlacementGroups,omitempty"` FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"` Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HetznerClusterStatus defines the observed state of HetznerCluster.
func (*HetznerClusterStatus) DeepCopy ¶
func (in *HetznerClusterStatus) DeepCopy() *HetznerClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterStatus.
func (*HetznerClusterStatus) DeepCopyInto ¶
func (in *HetznerClusterStatus) DeepCopyInto(out *HetznerClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerClusterTemplate ¶
type HetznerClusterTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HetznerClusterTemplateSpec `json:"spec,omitempty"` }
HetznerClusterTemplate is the Schema for the hetznerclustertemplates API.
func (*HetznerClusterTemplate) DeepCopy ¶
func (in *HetznerClusterTemplate) DeepCopy() *HetznerClusterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplate.
func (*HetznerClusterTemplate) DeepCopyInto ¶
func (in *HetznerClusterTemplate) DeepCopyInto(out *HetznerClusterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerClusterTemplate) DeepCopyObject ¶
func (in *HetznerClusterTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerClusterTemplate) Default ¶
func (r *HetznerClusterTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerClusterTemplate) SetupWebhookWithManager ¶
func (r *HetznerClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerClusterTemplate.
func (*HetznerClusterTemplate) ValidateCreate ¶
func (r *HetznerClusterTemplate) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerClusterTemplate) ValidateDelete ¶
func (r *HetznerClusterTemplate) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerClusterTemplate) ValidateUpdate ¶
func (r *HetznerClusterTemplate) ValidateUpdate(oldRaw runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerClusterTemplateList ¶
type HetznerClusterTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerClusterTemplate `json:"items"` }
HetznerClusterTemplateList contains a list of HetznerClusterTemplate.
func (*HetznerClusterTemplateList) DeepCopy ¶
func (in *HetznerClusterTemplateList) DeepCopy() *HetznerClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplateList.
func (*HetznerClusterTemplateList) DeepCopyInto ¶
func (in *HetznerClusterTemplateList) DeepCopyInto(out *HetznerClusterTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerClusterTemplateList) DeepCopyObject ¶
func (in *HetznerClusterTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerClusterTemplateResource ¶
type HetznerClusterTemplateResource struct { // +optional ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"` Spec HetznerClusterSpec `json:"spec"` }
HetznerClusterTemplateResource contains spec for HetznerClusterSpec.
func (*HetznerClusterTemplateResource) DeepCopy ¶
func (in *HetznerClusterTemplateResource) DeepCopy() *HetznerClusterTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplateResource.
func (*HetznerClusterTemplateResource) DeepCopyInto ¶
func (in *HetznerClusterTemplateResource) DeepCopyInto(out *HetznerClusterTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerClusterTemplateSpec ¶
type HetznerClusterTemplateSpec struct {
Template HetznerClusterTemplateResource `json:"template"`
}
HetznerClusterTemplateSpec defines the desired state of HetznerClusterTemplate.
func (*HetznerClusterTemplateSpec) DeepCopy ¶
func (in *HetznerClusterTemplateSpec) DeepCopy() *HetznerClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplateSpec.
func (*HetznerClusterTemplateSpec) DeepCopyInto ¶
func (in *HetznerClusterTemplateSpec) DeepCopyInto(out *HetznerClusterTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerSSHKeys ¶
type HetznerSSHKeys struct { // +optional HCloud []SSHKey `json:"hcloud,omitempty"` RobotRescueSecretRef SSHSecretRef `json:"robotRescueSecretRef,omitempty"` }
HetznerSSHKeys defines the global SSHKeys HetznerCluster.
func (*HetznerSSHKeys) DeepCopy ¶
func (in *HetznerSSHKeys) DeepCopy() *HetznerSSHKeys
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerSSHKeys.
func (*HetznerSSHKeys) DeepCopyInto ¶
func (in *HetznerSSHKeys) DeepCopyInto(out *HetznerSSHKeys)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerSecretKeyRef ¶
type HetznerSecretKeyRef struct { // +optional HCloudToken string `json:"hcloudToken"` // +optional HetznerRobotUser string `json:"hetznerRobotUser"` // +optional HetznerRobotPassword string `json:"hetznerRobotPassword"` }
HetznerSecretKeyRef defines the key name of the HetznerSecret. Need to specify either HCloudToken or both HetznerRobotUser and HetznerRobotPassword.
func (*HetznerSecretKeyRef) DeepCopy ¶
func (in *HetznerSecretKeyRef) DeepCopy() *HetznerSecretKeyRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerSecretKeyRef.
func (*HetznerSecretKeyRef) DeepCopyInto ¶
func (in *HetznerSecretKeyRef) DeepCopyInto(out *HetznerSecretKeyRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerSecretRef ¶
type HetznerSecretRef struct { Name string `json:"name"` Key HetznerSecretKeyRef `json:"key"` }
HetznerSecretRef defines all the name of the secret and the relevant keys needed to access Hetzner API.
func (*HetznerSecretRef) DeepCopy ¶
func (in *HetznerSecretRef) DeepCopy() *HetznerSecretRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerSecretRef.
func (*HetznerSecretRef) DeepCopyInto ¶
func (in *HetznerSecretRef) DeepCopyInto(out *HetznerSecretRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostSelector ¶
type HostSelector struct { // Key/value pairs of labels that must exist on a chosen BareMetalHost // +optional MatchLabels map[string]string `json:"matchLabels,omitempty"` // Label match expressions that must be true on a chosen BareMetalHost // +optional MatchExpressions []HostSelectorRequirement `json:"matchExpressions,omitempty"` }
HostSelector specifies matching criteria for labels on BareMetalHosts. This is used to limit the set of BareMetalHost objects considered for claiming for a Machine.
func (*HostSelector) DeepCopy ¶
func (in *HostSelector) DeepCopy() *HostSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostSelector.
func (*HostSelector) DeepCopyInto ¶
func (in *HostSelector) DeepCopyInto(out *HostSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HostSelectorRequirement ¶
type HostSelectorRequirement struct { Key string `json:"key"` Operator selection.Operator `json:"operator"` Values []string `json:"values"` }
HostSelectorRequirement defines a requirement used for MatchExpressions to select host machines.
func (*HostSelectorRequirement) DeepCopy ¶
func (in *HostSelectorRequirement) DeepCopy() *HostSelectorRequirement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HostSelectorRequirement.
func (*HostSelectorRequirement) DeepCopyInto ¶
func (in *HostSelectorRequirement) DeepCopyInto(out *HostSelectorRequirement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Image ¶
type Image struct { // URL defines the remote URL for downloading a tar, tar.gz, tar.bz, tar.bz2, tar.xz, tgz, tbz, txz image. URL string `json:"url,omitempty"` // Name defines the archive name after download. This has to be a valid name for Installimage. Name string `json:"name,omitempty"` // Path is the local path for a preinstalled image from upstream. Path string `json:"path,omitempty"` }
Image defines the properties for the autosetup config.
func (*Image) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ImageType ¶
type ImageType string
ImageType defines the accepted image types.
const ( // ImageTypeTar defines the image type for tar files. ImageTypeTar ImageType = "tar" // ImageTypeTarGz defines the image type for tar.gz files. ImageTypeTarGz ImageType = "tar.gz" // ImageTypeTarBz defines the image type for tar.bz files. ImageTypeTarBz ImageType = "tar.bz" // ImageTypeTarBz2 defines the image type for tar.bz2 files. ImageTypeTarBz2 ImageType = "tar.bz2" // ImageTypeTarXz defines the image type for tar.xz files. ImageTypeTarXz ImageType = "tar.xz" // ImageTypeTgz defines the image type for tgz files. ImageTypeTgz ImageType = "tgz" // ImageTypeTbz defines the image type for tbz files. ImageTypeTbz ImageType = "tbz" // ImageTypeTxz defines the image type for txz files. ImageTypeTxz ImageType = "txz" )
type InstallImage ¶
type InstallImage struct { // Image is the image to be provisioned. Image Image `json:"image"` // PostInstallScript is used for configuring commands which should be executed after installimage. // It is passed along with the installimage command. PostInstallScript string `json:"postInstallScript,omitempty"` // Partitions defines the additional Partitions to be created. Partitions []Partition `json:"partitions"` // LVMDefinitions defines the logical volume definitions to be created. // +optional LVMDefinitions []LVMDefinition `json:"logicalVolumeDefinitions,omitempty"` // BTRFSDefinitions defines the btrfs subvolume definitions to be created. // +optional BTRFSDefinitions []BTRFSDefinition `json:"btrfsDefinitions,omitempty"` // Swraid defines the SWRAID in InstallImage. // +optional // +kubebuilder:default=0 // +kubebuilder:validation:Enum=0;1; Swraid int `json:"swraid"` // SwraidLevel defines the SWRAIDLEVEL in InstallImage. Ignored if Swraid=0. // +optional // +kubebuilder:default=1 // +kubebuilder:validation:Enum=0;1;5;6;10; SwraidLevel int `json:"swraidLevel,omitempty"` }
InstallImage defines the configuration for InstallImage.
func (*InstallImage) DeepCopy ¶
func (in *InstallImage) DeepCopy() *InstallImage
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallImage.
func (*InstallImage) DeepCopyInto ¶
func (in *InstallImage) DeepCopyInto(out *InstallImage)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LVMDefinition ¶
type LVMDefinition struct { // VG defines the vg name. VG string `json:"vg"` // Name defines the volume name. Name string `json:"name"` // Mount defines the mountpath. Mount string `json:"mount"` // FileSystem defines the filesystem for this logical volume. FileSystem string `json:"filesystem"` // Size defines the size in M/G/T or MiB/GiB/TiB. Size string `json:"size"` }
LVMDefinition defines the logical volume definitions to be created.
func (*LVMDefinition) DeepCopy ¶
func (in *LVMDefinition) DeepCopy() *LVMDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LVMDefinition.
func (*LVMDefinition) DeepCopyInto ¶
func (in *LVMDefinition) DeepCopyInto(out *LVMDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerAlgorithmType ¶
type LoadBalancerAlgorithmType string
LoadBalancerAlgorithmType defines the Algorithm type. +kubebuilder:validation:Enum=round_robin;least_connections
func (*LoadBalancerAlgorithmType) HCloudAlgorithmType ¶
func (algorithmType *LoadBalancerAlgorithmType) HCloudAlgorithmType() hcloud.LoadBalancerAlgorithmType
HCloudAlgorithmType converts LoadBalancerAlgorithmType to hcloud type.
type LoadBalancerServiceSpec ¶
type LoadBalancerServiceSpec struct { // Protocol specifies the supported Loadbalancer Protocol. // +kubebuilder:validation:Enum=http;https;tcp Protocol string `json:"protocol,omitempty"` // ListenPort, i.e. source port, defines the incoming port open on the loadbalancer. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 ListenPort int `json:"listenPort,omitempty"` // DestinationPort defines the port on the server. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 DestinationPort int `json:"destinationPort,omitempty"` }
LoadBalancerServiceSpec defines a Loadbalancer Target.
func (*LoadBalancerServiceSpec) DeepCopy ¶
func (in *LoadBalancerServiceSpec) DeepCopy() *LoadBalancerServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerServiceSpec.
func (*LoadBalancerServiceSpec) DeepCopyInto ¶
func (in *LoadBalancerServiceSpec) DeepCopyInto(out *LoadBalancerServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerSpec ¶
type LoadBalancerSpec struct { // +optional // +kubebuilder:default=true Enabled bool `json:"enabled"` // +optional Name *string `json:"name,omitempty"` // Could be round_robin or least_connection. The default value is "round_robin". // +optional // +kubebuilder:validation:Enum=round_robin;least_connections // +kubebuilder:default=round_robin Algorithm LoadBalancerAlgorithmType `json:"algorithm,omitempty"` // Loadbalancer type // +optional // +kubebuilder:validation:Enum=lb11;lb21;lb31 // +kubebuilder:default=lb11 Type string `json:"type,omitempty"` // API Server port. It must be valid ports range (1-65535). If omitted, default value is 6443. // +optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +kubebuilder:default=6443 Port int `json:"port,omitempty"` // Defines how traffic will be routed from the Load Balancer to your target server. // +optional ExtraServices []LoadBalancerServiceSpec `json:"extraServices,omitempty"` // Region contains the name of the HCloud location the load balancer is running. Region Region `json:"region,omitempty"` }
LoadBalancerSpec defines the desired state of the Control Plane Loadbalancer.
func (*LoadBalancerSpec) DeepCopy ¶
func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerSpec.
func (*LoadBalancerSpec) DeepCopyInto ¶
func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerStatus ¶
type LoadBalancerStatus struct { ID int `json:"id,omitempty"` IPv4 string `json:"ipv4,omitempty"` IPv6 string `json:"ipv6,omitempty"` InternalIP string `json:"internalIP,omitempty"` Target []LoadBalancerTarget `json:"targets,omitempty"` Protected bool `json:"protected,omitempty"` }
LoadBalancerStatus defines the obeserved state of the control plane loadbalancer.
func (*LoadBalancerStatus) DeepCopy ¶
func (in *LoadBalancerStatus) DeepCopy() *LoadBalancerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerStatus.
func (*LoadBalancerStatus) DeepCopyInto ¶
func (in *LoadBalancerStatus) DeepCopyInto(out *LoadBalancerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerTarget ¶
type LoadBalancerTarget struct { Type LoadBalancerTargetType `json:"type"` ServerID int `json:"serverID,omitempty"` IP string `json:"ip,omitempty"` }
LoadBalancerTarget defines the target of a load balancer.
func (*LoadBalancerTarget) DeepCopy ¶
func (in *LoadBalancerTarget) DeepCopy() *LoadBalancerTarget
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerTarget.
func (*LoadBalancerTarget) DeepCopyInto ¶
func (in *LoadBalancerTarget) DeepCopyInto(out *LoadBalancerTarget)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerTargetType ¶
type LoadBalancerTargetType string
LoadBalancerTargetType defines the target type. +kubebuilder:validation:Enum=server;ip
type NIC ¶
type NIC struct { // The name of the network interface, e.g. "en0" Name string `json:"name,omitempty"` // The vendor and product IDs of the NIC, e.g. "0x8086 0x1572" Model string `json:"model,omitempty"` // The device MAC address // +kubebuilder:validation:Pattern=`[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}` MAC string `json:"mac,omitempty"` // The IP address of the interface. This will be an IPv4 or IPv6 address // if one is present. If both IPv4 and IPv6 addresses are present in a // dual-stack environment, two nics will be output, one with each IP. IP string `json:"ip,omitempty"` // The speed of the device in Gigabits per second SpeedMbps int `json:"speedMbps,omitempty"` }
NIC describes one network interface on the host.
func (*NIC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NIC.
func (*NIC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkStatus ¶
type NetworkStatus struct { ID int `json:"id,omitempty"` Labels map[string]string `json:"-"` AttachedServers []int `json:"attachedServers,omitempty"` }
NetworkStatus defines the observed state of the HCloud Private Network.
func (*NetworkStatus) DeepCopy ¶
func (in *NetworkStatus) DeepCopy() *NetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.
func (*NetworkStatus) DeepCopyInto ¶
func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Partition ¶
type Partition struct { // Mount defines the mount path for this filesystem. // or keyword 'lvm' to use this PART as volume group (VG) for LVM // identifier 'btrfs.X' to use this PART as volume for // btrfs subvolumes. X can be replaced with a unique // alphanumeric keyword. NOTE: no support btrfs multi-device volumes Mount string `json:"mount"` // FileSystem can be ext2, ext3, ext4, btrfs, reiserfs, xfs, swap // or name of the LVM volume group (VG), if this PART is a VG. FileSystem string `json:"fileSystem"` // Size can use the keyword 'all' to assign all the remaining space of the drive to the last partition. // can use M/G/T for unit specification in MiB/GiB/TiB Size string `json:"size"` }
Partition defines the additional Partitions to be created.
func (*Partition) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Partition.
func (*Partition) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ProvisioningState ¶
type ProvisioningState string
ProvisioningState defines the states the provisioner will report the host has having.
const ( // StateNone means the state is unknown. StateNone ProvisioningState = "" // StatePreparing means we are checking if server exists and prepare it. StatePreparing ProvisioningState = "preparing" // StateRegistering means we are getting hardware details. StateRegistering ProvisioningState = "registering" // StateImageInstalling means we install a new image. StateImageInstalling ProvisioningState = "image-installing" // StateProvisioning means we are sending userData to the host and boot the machine. StateProvisioning ProvisioningState = "provisioning" // StateEnsureProvisioned means we are ensuring the reboot worked and cloud init is installed. StateEnsureProvisioned ProvisioningState = "ensure-provisioned" // StateProvisioned means we have sent userData to the host and booted the machine. StateProvisioned ProvisioningState = "provisioned" // StateDeprovisioning means we are removing all machine-specific information from host. StateDeprovisioning ProvisioningState = "deprovisioning" // StateDeleting means we are deleting the host. StateDeleting ProvisioningState = "deleting" )
type PublicNetworkSpec ¶
type PublicNetworkSpec struct { // +optional // +kubebuilder:default=true EnableIPv4 bool `json:"enableIPv4"` // +optional // +kubebuilder:default=true EnableIPv6 bool `json:"enableIPv6"` }
PublicNetworkSpec contains specs about public network spec of an HCloud server.
func (*PublicNetworkSpec) DeepCopy ¶
func (in *PublicNetworkSpec) DeepCopy() *PublicNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PublicNetworkSpec.
func (*PublicNetworkSpec) DeepCopyInto ¶
func (in *PublicNetworkSpec) DeepCopyInto(out *PublicNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Raid ¶
type Raid struct {
WWN []string `json:"wwn,omitempty"`
}
Raid can be used instead of WWN to point to multiple storage devices.
func (*Raid) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Raid.
func (*Raid) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RebootAnnotationArguments ¶
type RebootAnnotationArguments struct {
Type RebootType `json:"type"`
}
RebootAnnotationArguments defines the arguments of the RebootAnnotation type.
func (*RebootAnnotationArguments) DeepCopy ¶
func (in *RebootAnnotationArguments) DeepCopy() *RebootAnnotationArguments
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RebootAnnotationArguments.
func (*RebootAnnotationArguments) DeepCopyInto ¶
func (in *RebootAnnotationArguments) DeepCopyInto(out *RebootAnnotationArguments)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RebootType ¶
type RebootType string
RebootType defines the reboot type of servers via Hetzner robot API.
const ( // RebootTypeHardware defines the hardware reboot. RebootTypeHardware RebootType = "hw" // RebootTypePower defines the power reboot. RebootTypePower RebootType = "power" // RebootTypeSoftware defines the software reboot. RebootTypeSoftware RebootType = "sw" // RebootTypeManual defines the manual reboot. RebootTypeManual RebootType = "man" )
type Region ¶
type Region string
Region is a Hetzner Location +kubebuilder:validation:Enum=fsn1;hel1;nbg1;ash
type RemediationStrategy ¶
type RemediationStrategy struct { // Type of remediation. // +kubebuilder:default=Reboot // +optional Type RemediationType `json:"type,omitempty"` // Sets maximum number of remediation retries. // +optional RetryLimit int `json:"retryLimit,omitempty"` // Sets the timeout between remediation retries. Timeout *metav1.Duration `json:"timeout"` }
RemediationStrategy describes how to remediate machines.
func (*RemediationStrategy) DeepCopy ¶
func (in *RemediationStrategy) DeepCopy() *RemediationStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RemediationStrategy.
func (*RemediationStrategy) DeepCopyInto ¶
func (in *RemediationStrategy) DeepCopyInto(out *RemediationStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceLifecycle ¶
type ResourceLifecycle string
ResourceLifecycle configures the lifecycle of a resource.
type RootDeviceHints ¶
type RootDeviceHints struct { // Unique storage identifier. The hint must match the actual value // exactly. // +optional WWN string `json:"wwn,omitempty"` // To specify multiple storage devices. // +optional Raid Raid `json:"raid,omitempty"` }
RootDeviceHints holds the hints for specifying the storage location for the root filesystem for the image. Need to specify either WWN or raid to provision host machine successfully.
func (*RootDeviceHints) DeepCopy ¶
func (in *RootDeviceHints) DeepCopy() *RootDeviceHints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RootDeviceHints.
func (*RootDeviceHints) DeepCopyInto ¶
func (in *RootDeviceHints) DeepCopyInto(out *RootDeviceHints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RootDeviceHints) IsValid ¶
func (rdh *RootDeviceHints) IsValid() bool
IsValid checks whether rootDeviceHint is valid.
func (*RootDeviceHints) ListOfWWN ¶
func (rdh *RootDeviceHints) ListOfWWN() []string
ListOfWWN gives the list of WWNs - no matter if it's in WWN or Raid.
type SSHKey ¶
type SSHKey struct { // Name of SSH key // +kubebuilder:validation:MinLength=1 Name string `json:"name"` // Fingerprint of SSH key - added by controller // +optional Fingerprint string `json:"fingerprint,omitempty"` }
SSHKey defines the SSHKey for HCloud.
func (*SSHKey) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHKey.
func (*SSHKey) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHSecretKeyRef ¶
type SSHSecretKeyRef struct { Name string `json:"name"` PublicKey string `json:"publicKey"` PrivateKey string `json:"privateKey"` }
SSHSecretKeyRef defines the key name of the SSHSecret.
func (*SSHSecretKeyRef) DeepCopy ¶
func (in *SSHSecretKeyRef) DeepCopy() *SSHSecretKeyRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHSecretKeyRef.
func (*SSHSecretKeyRef) DeepCopyInto ¶
func (in *SSHSecretKeyRef) DeepCopyInto(out *SSHSecretKeyRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHSecretRef ¶
type SSHSecretRef struct { Name string `json:"name"` Key SSHSecretKeyRef `json:"key"` }
SSHSecretRef defines the secret containing all information of the SSH key used for Hetzner robot.
func (*SSHSecretRef) DeepCopy ¶
func (in *SSHSecretRef) DeepCopy() *SSHSecretRef
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHSecretRef.
func (*SSHSecretRef) DeepCopyInto ¶
func (in *SSHSecretRef) DeepCopyInto(out *SSHSecretRef)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHSpec ¶
type SSHSpec struct { // SecretRef gives reference to the secret. SecretRef SSHSecretRef `json:"secretRef"` // PortAfterInstallImage specifies the port that has to be used to connect to the machine after install image. // +kubebuilder:default=22 // +optional PortAfterInstallImage int `json:"portAfterInstallImage"` // PortAfterCloudInit specifies the port that has to be used to connect to the machine after cloud init. // +optional PortAfterCloudInit int `json:"portAfterCloudInit"` }
SSHSpec defines specs for SSH.
func (*SSHSpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHSpec.
func (*SSHSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SSHStatus ¶
type SSHStatus struct { // CurrentRescue gives information about the secret where the rescue ssh key is stored. CurrentRescue *SecretStatus `json:"currentRescue,omitempty"` // CurrentOS gives information about the secret where the os ssh key is stored. CurrentOS *SecretStatus `json:"currentOS,omitempty"` // OSKey contains name and fingerprint of the in HetznerBareMetalMachine spec specified SSH key. OSKey *SSHKey `json:"osKey,omitempty"` // RescueKey contains name and fingerprint of the in HetznerCluster spec specified SSH key. RescueKey *SSHKey `json:"rescueKey,omitempty"` }
SSHStatus contains all status information about SSHStatus.
func (*SSHStatus) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SSHStatus.
func (*SSHStatus) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SecretStatus ¶
type SecretStatus struct { Reference *corev1.SecretReference `json:"credentials,omitempty"` Version string `json:"credentialsVersion,omitempty"` DataHash []byte `json:"credentialsDataHash,omitempty"` }
SecretStatus contains the reference and version of the last secret that was used.
func (*SecretStatus) DeepCopy ¶
func (in *SecretStatus) DeepCopy() *SecretStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretStatus.
func (*SecretStatus) DeepCopyInto ¶
func (in *SecretStatus) DeepCopyInto(out *SecretStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Storage ¶
type Storage struct { // The Linux device name of the disk, e.g. "/dev/sda". Note that this // may not be stable across reboots. Name string `json:"name,omitempty"` // The size of the disk in Bytes SizeBytes Capacity `json:"sizeBytes,omitempty"` // The size of the disk in GB SizeGB Capacity `json:"sizeGB,omitempty"` // The name of the vendor of the device Vendor string `json:"vendor,omitempty"` // Hardware model Model string `json:"model,omitempty"` // The serial number of the device SerialNumber string `json:"serialNumber,omitempty"` // The WWN of the device WWN string `json:"wwn,omitempty"` // The SCSI location of the device HCTL string `json:"hctl,omitempty"` // Rota defines if its a HDD device or not. Rota bool `json:"rota,omitempty"` }
Storage describes one storage device (disk, SSD, etc.) on the host.
func (*Storage) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Storage.
func (*Storage) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- conditions_const.go
- conversion.go
- groupversion_info.go
- hcloudmachine_types.go
- hcloudmachine_webhook.go
- hcloudmachinetemplate_types.go
- hcloudmachinetemplate_webhook.go
- hetznerbaremetalhost_types.go
- hetznerbaremetalhost_webhook.go
- hetznerbaremetalmachine_types.go
- hetznerbaremetalmachine_webhook.go
- hetznerbaremetalmachinetemplate_types.go
- hetznerbaremetalmachinetemplate_webhook.go
- hetznerbaremetalremediation_types.go
- hetznerbaremetalremediation_webhook.go
- hetznerbaremetalremediationtemplate_types.go
- hetznerbaremetalremediationtemplate_webhook.go
- hetznercluster_types.go
- hetznercluster_webhook.go
- hetznerclustertemplate_types.go
- hetznerclustertemplate_webhook.go
- tags.go
- types.go
- webhooks.go
- zz_generated.deepcopy.go