v1alpha2

package
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 10, 2024 License: Apache-2.0 Imports: 21 Imported by: 0

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

View Source
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

View Source
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

func (r *LinodeCluster) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL