v1alpha1

package
v0.23.1 Latest Latest
Warning

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

Go to latest
Published: Nov 14, 2024 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the CAPI extensions v1alpha1 API group +kubebuilder:object:generate=true +groupName=caren.nutanix.com

Index

Constants

View Source
const (
	CNIProviderCalico = "Calico"
	CNIProviderCilium = "Cilium"

	CSIProviderAWSEBS    = "aws-ebs"
	CSIProviderNutanix   = "nutanix"
	CSIProviderLocalPath = "local-path"

	VirtualIPProviderKubeVIP = "KubeVIP"

	ServiceLoadBalancerProviderMetalLB = "MetalLB"

	AddonStrategyClusterResourceSet AddonStrategy = "ClusterResourceSet"
	AddonStrategyHelmAddon          AddonStrategy = "HelmAddon"

	VolumeBindingImmediate            = storagev1.VolumeBindingImmediate
	VolumeBindingWaitForFirstConsumer = storagev1.VolumeBindingWaitForFirstConsumer

	VolumeReclaimRecycle = corev1.PersistentVolumeReclaimRecycle
	VolumeReclaimDelete  = corev1.PersistentVolumeReclaimDelete
	VolumeReclaimRetain  = corev1.PersistentVolumeReclaimRetain

	NutanixBootTypeLegacy = nutanixv1.NutanixBootTypeLegacy
	NutanixBootTypeUEFI   = nutanixv1.NutanixBootTypeUEFI
)

All kubebuilder "Enum" build tag values are available in the OpenAPI spec. So that all these values are available to users of the api package, we we define a constant for each of the values.

TODO: Generate these constants from the kubebuilder build tags, if possible.

View Source
const (
	CCMProviderAWS     = "aws"
	CCMProviderNutanix = "nutanix"
)

FIXME: Remove the CCM providers from the API. Users do not provider this value; we derive it from the cluster infrastructure.

View Source
const (
	// ClusterConfigVariableName is the meta cluster config patch variable name.
	ClusterConfigVariableName = "clusterConfig"
	// ControlPlaneConfigVariableName is the control-plane config patch variable name.
	ControlPlaneConfigVariableName = "controlPlane"
	// WorkerConfigVariableName is the meta worker config patch variable name.
	WorkerConfigVariableName = "workerConfig"

	// AWSVariableName is the AWS config patch variable name.
	AWSVariableName = "aws"
	// DockerVariableName is the Docker config patch variable name.
	DockerVariableName = "docker"
	// NutanixVariableName is the Nutanix config patch variable name.
	NutanixVariableName = "nutanix"

	// CNIVariableName is the CNI external patch variable name.
	CNIVariableName = "cni"
	// NFDVariableName is the NFD external patch variable name.
	NFDVariableName = "nfd"

	// ClusterAutoscalerVariableName is the cluster-autoscaler external patch variable name.
	ClusterAutoscalerVariableName = "clusterAutoscaler"
	// ServiceLoadBalancerVariableName is the Service LoadBalancer config patch variable name.
	ServiceLoadBalancerVariableName = "serviceLoadBalancer"

	// GlobalMirrorVariableName is the global image registry mirror patch variable name.
	GlobalMirrorVariableName = "globalImageRegistryMirror"
	// ImageRegistriesVariableName is the image registries patch variable name.
	ImageRegistriesVariableName = "imageRegistries"

	// DNSVariableName is the DNS external patch variable name.
	DNSVariableName = "dns"

	ClusterUUIDAnnotationKey = APIGroup + "/cluster-uuid"
)
View Source
const APIGroup = "caren.nutanix.com"
View Source
const (
	DefaultPrismCentralPort = 9440
)

Variables

View Source
var (
	DefaultDockerCertSANs = []string{
		"localhost",
		"127.0.0.1",
		"0.0.0.0",
		"host.docker.internal",
	}

	DefaultNutanixCertSANs = []string{
		"localhost",
		"127.0.0.1",
		"0.0.0.0",
	}
)
View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: APIGroup, Version: "v1alpha1"}

	// 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 AESConfiguration added in v0.9.0

type AESConfiguration struct{}

func (*AESConfiguration) DeepCopy added in v0.9.0

func (in *AESConfiguration) DeepCopy() *AESConfiguration

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AESConfiguration.

func (*AESConfiguration) DeepCopyInto added in v0.9.0

