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 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() (admission.Warnings, error)
- func (r *HCloudMachine) ValidateDelete() (admission.Warnings, error)
- func (r *HCloudMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, 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) (admission.Warnings, error)
- func (r *HCloudMachineTemplateWebhook) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
- func (r *HCloudMachineTemplateWebhook) ValidateUpdate(ctx context.Context, oldRaw runtime.Object, newRaw runtime.Object) (admission.Warnings, error)
- type HCloudMachineType
- type HCloudNetworkSpec
- type HCloudNetworkZone
- type HCloudPlacementGroupSpec
- type HCloudPlacementGroupStatus
- type HCloudRemediation
- func (in *HCloudRemediation) DeepCopy() *HCloudRemediation
- func (in *HCloudRemediation) DeepCopyInto(out *HCloudRemediation)
- func (in *HCloudRemediation) DeepCopyObject() runtime.Object
- func (r *HCloudRemediation) Default()
- func (r *HCloudRemediation) GetConditions() clusterv1.Conditions
- func (r *HCloudRemediation) SetConditions(conditions clusterv1.Conditions)
- func (r *HCloudRemediation) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HCloudRemediation) ValidateCreate() (admission.Warnings, error)
- func (r *HCloudRemediation) ValidateDelete() (admission.Warnings, error)
- func (r *HCloudRemediation) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type HCloudRemediationList
- type HCloudRemediationSpec
- type HCloudRemediationStatus
- type HCloudRemediationTemplate
- func (in *HCloudRemediationTemplate) DeepCopy() *HCloudRemediationTemplate
- func (in *HCloudRemediationTemplate) DeepCopyInto(out *HCloudRemediationTemplate)
- func (in *HCloudRemediationTemplate) DeepCopyObject() runtime.Object
- func (r *HCloudRemediationTemplate) Default()
- func (r *HCloudRemediationTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HCloudRemediationTemplate) ValidateCreate() (admission.Warnings, error)
- func (r *HCloudRemediationTemplate) ValidateDelete() (admission.Warnings, error)
- func (r *HCloudRemediationTemplate) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type HCloudRemediationTemplateList
- type HCloudRemediationTemplateResource
- type HCloudRemediationTemplateSpec
- type HCloudRemediationTemplateStatus
- type HardwareDetails
- type HetznerBareMetalHost
- func (host *HetznerBareMetalHost) ClearError()
- func (host *HetznerBareMetalHost) ClearRebootAnnotations()
- 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) HasRebootAnnotation() bool
- func (host *HetznerBareMetalHost) HasSoftwareReboot() bool
- func (host *HetznerBareMetalHost) NeedsProvisioning() bool
- func (host *HetznerBareMetalHost) SetConditions(conditions clusterv1.Conditions)
- func (host *HetznerBareMetalHost) SetError(errType ErrorType, errMessage string)
- func (host *HetznerBareMetalHost) UpdateOSSSHStatus(secret corev1.Secret) error
- func (host *HetznerBareMetalHost) UpdateRescueSSHStatus(secret corev1.Secret) error
- type HetznerBareMetalHostList
- type HetznerBareMetalHostSpec
- type HetznerBareMetalHostStatus
- type HetznerBareMetalHostWebhook
- func (hw *HetznerBareMetalHostWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (hw *HetznerBareMetalHostWebhook) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (hw *HetznerBareMetalHostWebhook) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
- func (hw *HetznerBareMetalHostWebhook) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type HetznerBareMetalMachine
- func (in *HetznerBareMetalMachine) DeepCopy() *HetznerBareMetalMachine
- func (in *HetznerBareMetalMachine) DeepCopyInto(out *HetznerBareMetalMachine)
- func (in *HetznerBareMetalMachine) DeepCopyObject() runtime.Object
- func (bmMachine *HetznerBareMetalMachine) Default()
- func (bmMachine *HetznerBareMetalMachine) GetConditions() clusterv1.Conditions
- func (bmMachine *HetznerBareMetalMachine) HasHostAnnotation() bool
- func (bmMachine *HetznerBareMetalMachine) SetConditions(conditions clusterv1.Conditions)
- func (bmMachine *HetznerBareMetalMachine) SetFailure(reason capierrors.MachineStatusError, message string)
- func (bmMachine *HetznerBareMetalMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (bmMachine *HetznerBareMetalMachine) ValidateCreate() (admission.Warnings, error)
- func (bmMachine *HetznerBareMetalMachine) ValidateDelete() (admission.Warnings, error)
- func (bmMachine *HetznerBareMetalMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, 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) (admission.Warnings, error)
- func (r *HetznerBareMetalMachineTemplateWebhook) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
- func (r *HetznerBareMetalMachineTemplateWebhook) ValidateUpdate(ctx context.Context, oldRaw runtime.Object, newRaw runtime.Object) (admission.Warnings, 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() (admission.Warnings, error)
- func (r *HetznerBareMetalRemediation) ValidateDelete() (admission.Warnings, error)
- func (r *HetznerBareMetalRemediation) ValidateUpdate(runtime.Object) (admission.Warnings, 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() (admission.Warnings, error)
- func (r *HetznerBareMetalRemediationTemplate) ValidateDelete() (admission.Warnings, error)
- func (r *HetznerBareMetalRemediationTemplate) ValidateUpdate(runtime.Object) (admission.Warnings, error)
- type HetznerBareMetalRemediationTemplateList
- type HetznerBareMetalRemediationTemplateResource
- type HetznerBareMetalRemediationTemplateSpec
- type HetznerBareMetalRemediationTemplateStatus
- type HetznerCluster
- func (r *HetznerCluster) ClusterTagKey() string
- 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() (admission.Warnings, error)
- func (r *HetznerCluster) ValidateDelete() (admission.Warnings, error)
- func (r *HetznerCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, 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() (admission.Warnings, error)
- func (r *HetznerClusterTemplate) ValidateDelete() (admission.Warnings, error)
- func (r *HetznerClusterTemplate) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, 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 ( // LoadBalancerReadyCondition reports on whether a control plane load balancer was successfully reconciled. LoadBalancerReadyCondition clusterv1.ConditionType = "LoadBalancerReady" // LoadBalancerCreateFailedReason used when an error occurs during load balancer create. LoadBalancerCreateFailedReason = "LoadBalancerCreateFailed" // LoadBalancerUpdateFailedReason used when an error occurs during load balancer update. LoadBalancerUpdateFailedReason = "LoadBalancerUpdateFailed" // LoadBalancerDeleteFailedReason used when an error occurs during load balancer delete. LoadBalancerDeleteFailedReason = "LoadBalancerDeleteFailed" // LoadBalancerServiceSyncFailedReason used when an error occurs while syncing services of load balancer. LoadBalancerServiceSyncFailedReason = "LoadBalancerServiceSyncFailed" // LoadBalancerFailedToOwnReason used when no owned label could be set on a load balancer. LoadBalancerFailedToOwnReason = "LoadBalancerFailedToOwn" )
const ( // ServerCreateSucceededCondition reports on current status of the instance. Ready indicates the instance is in a Running state. ServerCreateSucceededCondition clusterv1.ConditionType = "ServerCreateSucceeded" // InstanceHasNonExistingPlacementGroupReason instance has a placement group name that does not exist. InstanceHasNonExistingPlacementGroupReason = "InstanceHasNonExistingPlacementGroup" // SSHKeyNotFoundReason indicates that ssh key could not be found. SSHKeyNotFoundReason = "SSHKeyNotFound" // ImageNotFoundReason indicates that the image could not be found. ImageNotFoundReason = "ImageNotFound" // ImageAmbiguousReason indicates that there are multiple images with the required properties. ImageAmbiguousReason = "ImageAmbiguous" // ServerLimitExceededReason indicates that server resource rate limit is hit. ServerLimitExceededReason = "ServerLimitExceeded" // ServerTypeNotFoundReason indicates that server type could not be found. ServerTypeNotFoundReason = "ServerTypeNotFound" )
const ( // ServerAvailableCondition indicates the instance is in a Running state. ServerAvailableCondition clusterv1.ConditionType = "ServerAvailable" // ServerTerminatingReason instance is in a terminated state. ServerTerminatingReason = "InstanceTerminated" // ServerStartingReason instance is in a terminated state. ServerStartingReason = "ServerStarting" // ServerOffReason instance is off. ServerOffReason = "ServerOff" )
const ( // NetworkAttachFailedReason is used when server could not be attached to network. NetworkAttachFailedReason = "NetworkAttachFailed" // LoadBalancerAttachFailedReason is used when server could not be attached to network. LoadBalancerAttachFailedReason = "LoadBalancerAttachFailed" )
const ( // BootstrapReadyCondition indicates that bootstrap is ready. BootstrapReadyCondition clusterv1.ConditionType = "BootstrapReady" // BootstrapNotReadyReason bootstrap not ready yet. BootstrapNotReadyReason = "BootstrapNotReady" )
const ( // NetworkReadyCondition reports on whether the network is ready. NetworkReadyCondition clusterv1.ConditionType = "NetworkReady" // NetworkReconcileFailedReason indicates that reconciling the network failed. NetworkReconcileFailedReason = "NetworkReconcileFailed" )
const ( // PlacementGroupsSyncedCondition reports on whether the placement groups are successfully synced. PlacementGroupsSyncedCondition clusterv1.ConditionType = "PlacementGroupsSynced" // PlacementGroupsSyncFailedReason indicates that syncing the placement groups failed. PlacementGroupsSyncFailedReason = "PlacementGroupsSyncFailed" )
const ( // HCloudTokenAvailableCondition reports on whether the HCloud Token is available. HCloudTokenAvailableCondition clusterv1.ConditionType = "HCloudTokenAvailable" // HetznerSecretUnreachableReason indicates that Hetzner secret is unreachable. HetznerSecretUnreachableReason = "HetznerSecretUnreachable" // #nosec // HCloudCredentialsInvalidReason indicates that credentials for HCloud are invalid. HCloudCredentialsInvalidReason = "HCloudCredentialsInvalid" // #nosec )
const ( // TargetClusterReadyCondition reports on whether the kubeconfig in the target cluster is ready. TargetClusterReadyCondition clusterv1.ConditionType = "TargetClusterReady" // KubeConfigNotFoundReason indicates that the Kubeconfig could not be found. KubeConfigNotFoundReason = "KubeConfigNotFound" // KubeAPIServerNotRespondingReason indicates that the api server cannot be reached. KubeAPIServerNotRespondingReason = "KubeAPIServerNotResponding" // TargetClusterCreateFailedReason indicates that the target cluster could not be created. TargetClusterCreateFailedReason = "TargetClusterCreateFailed" // TargetClusterControlPlaneNotReadyReason indicates that the target cluster's control plane is not ready yet. TargetClusterControlPlaneNotReadyReason = "TargetClusterControlPlaneNotReady" )
const ( // TargetClusterSecretReadyCondition reports on whether the hetzner secret in the target cluster is ready. TargetClusterSecretReadyCondition clusterv1.ConditionType = "TargetClusterSecretReady" // TargetSecretSyncFailedReason indicates that the target secret could not be synced. TargetSecretSyncFailedReason = "TargetSecretSyncFailed" )
const ( // HetznerAPIReachableCondition reports whether the Hetzner APIs are reachable. HetznerAPIReachableCondition clusterv1.ConditionType = "HetznerAPIReachable" // RateLimitExceededReason indicates that a rate limit has been exceeded. RateLimitExceededReason = "RateLimitExceeded" )
const ( // CredentialsAvailableCondition reports on whether the Hetzner cluster is in ready state. CredentialsAvailableCondition clusterv1.ConditionType = "CredentialsAvailable" // RobotCredentialsInvalidReason indicates that credentials for Robot are invalid. RobotCredentialsInvalidReason = "RobotCredentialsInvalid" // #nosec // SSHCredentialsInSecretInvalidReason indicates that ssh credentials are invalid. SSHCredentialsInSecretInvalidReason = "SSHCredentialsInSecretInvalid" // #nosec // SSHKeyAlreadyExistsReason indicates that the ssh key which is specified in the host spec exists already under a different name in Hetzner robot. SSHKeyAlreadyExistsReason = "SSHKeyAlreadyExists" // OSSSHSecretMissingReason indicates that secret with the os ssh key is missing. OSSSHSecretMissingReason = "OSSSHSecretMissing" // RescueSSHSecretMissingReason indicates that secret with the rescue ssh key is missing. RescueSSHSecretMissingReason = "RescueSSHSecretMissing" )
const ( // ProvisionSucceededCondition indicates that a host has been provisioned. ProvisionSucceededCondition clusterv1.ConditionType = "ProvisionSucceeded" // StillProvisioningReason indicates that the server is still provisioning. StillProvisioningReason = "StillProvisioning" // SSHConnectionRefusedReason indicates that the server cannot be reached via SSH. SSHConnectionRefusedReason = "SSHConnectionRefused" RescueSystemUnavailableReason = "RescueSystemUnavailable" // ImageSpecInvalidReason indicates that the information specified about the image of the host are invalid. ImageSpecInvalidReason = "ImageSpecInvalid" // NoStorageDeviceFoundReason indicates that no suitable storage device could be found. NoStorageDeviceFoundReason = "NoStorageDeviceFound" // CloudInitNotInstalledReason indicates that cloud init is not installed. CloudInitNotInstalledReason = "CloudInitNotInstalled" // ServerNotFoundReason indicates that a bare metal server could not be found. ServerNotFoundReason = "ServerNotFound" )
const ( // HostAssociateSucceededCondition indicates that a host has been associated. HostAssociateSucceededCondition clusterv1.ConditionType = "HostAssociateSucceeded" // NoAvailableHostReason indicates that there is no available host. NoAvailableHostReason = "NoAvailableHost" // HostAssociateFailedReason indicates that asssociating a host failed. HostAssociateFailedReason = "HostAssociateFailed" )
const ( // DeprecatedHostProvisionSucceededCondition indicates that a host has been provisioned. DeprecatedHostProvisionSucceededCondition clusterv1.ConditionType = "HostProvisionSucceeded" // DeprecatedInstanceReadyCondition reports on current status of the instance. Ready indicates the instance is in a Running state. DeprecatedInstanceReadyCondition clusterv1.ConditionType = "InstanceReady" // DeprecatedInstanceBootstrapReadyCondition reports on current status of the instance. BootstrapReady indicates the bootstrap is ready. DeprecatedInstanceBootstrapReadyCondition clusterv1.ConditionType = "InstanceBootstrapReady" // DeprecatedHetznerClusterTargetClusterReadyCondition reports on whether the kubeconfig in the target cluster is ready. DeprecatedHetznerClusterTargetClusterReadyCondition clusterv1.ConditionType = "HetznerClusterTargetClusterReady" // DeprecatedNetworkAttachedCondition reports on whether there is a network attached to the cluster. DeprecatedNetworkAttachedCondition clusterv1.ConditionType = "NetworkAttached" // DeprecatedLoadBalancerAttachedToNetworkCondition reports on whether the load balancer is attached to a network. DeprecatedLoadBalancerAttachedToNetworkCondition clusterv1.ConditionType = "LoadBalancerAttachedToNetwork" // DeprecatedHetznerBareMetalHostReadyCondition reports on whether the Hetzner cluster is in ready state. DeprecatedHetznerBareMetalHostReadyCondition clusterv1.ConditionType = "HetznerBareMetalHostReady" // DeprecatedAssociateBMHCondition reports on whether the Hetzner cluster is in ready state. DeprecatedAssociateBMHCondition clusterv1.ConditionType = "AssociateBMHCondition" )
const ( // HCloudRemediationFinalizer allows HCloudRemediationReconciler to clean up resources associated with HCloudRemediation before // removing it from the apiserver. HCloudRemediationFinalizer = "hcloudremediation.infrastructure.cluster.x-k8s.io" // HCloudRebootAnnotation indicates that a bare metal host object should be rebooted. HCloudRebootAnnotation = "reboot.hcloud.infrastructure.cluster.x-k8s.io" )
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" )
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 ( // 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 ( // HostReadyCondition reports on whether the HetznerBareMetalHost is ready or not. HostReadyCondition clusterv1.ConditionType = "HostReady" )
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 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.
func (ControllerGeneratedStatus) GetIPAddress ¶
func (sts ControllerGeneratedStatus) GetIPAddress() string
GetIPAddress returns the IPv6 if set, otherwise the IPv4.
type ErrorType ¶
type ErrorType string
ErrorType indicates the class of problem that has caused the Host resource to enter an error state.
const ( // ErrorTypeSSHRebootTriggered is an error condition that the ssh reboot is triggered. ErrorTypeSSHRebootTriggered ErrorType = "ssh reboot triggered" // ErrorTypeSoftwareRebootTriggered is an error condition that the software reboot is triggered. ErrorTypeSoftwareRebootTriggered ErrorType = "software reboot triggered" // ErrorTypeHardwareRebootTriggered is an error condition that the hardware reboot is triggered. ErrorTypeHardwareRebootTriggered ErrorType = "hardware reboot triggered" // ErrorTypeConnectionError ErrorType is an error condition indicating that ssh command returned a connection refused error. ErrorTypeConnectionError ErrorType = "connection refused error of SSH command" // 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" // PermanentError is like fatal error but stays on host machine. PermanentError ErrorType = "permanent 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. +kubebuilder:object:root=true +kubebuilder:resource:path=hcloudmachines,scope=Namespaced,categories=cluster-api,shortName=capihcm +kubebuilder:storageversion +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".metadata.labels.cluster\\.x-k8s\\.io/cluster-name",description="Cluster to which this HCloudMachine belongs" +kubebuilder:printcolumn:name="Machine",type="string",JSONPath=".metadata.ownerReferences[?(@.kind==\"Machine\")].name",description="Machine object which owns with this HCloudMachine" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.instanceState",description="Phase of HCloudMachine" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of hcloudmachine" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +k8s:defaulter-gen=true
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() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachine) ValidateDelete ¶
func (r *HCloudMachine) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachine) ValidateUpdate ¶
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;ccx13;ccx21;ccx22;ccx23;ccx31;ccx32;ccx33;ccx41;ccx42;ccx43;ccx51;ccx52;ccx53;ccx62;ccx63;cax11;cax21;cax31;cax41 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 []clusterv1.MachineAddress `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"` // OwnerType is the type of object that owns the HCloudMachineTemplate. // +optional OwnerType string `json:"ownerType,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 ¶
func (r *HCloudMachineTemplateWebhook) ValidateCreate(_ context.Context, _ runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachineTemplateWebhook) ValidateDelete ¶
func (r *HCloudMachineTemplateWebhook) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
ValidateDelete 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;us-west // +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 int64 `json:"id,omitempty"` Server []int64 `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 HCloudRemediation ¶
type HCloudRemediation struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HCloudRemediationSpec `json:"spec,omitempty"` // +optional Status HCloudRemediationStatus `json:"status,omitempty"` }
HCloudRemediation is the Schema for the hcloudremediations API.
func (*HCloudRemediation) DeepCopy ¶
func (in *HCloudRemediation) DeepCopy() *HCloudRemediation
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediation.
func (*HCloudRemediation) DeepCopyInto ¶
func (in *HCloudRemediation) DeepCopyInto(out *HCloudRemediation)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudRemediation) DeepCopyObject ¶
func (in *HCloudRemediation) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HCloudRemediation) Default ¶
func (r *HCloudRemediation) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HCloudRemediation) GetConditions ¶
func (r *HCloudRemediation) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HCloudRemediation resource.
func (*HCloudRemediation) SetConditions ¶
func (r *HCloudRemediation) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HCloudRemediation to the predescribed clusterv1.Conditions.
func (*HCloudRemediation) SetupWebhookWithManager ¶
func (r *HCloudRemediation) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HCloudRemediation.
func (*HCloudRemediation) ValidateCreate ¶
func (r *HCloudRemediation) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudRemediation) ValidateDelete ¶
func (r *HCloudRemediation) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudRemediation) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HCloudRemediationList ¶
type HCloudRemediationList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HCloudRemediation `json:"items"` }
HCloudRemediationList contains a list of HCloudRemediation.
func (*HCloudRemediationList) DeepCopy ¶
func (in *HCloudRemediationList) DeepCopy() *HCloudRemediationList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationList.
func (*HCloudRemediationList) DeepCopyInto ¶
func (in *HCloudRemediationList) DeepCopyInto(out *HCloudRemediationList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudRemediationList) DeepCopyObject ¶
func (in *HCloudRemediationList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HCloudRemediationSpec ¶
type HCloudRemediationSpec struct { // Strategy field defines remediation strategy. Strategy *RemediationStrategy `json:"strategy,omitempty"` }
HCloudRemediationSpec defines the desired state of HCloudRemediation.
func (*HCloudRemediationSpec) DeepCopy ¶
func (in *HCloudRemediationSpec) DeepCopy() *HCloudRemediationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationSpec.
func (*HCloudRemediationSpec) DeepCopyInto ¶
func (in *HCloudRemediationSpec) DeepCopyInto(out *HCloudRemediationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudRemediationStatus ¶
type HCloudRemediationStatus 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"` // Conditions defines current service state of the HCloudRemediation. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HCloudRemediationStatus defines the observed state of HCloudRemediation.
func (*HCloudRemediationStatus) DeepCopy ¶
func (in *HCloudRemediationStatus) DeepCopy() *HCloudRemediationStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationStatus.
func (*HCloudRemediationStatus) DeepCopyInto ¶
func (in *HCloudRemediationStatus) DeepCopyInto(out *HCloudRemediationStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudRemediationTemplate ¶
type HCloudRemediationTemplate struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec HCloudRemediationTemplateSpec `json:"spec,omitempty"` // +optional Status HCloudRemediationTemplateStatus `json:"status,omitempty"` }
HCloudRemediationTemplate is the Schema for the hcloudremediationtemplates API.
func (*HCloudRemediationTemplate) DeepCopy ¶
func (in *HCloudRemediationTemplate) DeepCopy() *HCloudRemediationTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationTemplate.
func (*HCloudRemediationTemplate) DeepCopyInto ¶
func (in *HCloudRemediationTemplate) DeepCopyInto(out *HCloudRemediationTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudRemediationTemplate) DeepCopyObject ¶
func (in *HCloudRemediationTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HCloudRemediationTemplate) Default ¶
func (r *HCloudRemediationTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HCloudRemediationTemplate) SetupWebhookWithManager ¶
func (r *HCloudRemediationTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HCloudRemediationTemplate.
func (*HCloudRemediationTemplate) ValidateCreate ¶
func (r *HCloudRemediationTemplate) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudRemediationTemplate) ValidateDelete ¶
func (r *HCloudRemediationTemplate) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudRemediationTemplate) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HCloudRemediationTemplateList ¶
type HCloudRemediationTemplateList struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ListMeta `json:"metadata,omitempty"` Items []HCloudRemediationTemplate `json:"items"` }
HCloudRemediationTemplateList contains a list of HCloudRemediationTemplate.
func (*HCloudRemediationTemplateList) DeepCopy ¶
func (in *HCloudRemediationTemplateList) DeepCopy() *HCloudRemediationTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationTemplateList.
func (*HCloudRemediationTemplateList) DeepCopyInto ¶
func (in *HCloudRemediationTemplateList) DeepCopyInto(out *HCloudRemediationTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudRemediationTemplateList) DeepCopyObject ¶
func (in *HCloudRemediationTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HCloudRemediationTemplateResource ¶
type HCloudRemediationTemplateResource struct { // Spec is the specification of the desired behavior of the HCloudRemediation. Spec HCloudRemediationSpec `json:"spec"` }
HCloudRemediationTemplateResource describes the data needed to create a HCloudRemediation from a template.
func (*HCloudRemediationTemplateResource) DeepCopy ¶
func (in *HCloudRemediationTemplateResource) DeepCopy() *HCloudRemediationTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationTemplateResource.
func (*HCloudRemediationTemplateResource) DeepCopyInto ¶
func (in *HCloudRemediationTemplateResource) DeepCopyInto(out *HCloudRemediationTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudRemediationTemplateSpec ¶
type HCloudRemediationTemplateSpec struct {
Template HCloudRemediationTemplateResource `json:"template"`
}
HCloudRemediationTemplateSpec defines the desired state of HCloudRemediationTemplate.
func (*HCloudRemediationTemplateSpec) DeepCopy ¶
func (in *HCloudRemediationTemplateSpec) DeepCopy() *HCloudRemediationTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationTemplateSpec.
func (*HCloudRemediationTemplateSpec) DeepCopyInto ¶
func (in *HCloudRemediationTemplateSpec) DeepCopyInto(out *HCloudRemediationTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudRemediationTemplateStatus ¶
type HCloudRemediationTemplateStatus struct { // HCloudRemediationStatus defines the observed state of HCloudRemediation Status HCloudRemediationStatus `json:"status"` }
HCloudRemediationTemplateStatus defines the observed state of HCloudRemediationTemplate.
func (*HCloudRemediationTemplateStatus) DeepCopy ¶
func (in *HCloudRemediationTemplateStatus) DeepCopy() *HCloudRemediationTemplateStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudRemediationTemplateStatus.
func (*HCloudRemediationTemplateStatus) DeepCopyInto ¶
func (in *HCloudRemediationTemplateStatus) DeepCopyInto(out *HCloudRemediationTemplateStatus)
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) ClearError ¶
func (host *HetznerBareMetalHost) ClearError()
ClearError removes the error on the host and resets the error count to 0.
func (*HetznerBareMetalHost) ClearRebootAnnotations ¶
func (host *HetznerBareMetalHost) ClearRebootAnnotations()
ClearRebootAnnotations deletes all reboot annotations that exist on the host.
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) HasRebootAnnotation ¶
func (host *HetznerBareMetalHost) HasRebootAnnotation() bool
HasRebootAnnotation checks for existence of reboot annotations and returns true if at least one exist.
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) SetError ¶
func (host *HetznerBareMetalHost) SetError(errType ErrorType, errMessage string)
SetError updates the error type and message in the status struct and increases the ErrorCount.
func (*HetznerBareMetalHost) UpdateOSSSHStatus ¶
func (host *HetznerBareMetalHost) UpdateOSSSHStatus(secret corev1.Secret) error
UpdateOSSSHStatus modifies the ssh status with the last chosen ssh secret.
func (*HetznerBareMetalHost) UpdateRescueSSHStatus ¶
func (host *HetznerBareMetalHost) UpdateRescueSSHStatus(secret corev1.Secret) error
UpdateRescueSSHStatus modifies the ssh status with the last chosen ssh secret.
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 is a reference to the HetznerBareMetalMachine // that is using this 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 HetznerBareMetalHostWebhook ¶
type HetznerBareMetalHostWebhook struct {
// contains filtered or unexported fields
}
HetznerBareMetalHostWebhook implements validating and defaulting webhook for HetznerBareMetalHost. +k8s:deepcopy-gen=false
func (*HetznerBareMetalHostWebhook) SetupWebhookWithManager ¶
func (hw *HetznerBareMetalHostWebhook) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalHost.
func (*HetznerBareMetalHostWebhook) ValidateCreate ¶
func (hw *HetznerBareMetalHostWebhook) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalHostWebhook) ValidateDelete ¶
func (hw *HetznerBareMetalHostWebhook) ValidateDelete(_ context.Context, _ runtime.Object) (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalHostWebhook) ValidateUpdate ¶
func (hw *HetznerBareMetalHostWebhook) ValidateUpdate(_ context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
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. +kubebuilder:object:root=true +kubebuilder:subresource:status +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:resource:path=hetznerbaremetalmachines,scope=Namespaced,categories=cluster-api,shortName=hbm;hbmm;hbmachine;hbmachines;hetznerbaremetalm;hetznerbaremetalmachine +kubebuilder:storageversion +kubebuilder:printcolumn:name="Cluster",type="string",JSONPath=".metadata.labels.cluster\\.x-k8s\\.io/cluster-name",description="Cluster to which this HetznerBareMetalMachine belongs" +kubebuilder:printcolumn:name="Host",type="string",JSONPath=".metadata.annotations.infrastructure\\.cluster\\.x-k8s\\.io/HetznerBareMetalHost",description="HetznerBareMetalHost" +kubebuilder:printcolumn:name="Machine",type="string",JSONPath=".metadata.ownerReferences[?(@.kind==\"Machine\")].name",description="Machine object which owns with this HetznerBareMetalMachine" +kubebuilder:printcolumn:name="Phase",type="string",JSONPath=".status.phase",description="HetznerBareMetalMachine status such as Pending/Provisioning/Running etc" +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp",description="Time duration since creation of HetznerBareMetalMachine" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message"
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 (bmMachine *HetznerBareMetalMachine) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerBareMetalMachine) GetConditions ¶
func (bmMachine *HetznerBareMetalMachine) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HetznerBareMetalMachine resource.
func (*HetznerBareMetalMachine) HasHostAnnotation ¶
func (bmMachine *HetznerBareMetalMachine) HasHostAnnotation() bool
HasHostAnnotation checks whether the annotation that references a host exists.
func (*HetznerBareMetalMachine) SetConditions ¶
func (bmMachine *HetznerBareMetalMachine) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HetznerBareMetalMachine to the predescribed clusterv1.Conditions.
func (*HetznerBareMetalMachine) SetFailure ¶
func (bmMachine *HetznerBareMetalMachine) SetFailure(reason capierrors.MachineStatusError, message string)
SetFailure sets a failure reason and message.
func (*HetznerBareMetalMachine) SetupWebhookWithManager ¶
func (bmMachine *HetznerBareMetalMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerBareMetalMachine.
func (*HetznerBareMetalMachine) ValidateCreate ¶
func (bmMachine *HetznerBareMetalMachine) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalMachine) ValidateDelete ¶
func (bmMachine *HetznerBareMetalMachine) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalMachine) ValidateUpdate ¶
func (bmMachine *HetznerBareMetalMachine) ValidateUpdate(old runtime.Object) (admission.Warnings, 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 []clusterv1.MachineAddress `json:"addresses,omitempty"` // Ready is the state of the hetznerbaremetalmachine. // +optional Ready bool `json:"ready"` // Phase represents the current phase of HetznerBareMetalMachineStatus actuation. // E.g. Pending, Running, Terminating, Failed etc. // +optional Phase clusterv1.MachinePhase `json:"phase,omitempty"` // 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) (admission.Warnings, 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) (admission.Warnings, 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) (admission.Warnings, 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() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediation) ValidateDelete ¶
func (r *HetznerBareMetalRemediation) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediation) ValidateUpdate ¶
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() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediationTemplate) ValidateDelete ¶
func (r *HetznerBareMetalRemediationTemplate) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerBareMetalRemediationTemplate) ValidateUpdate ¶
func (r *HetznerBareMetalRemediationTemplate) ValidateUpdate(runtime.Object) (admission.Warnings, 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) ClusterTagKey ¶
func (r *HetznerCluster) ClusterTagKey() string
ClusterTagKey generates the key for resources associated with a cluster.
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() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerCluster) ValidateDelete ¶
func (r *HetznerCluster) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerCluster) ValidateUpdate ¶
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 HCloudPlacementGroups []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 HCloudPlacementGroups []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() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerClusterTemplate) ValidateDelete ¶
func (r *HetznerClusterTemplate) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerClusterTemplate) ValidateUpdate ¶
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 int64 `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 int64 `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 int64 `json:"id,omitempty"` Labels map[string]string `json:"-"` AttachedServers []int64 `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 was executed successfully. 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;hil
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 RemediationType ¶
type RemediationType string
RemediationType defines the type of remediation.
const ( // RemediationTypeReboot sets RemediationType to Reboot. RemediationTypeReboot RemediationType = "Reboot" )
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
- hcloudremediation_types.go
- hcloudremediation_webhook.go
- hcloudremediationtemplate_types.go
- hcloudremediationtemplate_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
- remediation_types.go
- tags.go
- types.go
- webhooks.go
- zz_generated.deepcopy.go