Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- func ClusterHetznerCloudProviderTagKey(name string) string
- func ClusterTagKey(name string) string
- type HCloudMachine
- func (in *HCloudMachine) DeepCopy() *HCloudMachine
- func (in *HCloudMachine) DeepCopyInto(out *HCloudMachine)
- func (in *HCloudMachine) DeepCopyObject() runtime.Object
- func (r *HCloudMachine) Default()
- func (r *HCloudMachine) GetConditions() clusterv1.Conditions
- func (r *HCloudMachine) HCloudMachineSpec() *HCloudMachineSpec
- func (*HCloudMachine) Hub()
- func (r *HCloudMachine) SetConditions(conditions clusterv1.Conditions)
- func (r *HCloudMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HCloudMachine) ValidateCreate() error
- func (r *HCloudMachine) ValidateDelete() error
- func (r *HCloudMachine) ValidateUpdate(old runtime.Object) error
- type HCloudMachineList
- type HCloudMachineSpec
- type HCloudMachineStatus
- type HCloudMachineTemplate
- func (in *HCloudMachineTemplate) DeepCopy() *HCloudMachineTemplate
- func (in *HCloudMachineTemplate) DeepCopyInto(out *HCloudMachineTemplate)
- func (in *HCloudMachineTemplate) DeepCopyObject() runtime.Object
- func (r *HCloudMachineTemplate) Default()
- func (*HCloudMachineTemplate) Hub()
- func (r *HCloudMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HCloudMachineTemplate) ValidateCreate() error
- func (r *HCloudMachineTemplate) ValidateDelete() error
- func (r *HCloudMachineTemplate) ValidateUpdate(old runtime.Object) error
- type HCloudMachineTemplateList
- func (in *HCloudMachineTemplateList) DeepCopy() *HCloudMachineTemplateList
- func (in *HCloudMachineTemplateList) DeepCopyInto(out *HCloudMachineTemplateList)
- func (in *HCloudMachineTemplateList) DeepCopyObject() runtime.Object
- func (*HCloudMachineTemplateList) Hub()
- func (r *HCloudMachineTemplateList) SetupWebhookWithManager(mgr ctrl.Manager) error
- type HCloudMachineTemplateResource
- type HCloudMachineTemplateSpec
- type HCloudMachineType
- type HCloudNetworkSpec
- type HCloudNetworkZone
- type HCloudPlacementGroupSpec
- type HCloudPlacementGroupStatus
- type HetznerCluster
- func (in *HetznerCluster) DeepCopy() *HetznerCluster
- func (in *HetznerCluster) DeepCopyInto(out *HetznerCluster)
- func (in *HetznerCluster) DeepCopyObject() runtime.Object
- func (r *HetznerCluster) Default()
- func (r *HetznerCluster) GetConditions() clusterv1.Conditions
- func (*HetznerCluster) Hub()
- func (r *HetznerCluster) SetConditions(conditions clusterv1.Conditions)
- func (r *HetznerCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerCluster) ValidateCreate() error
- func (r *HetznerCluster) ValidateDelete() error
- func (r *HetznerCluster) ValidateUpdate(old runtime.Object) error
- type HetznerClusterList
- func (in *HetznerClusterList) DeepCopy() *HetznerClusterList
- func (in *HetznerClusterList) DeepCopyInto(out *HetznerClusterList)
- func (in *HetznerClusterList) DeepCopyObject() runtime.Object
- func (*HetznerClusterList) Hub()
- func (r *HetznerClusterList) SetupWebhookWithManager(mgr ctrl.Manager) error
- type HetznerClusterSpec
- type HetznerClusterStatus
- type HetznerClusterTemplate
- func (in *HetznerClusterTemplate) DeepCopy() *HetznerClusterTemplate
- func (in *HetznerClusterTemplate) DeepCopyInto(out *HetznerClusterTemplate)
- func (in *HetznerClusterTemplate) DeepCopyObject() runtime.Object
- func (r *HetznerClusterTemplate) Default()
- func (r *HetznerClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *HetznerClusterTemplate) ValidateCreate() error
- func (r *HetznerClusterTemplate) ValidateDelete() error
- func (r *HetznerClusterTemplate) ValidateUpdate(oldRaw runtime.Object) error
- type HetznerClusterTemplateList
- type HetznerClusterTemplateResource
- type HetznerClusterTemplateSpec
- type HetznerSSHKeys
- type HetznerSecretKeyRef
- type HetznerSecretRef
- type LoadBalancerAlgorithmType
- type LoadBalancerServiceSpec
- type LoadBalancerSpec
- type LoadBalancerStatus
- type NetworkStatus
- type Region
- type ResourceLifecycle
- type SSHKey
Constants ¶
const ( // LoadBalancerAttached reports on whether the load balancer is attached. LoadBalancerAttached clusterv1.ConditionType = "LoadBalancerAttached" // LoadBalancerUnreachableReason is used when load balancer is unreachable. LoadBalancerUnreachableReason = "LoadBalancerUnreachable" )
const ( // LoadBalancerAttachedToNetworkCondition reports on whether the load balancer is attached to a network. LoadBalancerAttachedToNetworkCondition clusterv1.ConditionType = "LoadBalancerAttachedToNetwork" // LoadBalancerAttachFailedReason is used when load balancer could not be attached to network. LoadBalancerAttachFailedReason = "LoadBalancerAttachFailed" // LoadBalancerNoNetworkFoundReason is used when no network could be found. LoadBalancerNoNetworkFoundReason = "LoadBalancerNoNetworkFound" )
const ( // InstanceReadyCondition reports on current status of the instance. Ready indicates the instance is in a Running state. InstanceReadyCondition clusterv1.ConditionType = "InstanceReady" // InstanceTerminatedReason instance is in a terminated state. InstanceTerminatedReason = "InstanceTerminated" // InstanceHasNonExistingPlacementGroupReason instance has a placement group name that does not exist. InstanceHasNonExistingPlacementGroupReason = "InstanceHasNonExistingPlacementGroup" // InstanceHasNoValidSSHKeyReason instance has no valid ssh key. InstanceHasNoValidSSHKeyReason = "InstanceHasNoValidSSHKey" // InstanceAsControlPlaneUnreachableReason control plane is (not yet) reachable. InstanceAsControlPlaneUnreachableReason = "InstanceAsControlPlaneUnreachable" )
const ( // NetworkAttached reports on whether there is a network attached to the cluster. NetworkAttached clusterv1.ConditionType = "NetworkAttached" // NetworkDisabledReason indicates that network is disabled. NetworkDisabledReason = "NetworkDisabled" // NetworkUnreachableReason indicates that network is unreachable. NetworkUnreachableReason = "NetworkUnreachable" )
const ( // PlacementGroupsSynced reports on whether the placement groups are successfully synced. PlacementGroupsSynced clusterv1.ConditionType = "PlacementGroupsSynced" // PlacementGroupsUnreachableReason indicates that network is disabled. PlacementGroupsUnreachableReason = "PlacementGroupsUnreachable" )
const ( // HetznerClusterReady reports on whether the Hetzner cluster is in ready state. HetznerClusterReady clusterv1.ConditionType = "HetznerClusterReady" // HetznerSecretUnreachableReason indicates that Hetzner secret is unreachable. HetznerSecretUnreachableReason = "HetznerSecretUnreachable" // #nosec // HCloudCredentialsInvalidReason indicates that credentials for HCloud are invalid. HCloudCredentialsInvalidReason = "HCloudCredentialsInvalid" // #nosec )
const ( // 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 ( // ClusterFinalizer allows ReconcileHetznerCluster to clean up HCloud // resources associated with HetznerCluster before removing it from the // apiserver. ClusterFinalizer = "hetznercluster.infrastructure.cluster.x-k8s.io" )
const ( // MachineFinalizer allows ReconcileHCloudMachine to clean up HCloud // resources associated with HCloudMachine before removing it from the // apiserver. MachineFinalizer = "hcloudmachine.infrastructure.cluster.x-k8s.io" )
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"} // SchemeBuilder is used to add go types to the GroupVersionKind scheme. SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion} // AddToScheme adds the types in this group-version to the given scheme. AddToScheme = SchemeBuilder.AddToScheme )
Functions ¶
func ClusterHetznerCloudProviderTagKey ¶
ClusterHetznerCloudProviderTagKey generates the key for resources associated a cluster's HCloud cloud provider.
func ClusterTagKey ¶
ClusterTagKey generates the key for resources associated with a cluster.
Types ¶
type HCloudMachine ¶
type HCloudMachine struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HCloudMachineSpec `json:"spec,omitempty"` Status HCloudMachineStatus `json:"status,omitempty"` }
HCloudMachine is the Schema for the hcloudmachines API.
func (*HCloudMachine) DeepCopy ¶
func (in *HCloudMachine) DeepCopy() *HCloudMachine
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachine.
func (*HCloudMachine) DeepCopyInto ¶
func (in *HCloudMachine) DeepCopyInto(out *HCloudMachine)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudMachine) DeepCopyObject ¶
func (in *HCloudMachine) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HCloudMachine) Default ¶
func (r *HCloudMachine) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HCloudMachine) GetConditions ¶
func (r *HCloudMachine) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HCloudMachine resource.
func (*HCloudMachine) HCloudMachineSpec ¶
func (r *HCloudMachine) HCloudMachineSpec() *HCloudMachineSpec
HCloudMachineSpec returns a DeepCopy.
func (*HCloudMachine) Hub ¶
func (*HCloudMachine) Hub()
Hub marks HCloudMachine as a conversion hub.
func (*HCloudMachine) SetConditions ¶
func (r *HCloudMachine) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HCloudMachine to the predescribed clusterv1.Conditions.
func (*HCloudMachine) SetupWebhookWithManager ¶
func (r *HCloudMachine) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HCloudMachine.
func (*HCloudMachine) ValidateCreate ¶
func (r *HCloudMachine) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachine) ValidateDelete ¶
func (r *HCloudMachine) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachine) ValidateUpdate ¶
func (r *HCloudMachine) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HCloudMachineList ¶
type HCloudMachineList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HCloudMachine `json:"items"` }
HCloudMachineList contains a list of HCloudMachine.
func (*HCloudMachineList) DeepCopy ¶
func (in *HCloudMachineList) DeepCopy() *HCloudMachineList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineList.
func (*HCloudMachineList) DeepCopyInto ¶
func (in *HCloudMachineList) DeepCopyInto(out *HCloudMachineList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudMachineList) DeepCopyObject ¶
func (in *HCloudMachineList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HCloudMachineList) Hub ¶
func (*HCloudMachineList) Hub()
Hub marks HCloudMachineList as a conversion hub.
func (*HCloudMachineList) SetupWebhookWithManager ¶
func (r *HCloudMachineList) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HCloudMachineList.
type HCloudMachineSpec ¶
type HCloudMachineSpec struct { // ProviderID is the unique identifier as specified by the cloud provider. // +optional ProviderID *string `json:"providerID,omitempty"` // Type is the HCloud Machine Type for this machine. // +kubebuilder:validation:Enum=cpx11;cx21;cpx21;cx31;cpx31;cx41;cpx41;cx51;cpx51;ccx11;ccx12;ccx21;ccx22;ccx31;ccx32;ccx41;ccx42;ccx51;ccx52;ccx62; Type HCloudMachineType `json:"type"` // ImageName is the reference to the Machine Image from which to create the machine instance. // +kubebuilder:validation:MinLength=1 ImageName string `json:"imageName"` // define Machine specific SSH keys, overrides cluster wide SSH keys // +optional SSHKeys []SSHKey `json:"sshKeys,omitempty"` // +optional PlacementGroupName *string `json:"placementGroupName,omitempty"` }
HCloudMachineSpec defines the desired state of HCloudMachine.
func (*HCloudMachineSpec) DeepCopy ¶
func (in *HCloudMachineSpec) DeepCopy() *HCloudMachineSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineSpec.
func (*HCloudMachineSpec) DeepCopyInto ¶
func (in *HCloudMachineSpec) DeepCopyInto(out *HCloudMachineSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudMachineStatus ¶
type HCloudMachineStatus struct { // Ready is true when the provider resource is ready. // +optional Ready bool `json:"ready"` // Addresses contains the server's associated addresses. Addresses []corev1.NodeAddress `json:"addresses,omitempty"` // Region contains the name of the HCloud location the server is running. Region Region `json:"region,omitempty"` // InstanceState is the state of the server for this machine. // +optional InstanceState *hcloud.ServerStatus `json:"instanceState,omitempty"` // FailureReason will be set in the event that there is a terminal problem // reconciling the Machine and will contain a succinct value suitable // for machine interpretation. // +optional FailureReason *errors.MachineStatusError `json:"failureReason,omitempty"` // FailureMessage will be set in the event that there is a terminal problem // reconciling the Machine and will contain a more verbose string suitable // for logging and human consumption. // +optional FailureMessage *string `json:"failureMessage,omitempty"` // Conditions defines current service state of the HCloudMachine. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HCloudMachineStatus defines the observed state of HCloudMachine.
func (*HCloudMachineStatus) DeepCopy ¶
func (in *HCloudMachineStatus) DeepCopy() *HCloudMachineStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudMachineStatus.
func (*HCloudMachineStatus) DeepCopyInto ¶
func (in *HCloudMachineStatus) DeepCopyInto(out *HCloudMachineStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudMachineTemplate ¶
type HCloudMachineTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HCloudMachineTemplateSpec `json:"spec,omitempty"` }
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) Default ¶
func (r *HCloudMachineTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HCloudMachineTemplate) Hub ¶
func (*HCloudMachineTemplate) Hub()
Hub marks HCloudMachineTemplate as a conversion hub.
func (*HCloudMachineTemplate) SetupWebhookWithManager ¶
func (r *HCloudMachineTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerMachineTemplate.
func (*HCloudMachineTemplate) ValidateCreate ¶
func (r *HCloudMachineTemplate) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachineTemplate) ValidateDelete ¶
func (r *HCloudMachineTemplate) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HCloudMachineTemplate) ValidateUpdate ¶
func (r *HCloudMachineTemplate) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
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.
func (*HCloudMachineTemplateList) SetupWebhookWithManager ¶
func (r *HCloudMachineTemplateList) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerMachineTemplateList.
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 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:default=eu-central // +optional NetworkZone HCloudNetworkZone `json:"networkZone,omitempty"` }
HCloudNetworkSpec defines the desired state of the HCloud Private Network.
func (*HCloudNetworkSpec) DeepCopy ¶
func (in *HCloudNetworkSpec) DeepCopy() *HCloudNetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudNetworkSpec.
func (*HCloudNetworkSpec) DeepCopyInto ¶
func (in *HCloudNetworkSpec) DeepCopyInto(out *HCloudNetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HCloudNetworkSpec) IsZero ¶
func (s *HCloudNetworkSpec) IsZero() bool
IsZero returns true if a private Network is set.
type HCloudNetworkZone ¶
type HCloudNetworkZone string
HCloudNetworkZone describes the Network zone.
type HCloudPlacementGroupSpec ¶
type HCloudPlacementGroupSpec struct { // +kubebuilder:validation:MinLength=1 Name string `json:"name"` // +kubebuilder:validation:Enum=spread // +kubebuilder:default=spread Type string `json:"type,omitempty"` }
HCloudPlacementGroupSpec defines a PlacementGroup.
func (*HCloudPlacementGroupSpec) DeepCopy ¶
func (in *HCloudPlacementGroupSpec) DeepCopy() *HCloudPlacementGroupSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudPlacementGroupSpec.
func (*HCloudPlacementGroupSpec) DeepCopyInto ¶
func (in *HCloudPlacementGroupSpec) DeepCopyInto(out *HCloudPlacementGroupSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HCloudPlacementGroupStatus ¶
type HCloudPlacementGroupStatus struct { ID int `json:"id,omitempty"` Server []int `json:"servers,omitempty"` Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` }
HCloudPlacementGroupStatus returns the status of a Placementgroup.
func (*HCloudPlacementGroupStatus) DeepCopy ¶
func (in *HCloudPlacementGroupStatus) DeepCopy() *HCloudPlacementGroupStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HCloudPlacementGroupStatus.
func (*HCloudPlacementGroupStatus) DeepCopyInto ¶
func (in *HCloudPlacementGroupStatus) DeepCopyInto(out *HCloudPlacementGroupStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerCluster ¶
type HetznerCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HetznerClusterSpec `json:"spec,omitempty"` Status HetznerClusterStatus `json:"status,omitempty"` }
HetznerCluster is the Schema for the hetznercluster API.
func (*HetznerCluster) DeepCopy ¶
func (in *HetznerCluster) DeepCopy() *HetznerCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerCluster.
func (*HetznerCluster) DeepCopyInto ¶
func (in *HetznerCluster) DeepCopyInto(out *HetznerCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerCluster) DeepCopyObject ¶
func (in *HetznerCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerCluster) Default ¶
func (r *HetznerCluster) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerCluster) GetConditions ¶
func (r *HetznerCluster) GetConditions() clusterv1.Conditions
GetConditions returns the observations of the operational state of the HetznerCluster resource.
func (*HetznerCluster) Hub ¶
func (*HetznerCluster) Hub()
Hub marks HetznerCluster as a conversion hub.
func (*HetznerCluster) SetConditions ¶
func (r *HetznerCluster) SetConditions(conditions clusterv1.Conditions)
SetConditions sets the underlying service state of the HetznerCluster to the predescribed clusterv1.Conditions.
func (*HetznerCluster) SetupWebhookWithManager ¶
func (r *HetznerCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerCluster.
func (*HetznerCluster) ValidateCreate ¶
func (r *HetznerCluster) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerCluster) ValidateDelete ¶
func (r *HetznerCluster) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerCluster) ValidateUpdate ¶
func (r *HetznerCluster) ValidateUpdate(old runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerClusterList ¶
type HetznerClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerCluster `json:"items"` }
HetznerClusterList contains a list of HetznerCluster +kubebuilder:object:root=true +k8s:defaulter-gen=true
func (*HetznerClusterList) DeepCopy ¶
func (in *HetznerClusterList) DeepCopy() *HetznerClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterList.
func (*HetznerClusterList) DeepCopyInto ¶
func (in *HetznerClusterList) DeepCopyInto(out *HetznerClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerClusterList) DeepCopyObject ¶
func (in *HetznerClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerClusterList) Hub ¶
func (*HetznerClusterList) Hub()
Hub marks HetznerClusterList as a conversion hub.
func (*HetznerClusterList) SetupWebhookWithManager ¶
func (r *HetznerClusterList) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerClusterList.
type HetznerClusterSpec ¶
type HetznerClusterSpec struct { // HCloudNetworkSpec defines the Network for Hetzner Cloud. If left empty no private Network is configured. // +optional HCloudNetwork HCloudNetworkSpec `json:"hcloudNetwork"` // ControlPlaneRegion consists of a list of HCloud Regions (fsn, nbg, hel). Because HCloud Networks // have a very low latency we could assume in some use-cases that a region is behaving like a zone // https://kubernetes.io/docs/reference/labels-annotations-taints/#topologykubernetesiozone // +kubebuilder:validation:MinItems=1 // +kubebuilder:default={fsn1} 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. // +optional ControlPlaneLoadBalancer LoadBalancerSpec `json:"controlPlaneLoadBalancer,omitempty"` // +optional HCloudPlacementGroup []HCloudPlacementGroupSpec `json:"hcloudPlacementGroups,omitempty"` // HetznerSecretRef is a reference to a token to be used when reconciling this cluster. // This is generated in the security section under API TOKENS. Read & write is necessary. HetznerSecret HetznerSecretRef `json:"hetznerSecretRef"` }
HetznerClusterSpec defines the desired state of HetznerCluster.
func (*HetznerClusterSpec) DeepCopy ¶
func (in *HetznerClusterSpec) DeepCopy() *HetznerClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterSpec.
func (*HetznerClusterSpec) DeepCopyInto ¶
func (in *HetznerClusterSpec) DeepCopyInto(out *HetznerClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerClusterStatus ¶
type HetznerClusterStatus struct { // +kubebuilder:default=false Ready bool `json:"ready"` // +optional Network *NetworkStatus `json:"networkStatus,omitempty"` ControlPlaneLoadBalancer *LoadBalancerStatus `json:"controlPlaneLoadBalancer,omitempty"` // +optional HCloudPlacementGroup []HCloudPlacementGroupStatus `json:"hcloudPlacementGroups,omitempty"` FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"` Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
HetznerClusterStatus defines the observed state of HetznerCluster.
func (*HetznerClusterStatus) DeepCopy ¶
func (in *HetznerClusterStatus) DeepCopy() *HetznerClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterStatus.
func (*HetznerClusterStatus) DeepCopyInto ¶
func (in *HetznerClusterStatus) DeepCopyInto(out *HetznerClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerClusterTemplate ¶
type HetznerClusterTemplate struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec HetznerClusterTemplateSpec `json:"spec,omitempty"` }
HetznerClusterTemplate is the Schema for the hetznerclustertemplates API.
func (*HetznerClusterTemplate) DeepCopy ¶
func (in *HetznerClusterTemplate) DeepCopy() *HetznerClusterTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplate.
func (*HetznerClusterTemplate) DeepCopyInto ¶
func (in *HetznerClusterTemplate) DeepCopyInto(out *HetznerClusterTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerClusterTemplate) DeepCopyObject ¶
func (in *HetznerClusterTemplate) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*HetznerClusterTemplate) Default ¶
func (r *HetznerClusterTemplate) Default()
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*HetznerClusterTemplate) SetupWebhookWithManager ¶
func (r *HetznerClusterTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager initializes webhook manager for HetznerClusterTemplate.
func (*HetznerClusterTemplate) ValidateCreate ¶
func (r *HetznerClusterTemplate) ValidateCreate() error
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerClusterTemplate) ValidateDelete ¶
func (r *HetznerClusterTemplate) ValidateDelete() error
ValidateDelete implements webhook.Validator so a webhook will be registered for the type.
func (*HetznerClusterTemplate) ValidateUpdate ¶
func (r *HetznerClusterTemplate) ValidateUpdate(oldRaw runtime.Object) error
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.
type HetznerClusterTemplateList ¶
type HetznerClusterTemplateList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []HetznerClusterTemplate `json:"items"` }
HetznerClusterTemplateList contains a list of HetznerClusterTemplate.
func (*HetznerClusterTemplateList) DeepCopy ¶
func (in *HetznerClusterTemplateList) DeepCopy() *HetznerClusterTemplateList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplateList.
func (*HetznerClusterTemplateList) DeepCopyInto ¶
func (in *HetznerClusterTemplateList) DeepCopyInto(out *HetznerClusterTemplateList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*HetznerClusterTemplateList) DeepCopyObject ¶
func (in *HetznerClusterTemplateList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type HetznerClusterTemplateResource ¶
type HetznerClusterTemplateResource struct { // +optional ObjectMeta clusterv1.ObjectMeta `json:"metadata,omitempty"` Spec HetznerClusterSpec `json:"spec"` }
HetznerClusterTemplateResource contains spec for HetznerClusterSpec.
func (*HetznerClusterTemplateResource) DeepCopy ¶
func (in *HetznerClusterTemplateResource) DeepCopy() *HetznerClusterTemplateResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplateResource.
func (*HetznerClusterTemplateResource) DeepCopyInto ¶
func (in *HetznerClusterTemplateResource) DeepCopyInto(out *HetznerClusterTemplateResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerClusterTemplateSpec ¶
type HetznerClusterTemplateSpec struct {
Template HetznerClusterTemplateResource `json:"template"`
}
HetznerClusterTemplateSpec defines the desired state of HetznerClusterTemplate.
func (*HetznerClusterTemplateSpec) DeepCopy ¶
func (in *HetznerClusterTemplateSpec) DeepCopy() *HetznerClusterTemplateSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HetznerClusterTemplateSpec.
func (*HetznerClusterTemplateSpec) DeepCopyInto ¶
func (in *HetznerClusterTemplateSpec) DeepCopyInto(out *HetznerClusterTemplateSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HetznerSSHKeys ¶
type HetznerSSHKeys struct {
HCloud []SSHKey `json:"hcloud,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 {
HCloudToken string `json:"hcloudToken"`
}
HetznerSecretKeyRef defines the key name of the HetznerSecret.
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 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 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"` }
LoadBalancerSpec defines the desired state of the Control Plane Loadbalancer.
func (*LoadBalancerSpec) DeepCopy ¶
func (in *LoadBalancerSpec) DeepCopy() *LoadBalancerSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LoadBalancerSpec.
func (*LoadBalancerSpec) DeepCopyInto ¶
func (in *LoadBalancerSpec) DeepCopyInto(out *LoadBalancerSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LoadBalancerStatus ¶
type LoadBalancerStatus struct { ID int `json:"id,omitempty"` IPv4 string `json:"ipv4,omitempty"` IPv6 string `json:"ipv6,omitempty"` InternalIP string `json:"internalIP,omitempty"` Target []int `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 NetworkStatus ¶
type NetworkStatus struct { ID int `json:"id,omitempty"` Labels map[string]string `json:"-"` AttachedServers []int `json:"attachedServers,omitempty"` }
NetworkStatus defines the observed state of the HCloud Private Network.
func (*NetworkStatus) DeepCopy ¶
func (in *NetworkStatus) DeepCopy() *NetworkStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkStatus.
func (*NetworkStatus) DeepCopyInto ¶
func (in *NetworkStatus) DeepCopyInto(out *NetworkStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Region ¶
type Region string
Region is a Hetzner Location +kubebuilder:validation:Enum=fsn1;hel1;nbg1;ash
type ResourceLifecycle ¶
type ResourceLifecycle string
ResourceLifecycle configures the lifecycle of a resource.
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.
Source Files ¶
- conditions_const.go
- conversion.go
- groupversion_info.go
- hcloudmachine_types.go
- hcloudmachine_webhook.go
- hcloudmachinetemplate_types.go
- hcloudmachinetemplate_webhook.go
- hetznercluster_types.go
- hetznercluster_webhook.go
- hetznerclustertemplate_types.go
- hetznerclustertemplate_webhook.go
- tags.go
- types.go
- webhooks.go
- zz_generated.deepcopy.go