func (in *AESConfiguration) DeepCopyInto(out *AESConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AMILookup

type AMILookup struct {
	// AMI naming format. Supports substitutions for {{.BaseOS}} and {{.K8sVersion}} with the
	// base OS and kubernetes version.
	// +kubebuilder:validation:Optional
	// +kubebuilder:example=`capa-ami-{{.BaseOS}}-?{{.K8sVersion}}-*`
	Format string `json:"format,omitempty"`

	// The AWS Organization ID to use for image lookup.
	// +kubebuilder:validation:Optional
	Org string `json:"org,omitempty"`

	// The name of the base os for image lookup
	// +kubebuilder:validation:Optional
	BaseOS string `json:"baseOS,omitempty"`
}

func (*AMILookup) DeepCopy

func (in *AMILookup) DeepCopy() *AMILookup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AMILookup.

func (*AMILookup) DeepCopyInto

func (in *AMILookup) DeepCopyInto(out *AMILookup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AMISpec

type AMISpec struct {
	// AMI ID is the reference to the AMI from which to create the machine instance.
	// +kubebuilder:validation:Optional
	ID string `json:"id,omitempty"`

	// Lookup is the lookup arguments for the AMI.
	// +kubebuilder:validation:Optional
	Lookup *AMILookup `json:"lookup,omitempty"`
}

func (*AMISpec) DeepCopy

func (in *AMISpec) DeepCopy() *AMISpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AMISpec.

func (*AMISpec) DeepCopyInto

func (in *AMISpec) DeepCopyInto(out *AMISpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSAddons added in v0.10.0

type AWSAddons struct {
	GenericAddons `json:",inline"`

	// +kubebuilder:validation:Optional
	CSI *AWSCSI `json:"csi,omitempty"`
}

func (*AWSAddons) DeepCopy added in v0.10.0

func (in *AWSAddons) DeepCopy() *AWSAddons

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSAddons.

func (*AWSAddons) DeepCopyInto added in v0.10.0

func (in *AWSAddons) DeepCopyInto(out *AWSAddons)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSCSI added in v0.10.0

type AWSCSI struct {
	GenericCSI `json:",inline"`

	// +kubebuilder:validation:Required
	Providers AWSCSIProviders `json:"providers"`
}

func (*AWSCSI) DeepCopy added in v0.10.0

func (in *AWSCSI) DeepCopy() *AWSCSI

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSCSI.

func (*AWSCSI) DeepCopyInto added in v0.10.0

func (in *AWSCSI) DeepCopyInto(out *AWSCSI)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSCSIProviders added in v0.10.0

type AWSCSIProviders struct {
	// +kubebuilder:validation:Required
	AWSEBSCSI CSIProvider `json:"aws-ebs"`
}

func (*AWSCSIProviders) DeepCopy added in v0.10.0

func (in *AWSCSIProviders) DeepCopy() *AWSCSIProviders

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSCSIProviders.

func (*AWSCSIProviders) DeepCopyInto added in v0.10.0

func (in *AWSCSIProviders) DeepCopyInto(out *AWSCSIProviders)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSClusterConfig added in v0.8.0

type AWSClusterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Optional
	Spec AWSClusterConfigSpec `json:"spec,omitempty"`
}

AWSClusterConfig is the Schema for the awsclusterconfigs API.

func (*AWSClusterConfig) DeepCopy added in v0.8.0

func (in *AWSClusterConfig) DeepCopy() *AWSClusterConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSClusterConfig.

func (*AWSClusterConfig) DeepCopyInto added in v0.8.0

func (in *AWSClusterConfig) DeepCopyInto(out *AWSClusterConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AWSClusterConfig) DeepCopyObject added in v0.8.0

func (in *AWSClusterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (AWSClusterConfig) VariableSchema added in v0.8.0

func (s AWSClusterConfig) VariableSchema() clusterv1.VariableSchema

type AWSClusterConfigSpec added in v0.8.0

type AWSClusterConfigSpec struct {
	// AWS cluster configuration.
	// +kubebuilder:validation:Optional
	AWS *AWSSpec `json:"aws,omitempty"`

	GenericClusterConfigSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	Addons *AWSAddons `json:"addons,omitempty"`

	// +kubebuilder:validation:Optional
	ControlPlane *AWSControlPlaneNodeConfigSpec `json:"controlPlane,omitempty"`

	// Extra Subject Alternative Names for the API Server signing cert.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:UniqueItems=true
	// +kubebuilder:validation:items:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	ExtraAPIServerCertSANs []string `json:"extraAPIServerCertSANs,omitempty"`
}

AWSClusterConfigSpec defines the desired state of ClusterConfig.

func (*AWSClusterConfigSpec) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSClusterConfigSpec.

func (*AWSClusterConfigSpec) DeepCopyInto added in v0.8.0

func (in *AWSClusterConfigSpec) DeepCopyInto(out *AWSClusterConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSControlPlaneNodeConfigSpec added in v0.8.0

type AWSControlPlaneNodeConfigSpec struct {
	// +kubebuilder:validation:Optional
	AWS *AWSControlPlaneNodeSpec `json:"aws,omitempty"`

	GenericNodeSpec `json:",inline"`
}

AWSControlPlaneConfigSpec defines the desired state of AWSNodeConfig. Place any configuration that can be applied to individual Nodes here. Otherwise, it should go into the ClusterConfigSpec.

func (*AWSControlPlaneNodeConfigSpec) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSControlPlaneNodeConfigSpec.

func (*AWSControlPlaneNodeConfigSpec) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSControlPlaneNodeSpec added in v0.8.0

type AWSControlPlaneNodeSpec struct {
	// The IAM instance profile to use for the cluster Machines.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=control-plane.cluster-api-provider-aws.sigs.k8s.io
	IAMInstanceProfile string `json:"iamInstanceProfile,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:default=m5.xlarge
	InstanceType string `json:"instanceType,omitempty"`

	AWSGenericNodeSpec `json:",inline"`
}

func (*AWSControlPlaneNodeSpec) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSControlPlaneNodeSpec.

func (*AWSControlPlaneNodeSpec) DeepCopyInto added in v0.8.0

func (in *AWSControlPlaneNodeSpec) DeepCopyInto(out *AWSControlPlaneNodeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSGenericNodeSpec added in v0.8.0

type AWSGenericNodeSpec struct {
	// AMI or AMI Lookup arguments for machine image of a AWS machine.
	// If both AMI ID and AMI lookup arguments are provided then AMI ID takes precedence
	// +kubebuilder:validation:Optional
	AMISpec *AMISpec `json:"ami,omitempty"`

	// +kubebuilder:validation:Optional
	AdditionalSecurityGroups AdditionalSecurityGroup `json:"additionalSecurityGroups,omitempty"`
}

func (*AWSGenericNodeSpec) DeepCopy added in v0.8.0

func (in *AWSGenericNodeSpec) DeepCopy() *AWSGenericNodeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSGenericNodeSpec.

func (*AWSGenericNodeSpec) DeepCopyInto added in v0.8.0

func (in *AWSGenericNodeSpec) DeepCopyInto(out *AWSGenericNodeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSLoadBalancerSpec

type AWSLoadBalancerSpec struct {
	// Scheme sets the scheme of the load balancer.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=internet-facing
	// +kubebuilder:validation:Enum=internet-facing;internal
	Scheme *capav1.ELBScheme `json:"scheme,omitempty"`
}

AWSLoadBalancerSpec configures an AWS control-plane LoadBalancer.

func (*AWSLoadBalancerSpec) DeepCopy

func (in *AWSLoadBalancerSpec) DeepCopy() *AWSLoadBalancerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSLoadBalancerSpec.

func (*AWSLoadBalancerSpec) DeepCopyInto

func (in *AWSLoadBalancerSpec) DeepCopyInto(out *AWSLoadBalancerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSNetwork

type AWSNetwork struct {
	// +kubebuilder:validation:Optional
	VPC *VPC `json:"vpc,omitempty"`

	// AWS Subnet configuration.
	// +kubebuilder:validation:Optional
	Subnets Subnets `json:"subnets,omitempty"`
}

func (*AWSNetwork) DeepCopy

func (in *AWSNetwork) DeepCopy() *AWSNetwork

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSNetwork.

func (*AWSNetwork) DeepCopyInto

func (in *AWSNetwork) DeepCopyInto(out *AWSNetwork)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSSpec

type AWSSpec struct {
	// AWS region to create cluster in.
	// +kubebuilder:validation:Optional
	Region *Region `json:"region,omitempty"`

	// AWS network configuration.
	// +kubebuilder:validation:Optional
	Network *AWSNetwork `json:"network,omitempty"`

	// +kubebuilder:validation:Optional
	ControlPlaneLoadBalancer *AWSLoadBalancerSpec `json:"controlPlaneLoadBalancer,omitempty"`
}

func (*AWSSpec) DeepCopy

func (in *AWSSpec) DeepCopy() *AWSSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSSpec.

func (*AWSSpec) DeepCopyInto

func (in *AWSSpec) DeepCopyInto(out *AWSSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSWorkerNodeConfig added in v0.8.0

type AWSWorkerNodeConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Optional
	Spec AWSWorkerNodeConfigSpec `json:"spec,omitempty"`
}

AWSWorkerNodeConfig is the Schema for the awsnodeconfigs API.

func (*AWSWorkerNodeConfig) DeepCopy added in v0.8.0

func (in *AWSWorkerNodeConfig) DeepCopy() *AWSWorkerNodeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSWorkerNodeConfig.

func (*AWSWorkerNodeConfig) DeepCopyInto added in v0.8.0

func (in *AWSWorkerNodeConfig) DeepCopyInto(out *AWSWorkerNodeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*AWSWorkerNodeConfig) DeepCopyObject added in v0.8.0

func (in *AWSWorkerNodeConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (AWSWorkerNodeConfig) VariableSchema added in v0.8.0

func (s AWSWorkerNodeConfig) VariableSchema() clusterv1.VariableSchema

type AWSWorkerNodeConfigSpec added in v0.8.0

type AWSWorkerNodeConfigSpec struct {
	// +kubebuilder:validation:Optional
	AWS *AWSWorkerNodeSpec `json:"aws,omitempty"`

	GenericNodeSpec `json:",inline"`
}

AWSWorkerNodeConfigSpec defines the desired state of AWSNodeConfig. Place any configuration that can be applied to individual Nodes here. Otherwise, it should go into the ClusterConfigSpec.

func (*AWSWorkerNodeConfigSpec) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSWorkerNodeConfigSpec.

func (*AWSWorkerNodeConfigSpec) DeepCopyInto added in v0.8.0

func (in *AWSWorkerNodeConfigSpec) DeepCopyInto(out *AWSWorkerNodeConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AWSWorkerNodeSpec added in v0.8.0

type AWSWorkerNodeSpec struct {
	// The IAM instance profile to use for the cluster Machines.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=nodes.cluster-api-provider-aws.sigs.k8s.io
	IAMInstanceProfile string `json:"iamInstanceProfile,omitempty"`

	// The AWS instance type to use for the cluster Machines.
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=m5.2xlarge
	InstanceType string `json:"instanceType,omitempty"`

	AWSGenericNodeSpec `json:",inline"`
}

func (*AWSWorkerNodeSpec) DeepCopy added in v0.8.0

func (in *AWSWorkerNodeSpec) DeepCopy() *AWSWorkerNodeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSWorkerNodeSpec.

func (*AWSWorkerNodeSpec) DeepCopyInto added in v0.8.0

func (in *AWSWorkerNodeSpec) DeepCopyInto(out *AWSWorkerNodeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AdditionalSecurityGroup

type AdditionalSecurityGroup []SecurityGroup

func (AdditionalSecurityGroup) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AdditionalSecurityGroup.

func (AdditionalSecurityGroup) DeepCopyInto

func (in AdditionalSecurityGroup) DeepCopyInto(out *AdditionalSecurityGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type AddonStrategy

type AddonStrategy string

+kubebuilder:validation:Optional +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon

type AddressRange added in v0.12.0

type AddressRange struct {
	// +kubebuilder:validation:Format=ipv4
	Start string `json:"start"`

	// +kubebuilder:validation:Format=ipv4
	End string `json:"end"`
}

AddressRange defines an IPv4 range.

func (*AddressRange) DeepCopy added in v0.12.0

func (in *AddressRange) DeepCopy() *AddressRange

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddressRange.

func (*AddressRange) DeepCopyInto added in v0.12.0

func (in *AddressRange) DeepCopyInto(out *AddressRange)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CCM

type CCM struct {
	// A reference to the Secret for credential information for the target Prism Central instance
	// +kubebuilder:validation:Optional
	Credentials *CCMCredentials `json:"credentials,omitempty"`

	// Addon strategy used to deploy the CCM to the workload cluster.
	// +kubebuilder:default=HelmAddon
	Strategy *AddonStrategy `json:"strategy,omitempty"`
}

CCM tells us to enable or disable the cloud provider interface.

func (*CCM) DeepCopy

func (in *CCM) DeepCopy() *CCM

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CCM.

func (*CCM) DeepCopyInto

func (in *CCM) DeepCopyInto(out *CCM)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CCMCredentials added in v0.9.0

type CCMCredentials struct {
	// A reference to the Secret containing the credentials used by the CCM provider.
	// +kubebuilder:validation:Required
	SecretRef LocalObjectReference `json:"secretRef"`
}

func (*CCMCredentials) DeepCopy added in v0.9.0

func (in *CCMCredentials) DeepCopy() *CCMCredentials

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CCMCredentials.

func (*CCMCredentials) DeepCopyInto added in v0.9.0

func (in *CCMCredentials) DeepCopyInto(out *CCMCredentials)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CNI

type CNI struct {
	// CNI provider to deploy.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=Calico;Cilium
	Provider string `json:"provider"`

	// Addon strategy used to deploy the CNI provider to the workload cluster.
	// +kubebuilder:default=HelmAddon
	Strategy *AddonStrategy `json:"strategy,omitempty"`
}

CNI required for providing CNI configuration.

func (*CNI) DeepCopy

func (in *CNI) DeepCopy() *CNI

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNI.

func (*CNI) DeepCopyInto

func (in *CNI) DeepCopyInto(out *CNI)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CSICredentials added in v0.9.0

type CSICredentials struct {
	// A reference to the Secret containing the credentials used by the CSI provider.
	// +kubebuilder:validation:Required
	SecretRef LocalObjectReference `json:"secretRef"`
}

func (*CSICredentials) DeepCopy added in v0.9.0

func (in *CSICredentials) DeepCopy() *CSICredentials

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSICredentials.

func (*CSICredentials) DeepCopyInto added in v0.9.0

func (in *CSICredentials) DeepCopyInto(out *CSICredentials)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CSIProvider

type CSIProvider struct {
	// StorageClassConfigs is a map of storage class configurations for this CSI provider.
	// +kubebuilder:validation:Required
	StorageClassConfigs map[string]StorageClassConfig `json:"storageClassConfigs"`

	// Addon strategy used to deploy the CSI provider to the workload cluster.
	// +kubebuilder:default=HelmAddon
	Strategy *AddonStrategy `json:"strategy,omitempty"`

	// The reference to any secret used by the CSI Provider.
	// +kubebuilder:validation:Optional
	Credentials *CSICredentials `json:"credentials,omitempty"`
}

func (*CSIProvider) DeepCopy

func (in *CSIProvider) DeepCopy() *CSIProvider

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CSIProvider.

func (*CSIProvider) DeepCopyInto

func (in *CSIProvider) DeepCopyInto(out *CSIProvider)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ClusterAutoscaler

type ClusterAutoscaler struct {
	// Addon strategy used to deploy cluster-autoscaler to the management cluster
	// targeting the workload cluster.
	// +kubebuilder:default=HelmAddon
	Strategy *AddonStrategy `json:"strategy,omitempty"`
}

ClusterAutoscaler tells us to enable or disable the cluster-autoscaler addon.

func (*ClusterAutoscaler) DeepCopy

func (in *ClusterAutoscaler) DeepCopy() *ClusterAutoscaler

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterAutoscaler.

func (*ClusterAutoscaler) DeepCopyInto

func (in *ClusterAutoscaler) DeepCopyInto(out *ClusterAutoscaler)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControlPlaneEndpointSpec

type ControlPlaneEndpointSpec struct {
	// The hostname on which the API server is serving.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Host string `json:"host"`

	// The port on which the API server is serving.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port int32 `json:"port"`

	// Configuration for the virtual IP provider.
	// +kubebuilder:validation:Optional
	VirtualIPSpec *ControlPlaneVirtualIPSpec `json:"virtualIP,omitempty"`
}

func (*ControlPlaneEndpointSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneEndpointSpec.

func (*ControlPlaneEndpointSpec) DeepCopyInto

func (in *ControlPlaneEndpointSpec) DeepCopyInto(out *ControlPlaneEndpointSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ControlPlaneVirtualIPSpec added in v0.8.0

type ControlPlaneVirtualIPSpec struct {
	// Virtual IP provider to deploy.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=KubeVIP
	// +kubebuilder:default=KubeVIP
	Provider string `json:"provider,omitempty"`
}

func (*ControlPlaneVirtualIPSpec) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneVirtualIPSpec.

func (*ControlPlaneVirtualIPSpec) DeepCopyInto added in v0.8.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type CoreDNS added in v0.20.0

type CoreDNS struct {
	// Image required for overriding Kubernetes DNS image details.
	// If the image version is not specified,
	// the default version based on the cluster's Kubernetes version will be used.
	// +kubebuilder:validation:Optional
	Image *Image `json:"image,omitempty"`
}

func (*CoreDNS) DeepCopy added in v0.20.0

func (in *CoreDNS) DeepCopy() *CoreDNS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreDNS.

func (*CoreDNS) DeepCopyInto added in v0.20.0

func (in *CoreDNS) DeepCopyInto(out *CoreDNS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DNS added in v0.20.0

type DNS struct {
	// CoreDNS defines the CoreDNS configuration for the cluster.
	// +kubebuilder:validation:Optional
	CoreDNS *CoreDNS `json:"coreDNS,omitempty"`
}

DNS defines the DNS configuration for the cluster.

func (*DNS) DeepCopy added in v0.20.0

func (in *DNS) DeepCopy() *DNS

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNS.

func (*DNS) DeepCopyInto added in v0.20.0

func (in *DNS) DeepCopyInto(out *DNS)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DefaultStorage

type DefaultStorage struct {
	// Name of the CSI Provider for the default storage class.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=aws-ebs;nutanix;local-path
	Provider string `json:"provider"`

	// Name of the default storage class config the specified default provider.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	StorageClassConfig string `json:"storageClassConfig"`
}

func (*DefaultStorage) DeepCopy

func (in *DefaultStorage) DeepCopy() *DefaultStorage

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DefaultStorage.

func (*DefaultStorage) DeepCopyInto

func (in *DefaultStorage) DeepCopyInto(out *DefaultStorage)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DockerAddons added in v0.10.0

type DockerAddons struct {
	GenericAddons `json:",inline"`

	// +kubebuilder:validation:Optional
	CSI *DockerCSI `json:"csi,omitempty"`
}

func (*DockerAddons) DeepCopy added in v0.10.0

func (in *DockerAddons) DeepCopy() *DockerAddons

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerAddons.

func (*DockerAddons) DeepCopyInto added in v0.10.0

func (in *DockerAddons) DeepCopyInto(out *DockerAddons)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DockerCSI added in v0.10.0

type DockerCSI struct {
	GenericCSI `json:",inline"`

	// +kubebuilder:validation:Required
	Providers DockerCSIProviders `json:"providers"`
}

func (*DockerCSI) DeepCopy added in v0.10.0

func (in *DockerCSI) DeepCopy() *DockerCSI

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerCSI.

func (*DockerCSI) DeepCopyInto added in v0.10.0

func (in *DockerCSI) DeepCopyInto(out *DockerCSI)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DockerCSIProviders added in v0.10.0

type DockerCSIProviders struct {
	// +kubebuilder:validation:Required
	LocalPathCSI CSIProvider `json:"local-path"`
}

func (*DockerCSIProviders) DeepCopy added in v0.10.0

func (in *DockerCSIProviders) DeepCopy() *DockerCSIProviders

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerCSIProviders.

func (*DockerCSIProviders) DeepCopyInto added in v0.10.0

func (in *DockerCSIProviders) DeepCopyInto(out *DockerCSIProviders)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DockerClusterConfig added in v0.8.0

type DockerClusterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Optional
	Spec DockerClusterConfigSpec `json:"spec,omitempty"`
}

DockerClusterConfig is the Schema for the dockerclusterconfigs API.

func (*DockerClusterConfig) DeepCopy added in v0.8.0

func (in *DockerClusterConfig) DeepCopy() *DockerClusterConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerClusterConfig.

func (*DockerClusterConfig) DeepCopyInto added in v0.8.0

func (in *DockerClusterConfig) DeepCopyInto(out *DockerClusterConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DockerClusterConfig) DeepCopyObject added in v0.8.0

func (in *DockerClusterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (DockerClusterConfig) VariableSchema added in v0.8.0

func (s DockerClusterConfig) VariableSchema() clusterv1.VariableSchema

type DockerClusterConfigSpec added in v0.8.0

type DockerClusterConfigSpec struct {
	// +kubebuilder:validation:Optional
	Docker *DockerSpec `json:"docker,omitempty"`

	GenericClusterConfigSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	Addons *DockerAddons `json:"addons,omitempty"`

	// +kubebuilder:validation:Optional
	ControlPlane *DockerNodeConfigSpec `json:"controlPlane,omitempty"`

	// Extra Subject Alternative Names for the API Server signing cert.
	// For the Docker provider, the following default SANs will always be added:
	// - localhost
	// - 127.0.0.1
	// - 0.0.0.0
	// - host.docker.internal
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:UniqueItems=true
	// +kubebuilder:validation:items:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	ExtraAPIServerCertSANs []string `json:"extraAPIServerCertSANs,omitempty"`
}

DockerClusterConfigSpec defines the desired state of DockerClusterConfig.

func (*DockerClusterConfigSpec) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerClusterConfigSpec.

func (*DockerClusterConfigSpec) DeepCopyInto added in v0.8.0

func (in *DockerClusterConfigSpec) DeepCopyInto(out *DockerClusterConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DockerNodeConfig added in v0.8.0

type DockerNodeConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Optional
	Spec DockerNodeConfigSpec `json:"spec,omitempty"`
}

DockerNodeConfig is the Schema for the dockernodeconfigs API.

func (*DockerNodeConfig) DeepCopy added in v0.8.0

func (in *DockerNodeConfig) DeepCopy() *DockerNodeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerNodeConfig.

func (*DockerNodeConfig) DeepCopyInto added in v0.8.0

func (in *DockerNodeConfig) DeepCopyInto(out *DockerNodeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DockerNodeConfig) DeepCopyObject added in v0.8.0

func (in *DockerNodeConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (DockerNodeConfig) VariableSchema added in v0.8.0

func (s DockerNodeConfig) VariableSchema() clusterv1.VariableSchema

type DockerNodeConfigSpec added in v0.8.0

type DockerNodeConfigSpec struct {
	// +kubebuilder:validation:Optional
	Docker *DockerNodeSpec `json:"docker,omitempty"`

	GenericNodeSpec `json:",inline"`
}

DockerNodeConfigSpec defines the desired state of DockerNodeSpec.

func (*DockerNodeConfigSpec) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerNodeConfigSpec.

func (*DockerNodeConfigSpec) DeepCopyInto added in v0.8.0

func (in *DockerNodeConfigSpec) DeepCopyInto(out *DockerNodeConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DockerNodeSpec

type DockerNodeSpec struct {
	// Custom OCI image for control plane and worker Nodes.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=`^((?:[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*|\[(?:[a-fA-F0-9:]+)\])(:[0-9]+)?/)?[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*(/[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*)*(:[\w][\w.-]{0,127})?(@[A-Za-z][A-Za-z0-9]*(?:[-_+.][A-Za-z][A-Za-z0-9]*)*[:][0-9A-Fa-f]{32,})?$`
	CustomImage *string `json:"customImage,omitempty"`
}

func (*DockerNodeSpec) DeepCopy

func (in *DockerNodeSpec) DeepCopy() *DockerNodeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerNodeSpec.

func (*DockerNodeSpec) DeepCopyInto

func (in *DockerNodeSpec) DeepCopyInto(out *DockerNodeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DockerSpec

type DockerSpec struct{}

func (*DockerSpec) DeepCopy

func (in *DockerSpec) DeepCopy() *DockerSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerSpec.

func (*DockerSpec) DeepCopyInto

func (in *DockerSpec) DeepCopyInto(out *DockerSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionAtRest added in v0.9.0

type EncryptionAtRest struct {
	// Encryption providers
	// +kubebuilder:default={{aescbc:{}}}
	// +kubebuilder:validation:MaxItems=1
	// +kubebuilder:validation:Optional
	Providers []EncryptionProviders `json:"providers,omitempty"`
}

EncryptionAtRest defines the configuration to enable encryption at REST This configuration is used by API server to encrypt data before storing it in ETCD. Currently the encryption only enabled for secrets and configmaps.

func (*EncryptionAtRest) DeepCopy added in v0.9.0

func (in *EncryptionAtRest) DeepCopy() *EncryptionAtRest

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionAtRest.

func (*EncryptionAtRest) DeepCopyInto added in v0.9.0

func (in *EncryptionAtRest) DeepCopyInto(out *EncryptionAtRest)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type EncryptionProviders added in v0.9.0

type EncryptionProviders struct {
	// +kubebuilder:validation:Optional
	AESCBC *AESConfiguration `json:"aescbc,omitempty"`
	// +kubebuilder:validation:Optional
	Secretbox *SecretboxConfiguration `json:"secretbox,omitempty"`
}

func (*EncryptionProviders) DeepCopy added in v0.9.0

func (in *EncryptionProviders) DeepCopy() *EncryptionProviders

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EncryptionProviders.

func (*EncryptionProviders) DeepCopyInto added in v0.9.0

func (in *EncryptionProviders) DeepCopyInto(out *EncryptionProviders)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Etcd

type Etcd struct {
	// Image required for overriding etcd image details.
	// +kubebuilder:validation:Optional
	Image *Image `json:"image,omitempty"`
}

func (*Etcd) DeepCopy

func (in *Etcd) DeepCopy() *Etcd

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Etcd.

func (*Etcd) DeepCopyInto

func (in *Etcd) DeepCopyInto(out *Etcd)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GenericAddons added in v0.10.0

type GenericAddons struct {
	// +kubebuilder:validation:Optional
	CNI *CNI `json:"cni,omitempty"`

	// +kubebuilder:validation:Optional
	NFD *NFD `json:"nfd,omitempty"`

	// +kubebuilder:validation:Optional
	ClusterAutoscaler *ClusterAutoscaler `json:"clusterAutoscaler,omitempty"`

	// +kubebuilder:validation:Optional
	CCM *CCM `json:"ccm,omitempty"`

	// +kubebuilder:validation:Optional
	ServiceLoadBalancer *ServiceLoadBalancer `json:"serviceLoadBalancer,omitempty"`
}

func (*GenericAddons) DeepCopy added in v0.10.0

func (in *GenericAddons) DeepCopy() *GenericAddons

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericAddons.

func (*GenericAddons) DeepCopyInto added in v0.10.0

func (in *GenericAddons) DeepCopyInto(out *GenericAddons)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GenericCSI added in v0.10.0

type GenericCSI struct {
	// +kubebuilder:validation:Required
	DefaultStorage DefaultStorage `json:"defaultStorage"`

	// Deploy the CSI snapshot controller and associated CRDs.
	// +kubebuilder:validation:Optional
	SnapshotController *SnapshotController `json:"snapshotController,omitempty"`
}

func (*GenericCSI) DeepCopy added in v0.10.0

func (in *GenericCSI) DeepCopy() *GenericCSI

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericCSI.

func (*GenericCSI) DeepCopyInto added in v0.10.0

func (in *GenericCSI) DeepCopyInto(out *GenericCSI)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GenericClusterConfig

type GenericClusterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +optional
	Spec GenericClusterConfigSpec `json:"spec,omitempty"`

	// Extra Subject Alternative Names for the API Server signing cert.
	// +kubebuilder:validation:UniqueItems=true
	// +kubebuilder:validation:items:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	// +optional
	ExtraAPIServerCertSANs []string `json:"extraAPIServerCertSANs,omitempty"`
}

GenericClusterConfig is the Schema for the genericclusterconfigs API.

func (*GenericClusterConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericClusterConfig.

func (*GenericClusterConfig) DeepCopyInto

func (in *GenericClusterConfig) DeepCopyInto(out *GenericClusterConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*GenericClusterConfig) DeepCopyObject added in v0.9.0

func (in *GenericClusterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (GenericClusterConfig) VariableSchema

func (s GenericClusterConfig) VariableSchema() clusterv1.VariableSchema

type GenericClusterConfigSpec added in v0.8.0

type GenericClusterConfigSpec struct {
	// Sets the Kubernetes image repository used for the KubeadmControlPlane.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=`^((?:[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*|\[(?:[a-fA-F0-9:]+)\])(:[0-9]+)?/)?[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*(/[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*)*$`
	KubernetesImageRepository *string `json:"kubernetesImageRepository,omitempty"`

	// +kubebuilder:validation:Optional
	Etcd *Etcd `json:"etcd,omitempty"`

	// +kubebuilder:validation:Optional
	Proxy *HTTPProxy `json:"proxy,omitempty"`

	// +kubebuilder:validation:Optional
	ImageRegistries []ImageRegistry `json:"imageRegistries,omitempty"`

	// +kubebuilder:validation:Optional
	GlobalImageRegistryMirror *GlobalImageRegistryMirror `json:"globalImageRegistryMirror,omitempty"`

	// +kubebuilder:validation:Optional
	Users []User `json:"users,omitempty"`

	// +kubebuilder:validation:Optional
	EncryptionAtRest *EncryptionAtRest `json:"encryptionAtRest,omitempty"`

	// +kubebuilder:validation:Optional
	DNS *DNS `json:"dns,omitempty"`
}

GenericClusterConfigSpec defines the desired state of GenericClusterConfig.

func (*GenericClusterConfigSpec) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericClusterConfigSpec.

func (*GenericClusterConfigSpec) DeepCopyInto added in v0.8.0

func (in *GenericClusterConfigSpec) DeepCopyInto(out *GenericClusterConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GenericNodeSpec added in v0.16.0

type GenericNodeSpec struct {
	// Taints specifies the taints the Node API object should be registered with.
	// +kubebuilder:validation:Optional
	Taints []Taint `json:"taints,omitempty"`
}

func (*GenericNodeSpec) DeepCopy added in v0.16.0

func (in *GenericNodeSpec) DeepCopy() *GenericNodeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericNodeSpec.

func (*GenericNodeSpec) DeepCopyInto added in v0.16.0

func (in *GenericNodeSpec) DeepCopyInto(out *GenericNodeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type GlobalImageRegistryMirror

type GlobalImageRegistryMirror struct {
	// Registry mirror URL.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Format=`uri`
	// +kubebuilder:validation:Pattern=`^https?://`
	URL string `json:"url"`

	// Credentials and CA certificate for the image registry mirror
	// +kubebuilder:validation:Optional
	Credentials *RegistryCredentials `json:"credentials,omitempty"`
}

GlobalImageRegistryMirror sets default mirror configuration for all the image registries.

func (*GlobalImageRegistryMirror) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalImageRegistryMirror.

func (*GlobalImageRegistryMirror) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type HTTPProxy

type HTTPProxy struct {
	// HTTP proxy value.
	// +kubebuilder:validation:Optional
	HTTP string `json:"http,omitempty"`

	// HTTPS proxy value.
	// +kubebuilder:validation:Optional
	HTTPS string `json:"https,omitempty"`

	// AdditionalNo Proxy list that will be added to the automatically calculated
	// values that will apply no_proxy configuration for cluster internal network.
	// Default values: localhost,127.0.0.1,<POD_NETWORK>,<SERVICE_NETWORK>,kubernetes
	//   ,kubernetes.default,.svc,.svc.<SERVICE_DOMAIN>
	// +kubebuilder:validation:Optional
	AdditionalNo []string `json:"additionalNo,omitempty"`
}

HTTPProxy required for providing proxy configuration.

func (*HTTPProxy) DeepCopy

func (in *HTTPProxy) DeepCopy() *HTTPProxy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPProxy.

func (*HTTPProxy) DeepCopyInto

func (in *HTTPProxy) DeepCopyInto(out *HTTPProxy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*HTTPProxy) GenerateNoProxy added in v0.9.0

func (p *HTTPProxy) GenerateNoProxy(cluster *clusterv1.Cluster) []string

GenerateNoProxy creates default NO_PROXY values that should be applied on cluster in any environment and are preventing the use of proxy for cluster internal networking. It appends additional values from HTTPProxy.AdditionalNo.

type Image

type Image struct {
	// Repository is used to override the image repository to pull from.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=`^((?:[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*|\[(?:[a-fA-F0-9:]+)\])(:[0-9]+)?/)?[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*(/[a-z0-9]+((?:[._]|__|[-]+)[a-z0-9]+)*)*$`
	Repository string `json:"repository,omitempty"`

	// Tag is used to override the default image tag.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Pattern=`^[\w][\w.-]{0,127}$`
	Tag string `json:"tag,omitempty"`
}

func (*Image) DeepCopy

func (in *Image) DeepCopy() *Image

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.

func (*Image) DeepCopyInto

func (in *Image) DeepCopyInto(out *Image)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ImageRegistry

type ImageRegistry struct {
	// Registry URL.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Format=`uri`
	// +kubebuilder:validation:Pattern=`^https?://`
	URL string `json:"url"`

	// Credentials and CA certificate for the image registry
	// +kubebuilder:validation:Optional
	Credentials *RegistryCredentials `json:"credentials,omitempty"`
}

func (*ImageRegistry) DeepCopy

func (in *ImageRegistry) DeepCopy() *ImageRegistry

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ImageRegistry.

func (*ImageRegistry) DeepCopyInto

func (in *ImageRegistry) DeepCopyInto(out *ImageRegistry)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type LocalObjectReference added in v0.9.0

type LocalObjectReference struct {
	// Name of the referent.
	// More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
}

LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace.

func (*LocalObjectReference) DeepCopy added in v0.9.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new LocalObjectReference.

func (*LocalObjectReference) DeepCopyInto added in v0.9.0

func (in *LocalObjectReference) DeepCopyInto(out *LocalObjectReference)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NFD

type NFD struct {
	// Addon strategy used to deploy Node Feature Discovery (NFD) to the workload cluster.
	// +kubebuilder:default=HelmAddon
	Strategy *AddonStrategy `json:"strategy,omitempty"`
}

NFD tells us to enable or disable the node feature discovery addon.

func (*NFD) DeepCopy

func (in *NFD) DeepCopy() *NFD

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFD.

func (*NFD) DeepCopyInto

func (in *NFD) DeepCopyInto(out *NFD)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NutanixAddons added in v0.10.0

type NutanixAddons struct {
	GenericAddons `json:",inline"`

	// +kubebuilder:validation:Optional
	CSI *NutanixCSI `json:"csi,omitempty"`
}

func (*NutanixAddons) DeepCopy added in v0.10.0

func (in *NutanixAddons) DeepCopy() *NutanixAddons

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixAddons.

func (*NutanixAddons) DeepCopyInto added in v0.10.0

func (in *NutanixAddons) DeepCopyInto(out *NutanixAddons)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NutanixCSI added in v0.10.0

type NutanixCSI struct {
	GenericCSI `json:",inline"`

	// +kubebuilder:validation:Required
	Providers NutanixCSIProviders `json:"providers"`
}

func (*NutanixCSI) DeepCopy added in v0.10.0

func (in *NutanixCSI) DeepCopy() *NutanixCSI

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixCSI.

func (*NutanixCSI) DeepCopyInto added in v0.10.0

func (in *NutanixCSI) DeepCopyInto(out *NutanixCSI)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NutanixCSIProviders added in v0.10.0

type NutanixCSIProviders struct {
	// +kubebuilder:validation:Required
	NutanixCSI CSIProvider `json:"nutanix"`
}

func (*NutanixCSIProviders) DeepCopy added in v0.10.0

func (in *NutanixCSIProviders) DeepCopy() *NutanixCSIProviders

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixCSIProviders.

func (*NutanixCSIProviders) DeepCopyInto added in v0.10.0

func (in *NutanixCSIProviders) DeepCopyInto(out *NutanixCSIProviders)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NutanixClusterConfig added in v0.8.0

type NutanixClusterConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Optional
	Spec NutanixClusterConfigSpec `json:"spec,omitempty"`
}

NutanixClusterConfig is the Schema for the nutanixclusterconfigs API.

func (*NutanixClusterConfig) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterConfig.

func (*NutanixClusterConfig) DeepCopyInto added in v0.8.0

func (in *NutanixClusterConfig) DeepCopyInto(out *NutanixClusterConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NutanixClusterConfig) DeepCopyObject added in v0.8.0

func (in *NutanixClusterConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (NutanixClusterConfig) VariableSchema added in v0.8.0

func (s NutanixClusterConfig) VariableSchema() clusterv1.VariableSchema

type NutanixClusterConfigSpec added in v0.8.0

type NutanixClusterConfigSpec struct {
	// +kubebuilder:validation:Optional
	Nutanix *NutanixSpec `json:"nutanix,omitempty"`

	GenericClusterConfigSpec `json:",inline"`

	// +kubebuilder:validation:Optional
	Addons *NutanixAddons `json:"addons,omitempty"`

	// +kubebuilder:validation:Optional
	ControlPlane *NutanixNodeConfigSpec `json:"controlPlane,omitempty"`

	// Subject Alternative Names for the API Server signing cert.
	// For the Nutanix provider, the following default SANs will always be added:
	// - localhost
	// - 127.0.0.1
	// - 0.0.0.0
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:UniqueItems=true
	// +kubebuilder:validation:items:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$`
	ExtraAPIServerCertSANs []string `json:"extraAPIServerCertSANs,omitempty"`
}

NutanixClusterConfigSpec defines the desired state of NutanixClusterConfig.

func (*NutanixClusterConfigSpec) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixClusterConfigSpec.

func (*NutanixClusterConfigSpec) DeepCopyInto added in v0.8.0

func (in *NutanixClusterConfigSpec) DeepCopyInto(out *NutanixClusterConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NutanixMachineDetails

type NutanixMachineDetails struct {
	// vcpusPerSocket is the number of vCPUs per socket of the VM
	// +kubebuilder:validation:Required
	VCPUsPerSocket int32 `json:"vcpusPerSocket"`

	// vcpuSockets is the number of vCPU sockets of the VM
	// +kubebuilder:validation:Required
	VCPUSockets int32 `json:"vcpuSockets"`

	// memorySize is the memory size (in Quantity format) of the VM
	// +kubebuilder:validation:Required
	MemorySize resource.Quantity `json:"memorySize"`

	// image identifies the image uploaded to Prism Central (PC). The identifier
	// (uuid or name) can be obtained from the console or API.
	// +kubebuilder:validation:Required
	Image capxv1.NutanixResourceIdentifier `json:"image"`

	// cluster identifies the Prism Element in which the machine will be created.
	// The identifier (uuid or name) can be obtained from the console or API.
	// +kubebuilder:validation:Required
	Cluster capxv1.NutanixResourceIdentifier `json:"cluster"`

	// subnet identifies the network subnet to use for the machine.
	// The identifier (uuid or name) can be obtained from the console or API.
	// +kubebuilder:validation:Required
	Subnets []capxv1.NutanixResourceIdentifier `json:"subnets"`

	// List of categories that need to be added to the machines. Categories must already
	// exist in Prism Central. One category key can have more than one value.
	// +kubebuilder:validation:Optional
	AdditionalCategories []capxv1.NutanixCategoryIdentifier `json:"additionalCategories,omitempty"`

	// Defines the boot type of the virtual machine. Only supports UEFI and Legacy
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum:=legacy;uefi
	BootType capxv1.NutanixBootType `json:"bootType"`

	// systemDiskSize is size (in Quantity format) of the system disk of the VM
	// The minimum systemDiskSize is 20Gi bytes
	// +kubebuilder:validation:Required
	SystemDiskSize resource.Quantity `json:"systemDiskSize"`

	// add the virtual machines to the project defined in Prism Central.
	// The project must already be present in the Prism Central.
	// +kubebuilder:validation:Optional
	Project *capxv1.NutanixResourceIdentifier `json:"project,omitempty"`

	// List of GPU devices that need to be added to the machines.
	// +kubebuilder:validation:Optional
	GPUs []capxv1.NutanixGPU `json:"gpus,omitempty"`
}

func (*NutanixMachineDetails) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixMachineDetails.

func (*NutanixMachineDetails) DeepCopyInto

func (in *NutanixMachineDetails) DeepCopyInto(out *NutanixMachineDetails)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NutanixNodeConfig added in v0.8.0

type NutanixNodeConfig struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +kubebuilder:validation:Optional
	Spec NutanixNodeConfigSpec `json:"spec,omitempty"`
}

NutanixNodeConfig is the Schema for the nutanixnodeconfigs API.

func (*NutanixNodeConfig) DeepCopy added in v0.8.0

func (in *NutanixNodeConfig) DeepCopy() *NutanixNodeConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixNodeConfig.

func (*NutanixNodeConfig) DeepCopyInto added in v0.8.0

func (in *NutanixNodeConfig) DeepCopyInto(out *NutanixNodeConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*NutanixNodeConfig) DeepCopyObject added in v0.8.0

func (in *NutanixNodeConfig) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (NutanixNodeConfig) VariableSchema added in v0.8.0

func (s NutanixNodeConfig) VariableSchema() clusterv1.VariableSchema

type NutanixNodeConfigSpec added in v0.8.0

type NutanixNodeConfigSpec struct {
	// +kubebuilder:validation:Optional
	Nutanix *NutanixNodeSpec `json:"nutanix,omitempty"`

	GenericNodeSpec `json:",inline"`
}

NutanixNodeSpec defines the desired state of NutanixNodeSpec.

func (*NutanixNodeConfigSpec) DeepCopy added in v0.8.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixNodeConfigSpec.

func (*NutanixNodeConfigSpec) DeepCopyInto added in v0.8.0

func (in *NutanixNodeConfigSpec) DeepCopyInto(out *NutanixNodeConfigSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NutanixNodeSpec

type NutanixNodeSpec struct {
	MachineDetails NutanixMachineDetails `json:"machineDetails"`
}

func (*NutanixNodeSpec) DeepCopy

func (in *NutanixNodeSpec) DeepCopy() *NutanixNodeSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixNodeSpec.

func (*NutanixNodeSpec) DeepCopyInto

func (in *NutanixNodeSpec) DeepCopyInto(out *NutanixNodeSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NutanixPrismCentralEndpointCredentials added in v0.9.0

type NutanixPrismCentralEndpointCredentials struct {
	// A reference to the Secret containing the Prism Central credentials.
	// +kubebuilder:validation:Required
	SecretRef LocalObjectReference `json:"secretRef"`
}

func (*NutanixPrismCentralEndpointCredentials) DeepCopy added in v0.9.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixPrismCentralEndpointCredentials.

func (*NutanixPrismCentralEndpointCredentials) DeepCopyInto added in v0.9.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type NutanixPrismCentralEndpointSpec

type NutanixPrismCentralEndpointSpec struct {
	// The URL of Nutanix Prism Central, can be DNS name or an IP address.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Format=`uri`
	// +kubebuilder:validation:Pattern=`^https://`
	URL string `json:"url"`

	// use insecure connection to Prism Central endpoint
	// +kubebuilder:validation:Optional
	Insecure bool `json:"insecure"`

	// A base64 PEM encoded x509 cert for the RootCA that was used to create
	// the certificate for a Prism Central that uses certificates that were issued by a non-publicly trusted RootCA.
	// The trust bundle is added to the cert pool used to authenticate the TLS connection to the Prism Central.
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Format=`byte`
	AdditionalTrustBundle string `json:"additionalTrustBundle,omitempty"`

	// A reference to the Secret for credential information for the target Prism Central instance.
	// +kubebuilder:validation:Required
	Credentials NutanixPrismCentralEndpointCredentials `json:"credentials"`
}

func (*NutanixPrismCentralEndpointSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixPrismCentralEndpointSpec.

func (*NutanixPrismCentralEndpointSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (NutanixPrismCentralEndpointSpec) ParseURL

type NutanixSpec

type NutanixSpec struct {
	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// host can be either DNS name or ip address
	// +kubebuilder:validation:Required
	ControlPlaneEndpoint ControlPlaneEndpointSpec `json:"controlPlaneEndpoint"`

	// Nutanix Prism Central endpoint configuration.
	// +kubebuilder:validation:Required
	PrismCentralEndpoint NutanixPrismCentralEndpointSpec `json:"prismCentralEndpoint"`
}

NutanixSpec defines the desired state of NutanixCluster.

func (*NutanixSpec) DeepCopy

func (in *NutanixSpec) DeepCopy() *NutanixSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixSpec.

func (*NutanixSpec) DeepCopyInto

func (in *NutanixSpec) DeepCopyInto(out *NutanixSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ObjectMeta

type ObjectMeta struct {
	// Map of string keys and values that can be used to organize and categorize
	// (scope and select) objects. May match selectors of replication controllers
	// and services.
	// More info: http://kubernetes.io/docs/user-guide/labels
	// +kubebuilder:validation:Optional
	Labels map[string]string `json:"labels,omitempty"`

	// Annotations is an unstructured key value map stored with a resource that may be
	// set by external tools to store and retrieve arbitrary metadata. They are not
	// queryable and should be preserved when modifying objects.
	// More info: http://kubernetes.io/docs/user-guide/annotations
	// +kubebuilder:validation:Optional
	Annotations map[string]string `json:"annotations,omitempty"`
}

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. This is a copy of customizable fields from metav1.ObjectMeta.

For more details on why this is included instead of using metav1.ObjectMeta directly, see https://github.com/kubernetes-sigs/cluster-api/blob/v1.3.3/api/v1beta1/common_types.go#L175-L195.

func (*ObjectMeta) DeepCopy

func (in *ObjectMeta) DeepCopy() *ObjectMeta

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMeta.

func (*ObjectMeta) DeepCopyInto

func (in *ObjectMeta) DeepCopyInto(out *ObjectMeta)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Region

type Region string

type RegistryCredentials

type RegistryCredentials struct {
	// A reference to the Secret containing the registry credentials and optional CA certificate
	// using the keys `username`, `password` and `ca.crt`.
	// This credentials Secret is not required for some registries, e.g. ECR.
	// +kubebuilder:validation:Optional
	SecretRef *LocalObjectReference `json:"secretRef,omitempty"`
}

func (*RegistryCredentials) DeepCopy

func (in *RegistryCredentials) DeepCopy() *RegistryCredentials

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryCredentials.

func (*RegistryCredentials) DeepCopyInto

func (in *RegistryCredentials) DeepCopyInto(out *RegistryCredentials)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecretboxConfiguration added in v0.9.0

type SecretboxConfiguration struct{}

func (*SecretboxConfiguration) DeepCopy added in v0.9.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecretboxConfiguration.

func (*SecretboxConfiguration) DeepCopyInto added in v0.9.0

func (in *SecretboxConfiguration) DeepCopyInto(out *SecretboxConfiguration)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SecurityGroup

type SecurityGroup struct {
	// ID is the id of the security group
	// +kubebuilder:validation:Optional
	ID string `json:"id,omitempty"`
}

func (*SecurityGroup) DeepCopy

func (in *SecurityGroup) DeepCopy() *SecurityGroup

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SecurityGroup.

func (*SecurityGroup) DeepCopyInto

func (in *SecurityGroup) DeepCopyInto(out *SecurityGroup)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceLoadBalancer added in v0.9.0

type ServiceLoadBalancer struct {
	// The LoadBalancer-type Service provider to deploy. Not required in infrastructures where
	// the CCM acts as the provider.
	// +kubebuilder:validation:Enum=MetalLB
	// +kubebuilder:validation:Required
	Provider string `json:"provider"`

	// Configuration for the chosen ServiceLoadBalancer provider.
	// +kubebuilder:validation:Optional
	Configuration *ServiceLoadBalancerConfiguration `json:"configuration,omitempty"`
}

func (*ServiceLoadBalancer) DeepCopy added in v0.9.0

func (in *ServiceLoadBalancer) DeepCopy() *ServiceLoadBalancer

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceLoadBalancer.

func (*ServiceLoadBalancer) DeepCopyInto added in v0.9.0

func (in *ServiceLoadBalancer) DeepCopyInto(out *ServiceLoadBalancer)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ServiceLoadBalancerConfiguration added in v0.12.0

type ServiceLoadBalancerConfiguration struct {
	// AddressRanges is a list of IPv4 address ranges the
	// provider uses to choose an address for a load balancer.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinItems=1
	AddressRanges []AddressRange `json:"addressRanges"`
}

func (*ServiceLoadBalancerConfiguration) DeepCopy added in v0.12.0

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceLoadBalancerConfiguration.

func (*ServiceLoadBalancerConfiguration) DeepCopyInto added in v0.12.0

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type SnapshotController added in v0.11.0

type SnapshotController struct {
	// Addon strategy used to deploy the snapshot controller to the workload cluster.
	// +kubebuilder:default=HelmAddon
	Strategy *AddonStrategy `json:"strategy,omitempty"`
}

func (*SnapshotController) DeepCopy added in v0.11.0

func (in *SnapshotController) DeepCopy() *SnapshotController

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SnapshotController.

func (*SnapshotController) DeepCopyInto added in v0.11.0

func (in *SnapshotController) DeepCopyInto(out *SnapshotController)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StorageClassConfig

type StorageClassConfig struct {
	// Parameters passed into the storage class object.
	// +kubebuilder:validation:Optional
	Parameters map[string]string `json:"parameters,omitempty"`

	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Enum=Delete;Retain;Recycle
	// +kubebuilder:default=Delete
	ReclaimPolicy *corev1.PersistentVolumeReclaimPolicy `json:"reclaimPolicy,omitempty"`

	// +kubebuilder:validation:Enum=Immediate;WaitForFirstConsumer
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=WaitForFirstConsumer
	VolumeBindingMode *storagev1.VolumeBindingMode `json:"volumeBindingMode,omitempty"`

	// If the storage class should allow volume expanding
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=false
	AllowExpansion bool `json:"allowExpansion,omitempty"`
}

func (*StorageClassConfig) DeepCopy

func (in *StorageClassConfig) DeepCopy() *StorageClassConfig

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new StorageClassConfig.

func (*StorageClassConfig) DeepCopyInto

func (in *StorageClassConfig) DeepCopyInto(out *StorageClassConfig)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type StorageProvisioner

type StorageProvisioner string

FIXME: Remove StorageProvisioner from the API. Users do not provide this value; we derive it from the CSI provider.

const (
	AWSEBSProvisioner    StorageProvisioner = "ebs.csi.aws.com"
	NutanixProvisioner   StorageProvisioner = "csi.nutanix.com"
	LocalPathProvisioner StorageProvisioner = "rancher.io/local-path"
)

type SubnetSpec

type SubnetSpec struct {
	// Existing Subnet ID to use for the cluster.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	ID string `json:"id"`
}

SubnetSpec configures an AWS Subnet.

func (*SubnetSpec) DeepCopy

func (in *SubnetSpec) DeepCopy() *SubnetSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubnetSpec.

func (*SubnetSpec) DeepCopyInto

func (in *SubnetSpec) DeepCopyInto(out *SubnetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Subnets

type Subnets []SubnetSpec

func (Subnets) DeepCopy

func (in Subnets) DeepCopy() Subnets

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnets.

func (Subnets) DeepCopyInto

func (in Subnets) DeepCopyInto(out *Subnets)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Taint added in v0.16.0

type Taint struct {
	// The taint key to be applied to a node.
	// +kubebuilder:validation:Required
	Key string `json:"key"`

	// The taint value corresponding to the taint key.
	// +kubebuilder:validation:Optional
	Value string `json:"value,omitempty"`

	// The effect of the taint on pods that do not tolerate the taint.
	// Valid effects are NoSchedule, PreferNoSchedule and NoExecute.
	// +kubebuilder:validation:Required
	// +kubebuilder:default=NoSchedule
	// +kubebuilder:validation:Enum:=NoSchedule;PreferNoSchedule;NoExecute
	Effect TaintEffect `json:"effect"`
}

The node this Taint is attached to has the "effect" on any pod that does not tolerate the Taint.

func (*Taint) DeepCopy added in v0.16.0

func (in *Taint) DeepCopy() *Taint

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Taint.

func (*Taint) DeepCopyInto added in v0.16.0

func (in *Taint) DeepCopyInto(out *Taint)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TaintEffect added in v0.16.0

type TaintEffect string
const (
	// Do not allow new pods to schedule onto the node unless they tolerate the taint,
	// but allow all pods submitted to Kubelet without going through the scheduler
	// to start, and allow all already-running pods to continue running.
	// Enforced by the scheduler.
	TaintEffectNoSchedule TaintEffect = "NoSchedule"

	// Like TaintEffectNoSchedule, but the scheduler tries not to schedule
	// new pods onto the node, rather than prohibiting new pods from scheduling
	// onto the node entirely. Enforced by the scheduler.
	TaintEffectPreferNoSchedule TaintEffect = "PreferNoSchedule"

	// Evict any already-running pods that do not tolerate the taint.
	// Currently enforced by NodeController.
	TaintEffectNoExecute TaintEffect = "NoExecute"
)

type User

type User struct {
	// Name specifies the user name.
	// +kubebuilder:validation:Required
	Name string `json:"name"`

	// HashedPassword is a hashed password for the user, formatted as described
	// by the crypt(5) man page. See your distribution's documentation for
	// instructions to create a hashed password.
	// An empty string is not marshalled, because it is not a valid value.
	// +kubebuilder:validation:Optional
	HashedPassword string `json:"hashedPassword,omitempty"`

	// SSHAuthorizedKeys is a list of public SSH keys to write to the
	// machine. Use the corresponding private SSH keys to authenticate. See SSH
	// documentation for instructions to create a key pair.
	// +kubebuilder:validation:Optional
	SSHAuthorizedKeys []string `json:"sshAuthorizedKeys,omitempty"`

	// Sudo is a sudo user specification, formatted as described in the sudo
	// documentation.
	// An empty string is not marshalled, because it is not a valid value.
	// +kubebuilder:validation:Optional
	Sudo string `json:"sudo,omitempty"`
}

User defines the input for a generated user in cloud-init.

func (*User) DeepCopy

func (in *User) DeepCopy() *User

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type VPC

type VPC struct {
	// Existing VPC ID to use for the cluster.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	ID string `json:"id"`
}

func (*VPC) DeepCopy

func (in *VPC) DeepCopy() *VPC

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPC.

func (*VPC) DeepCopyInto

func (in *VPC) DeepCopyInto(out *VPC)

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