Documentation ¶
Overview ¶
Package v1alpha2 contains API Schema definitions for the infrastructure v1alpha2 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io
Index ¶
- Constants
- Variables
- type LinodeCluster
- func (in *LinodeCluster) DeepCopy() *LinodeCluster
- func (in *LinodeCluster) DeepCopyInto(out *LinodeCluster)
- func (in *LinodeCluster) DeepCopyObject() runtime.Object
- func (lm *LinodeCluster) GetConditions() clusterv1.Conditions
- func (*LinodeCluster) Hub()
- func (lm *LinodeCluster) SetConditions(conditions clusterv1.Conditions)
- func (r *LinodeCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *LinodeCluster) ValidateCreate() (admission.Warnings, error)
- func (r *LinodeCluster) ValidateDelete() (admission.Warnings, error)
- func (r *LinodeCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type LinodeClusterList
- type LinodeClusterSpec
- type LinodeClusterStatus
- type LinodeNBPortConfig
- type NetworkSpec
Constants ¶
const ( // ClusterFinalizer allows ReconcileLinodeCluster to clean up Linode resources associated // with LinodeCluster before removing it from the apiserver. ClusterFinalizer = "linodecluster.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: "v1alpha2"} // 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 ¶
This section is empty.
Types ¶
type LinodeCluster ¶
type LinodeCluster struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec LinodeClusterSpec `json:"spec,omitempty"` Status LinodeClusterStatus `json:"status,omitempty"` }
LinodeCluster is the Schema for the linodeclusters API
func (*LinodeCluster) DeepCopy ¶
func (in *LinodeCluster) DeepCopy() *LinodeCluster
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinodeCluster.
func (*LinodeCluster) DeepCopyInto ¶
func (in *LinodeCluster) DeepCopyInto(out *LinodeCluster)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinodeCluster) DeepCopyObject ¶
func (in *LinodeCluster) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*LinodeCluster) GetConditions ¶
func (lm *LinodeCluster) GetConditions() clusterv1.Conditions
func (*LinodeCluster) Hub ¶
func (*LinodeCluster) Hub()
Hub marks LinodeCluster as a conversion hub.
func (*LinodeCluster) SetConditions ¶
func (lm *LinodeCluster) SetConditions(conditions clusterv1.Conditions)
func (*LinodeCluster) SetupWebhookWithManager ¶
func (r *LinodeCluster) SetupWebhookWithManager(mgr ctrl.Manager) error
SetupWebhookWithManager will setup the manager to manage the webhooks
func (*LinodeCluster) ValidateCreate ¶
func (r *LinodeCluster) ValidateCreate() (admission.Warnings, error)
ValidateCreate implements webhook.Validator so a webhook will be registered for the type
func (*LinodeCluster) ValidateDelete ¶
func (r *LinodeCluster) ValidateDelete() (admission.Warnings, error)
ValidateDelete implements webhook.Validator so a webhook will be registered for the type
func (*LinodeCluster) ValidateUpdate ¶
ValidateUpdate implements webhook.Validator so a webhook will be registered for the type
type LinodeClusterList ¶
type LinodeClusterList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []LinodeCluster `json:"items"` }
LinodeClusterList contains a list of LinodeCluster
func (*LinodeClusterList) DeepCopy ¶
func (in *LinodeClusterList) DeepCopy() *LinodeClusterList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinodeClusterList.
func (*LinodeClusterList) DeepCopyInto ¶
func (in *LinodeClusterList) DeepCopyInto(out *LinodeClusterList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*LinodeClusterList) DeepCopyObject ¶
func (in *LinodeClusterList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type LinodeClusterSpec ¶
type LinodeClusterSpec struct { // The Linode Region the LinodeCluster lives in. Region string `json:"region"` // ControlPlaneEndpoint represents the endpoint used to communicate with the LinodeCluster control plane. // If ControlPlaneEndpoint is unset then the Nodebalancer ip will be used. // +optional ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"` // NetworkSpec encapsulates all things related to Linode network. // +optional Network NetworkSpec `json:"network"` // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value is immutable" // +optional VPCRef *corev1.ObjectReference `json:"vpcRef,omitempty"` // CredentialsRef is a reference to a Secret that contains the credentials to use for provisioning this cluster. If not // supplied then the credentials of the controller will be used. // +optional CredentialsRef *corev1.SecretReference `json:"credentialsRef,omitempty"` }
LinodeClusterSpec defines the desired state of LinodeCluster
func (*LinodeClusterSpec) DeepCopy ¶
func (in *LinodeClusterSpec) DeepCopy() *LinodeClusterSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinodeClusterSpec.
func (*LinodeClusterSpec) DeepCopyInto ¶
func (in *LinodeClusterSpec) DeepCopyInto(out *LinodeClusterSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinodeClusterStatus ¶
type LinodeClusterStatus struct { // Ready denotes that the cluster (infrastructure) is ready. // +optional Ready bool `json:"ready"` // FailureReason will be set in the event that there is a terminal problem // reconciling the LinodeCluster and will contain a succinct value suitable // for machine interpretation. // +optional FailureReason *errors.ClusterStatusError `json:"failureReason,omitempty"` // FailureMessage will be set in the event that there is a terminal problem // reconciling the LinodeCluster 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 LinodeCluster. // +optional Conditions clusterv1.Conditions `json:"conditions,omitempty"` }
LinodeClusterStatus defines the observed state of LinodeCluster
func (*LinodeClusterStatus) DeepCopy ¶
func (in *LinodeClusterStatus) DeepCopy() *LinodeClusterStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinodeClusterStatus.
func (*LinodeClusterStatus) DeepCopyInto ¶
func (in *LinodeClusterStatus) DeepCopyInto(out *LinodeClusterStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LinodeNBPortConfig ¶
type LinodeNBPortConfig struct { // port configured on the NodeBalancer. It must be valid port range (1-65535). // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 Port int `json:"port"` // nodeBalancerConfigID is the config ID of port's NodeBalancer config. // +optional NodeBalancerConfigID *int `json:"nodeBalancerConfigID,omitempty"` }
func (*LinodeNBPortConfig) DeepCopy ¶
func (in *LinodeNBPortConfig) DeepCopy() *LinodeNBPortConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LinodeNBPortConfig.
func (*LinodeNBPortConfig) DeepCopyInto ¶
func (in *LinodeNBPortConfig) DeepCopyInto(out *LinodeNBPortConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NetworkSpec ¶
type NetworkSpec struct { // LoadBalancerType is the type of load balancer to use, defaults to NodeBalancer if not otherwise set // +kubebuilder:validation:Enum=NodeBalancer;dns // +optional LoadBalancerType string `json:"loadBalancerType,omitempty"` // DNSProvider is provider who manages the domain // Ignored if the LoadBalancerType is set to anything other than dns // If not set, defaults linode dns // +optional DNSProvider int `json:"dnsProvider,omitempty"` // DNSRootDomain is the root domain used to create a DNS entry for the control-plane endpoint // Ignored if the LoadBalancerType is set to anything other than dns // +optional DNSRootDomain string `json:"dnsRootDomain,omitempty"` // DNSUniqueIdentifier is the unique identifier for the DNS. This let clusters with the same name have unique // DNS record // Ignored if the LoadBalancerType is set to anything other than dns // If not set, CAPL will create a unique identifier for you // +optional DNSUniqueIdentifier string `json:"dnsUniqueIdentifier,omitempty"` // DNSTTLSec is the TTL for the domain record // Ignored if the LoadBalancerType is set to anything other than dns // If not set, defaults to 30 // +optional DNSTTLSec int `json:"dnsTTLsec,omitempty"` // apiserverLoadBalancerPort used by the api server. It must be valid ports range (1-65535). // If omitted, default value is 6443. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +optional ApiserverLoadBalancerPort int `json:"apiserverLoadBalancerPort,omitempty"` // NodeBalancerID is the id of NodeBalancer. // +optional NodeBalancerID *int `json:"nodeBalancerID,omitempty"` // apiserverNodeBalancerConfigID is the config ID of api server NodeBalancer config. // +optional ApiserverNodeBalancerConfigID *int `json:"apiserverNodeBalancerConfigID,omitempty"` // additionalPorts contains list of ports to be configured with NodeBalancer. // +optional AdditionalPorts []LinodeNBPortConfig `json:"additionalPorts,omitempty"` }
NetworkSpec encapsulates Linode networking resources.
func (*NetworkSpec) DeepCopy ¶
func (in *NetworkSpec) DeepCopy() *NetworkSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NetworkSpec.
func (*NetworkSpec) DeepCopyInto ¶
func (in *NetworkSpec) DeepCopyInto(out *NetworkSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.