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
- Variables
- type AESConfiguration
- type AMILookup
- type AMISpec
- type AWSAddons
- type AWSCSI
- type AWSCSIProviders
- type AWSClusterConfig
- type AWSClusterConfigSpec
- type AWSControlPlaneNodeSpec
- type AWSControlPlaneSpec
- type AWSGenericNodeSpec
- type AWSLoadBalancerSpec
- type AWSNetwork
- type AWSSpec
- type AWSVolume
- type AWSVolumes
- type AWSWorkerNodeConfig
- type AWSWorkerNodeConfigSpec
- type AWSWorkerNodeSpec
- type AdditionalSecurityGroup
- type AddonConfig
- type AddonStrategy
- type AddonValues
- type AddressRange
- type AutoRenewCertificatesSpec
- type CCM
- type CCMCredentials
- type CNI
- type CSICredentials
- type CSIProvider
- type ClusterAutoscaler
- type ControlPlaneEndpointSpec
- type ControlPlaneVirtualIPConfiguration
- type ControlPlaneVirtualIPSpec
- type CoreDNS
- type DNS
- type DefaultStorage
- type DockerAddons
- type DockerCOSI
- type DockerCSI
- type DockerCSIProviders
- type DockerClusterConfig
- type DockerClusterConfigSpec
- type DockerControlPlaneSpec
- type DockerNodeSpec
- type DockerSpec
- type DockerWorkerNodeConfig
- type DockerWorkerNodeConfigSpec
- type EKSClusterConfig
- type EKSClusterConfigSpec
- type EKSNodeSpec
- type EKSSpec
- type EKSWorkerNodeConfig
- type EKSWorkerNodeConfigSpec
- type EncryptionAtRest
- type EncryptionProviders
- type Etcd
- type GenericAddons
- type GenericCOSI
- type GenericCSI
- type GenericClusterConfig
- type GenericClusterConfigSpec
- type GenericControlPlaneSpec
- type GenericNodeSpec
- type GlobalImageRegistryMirror
- type HTTPProxy
- type Image
- type ImageRegistry
- type KubeProxy
- type KubeProxyMode
- type KubeadmClusterConfig
- type KubeadmClusterConfigSpec
- type KubeadmNodeSpec
- type LocalObjectReference
- type NFD
- type NTP
- type NodeRegistrationOptions
- type NutanixAddons
- type NutanixCOSI
- type NutanixCSI
- type NutanixCSIProviders
- type NutanixClusterConfig
- type NutanixClusterConfigSpec
- type NutanixControlPlaneNodeSpec
- type NutanixControlPlaneSpec
- type NutanixMachineDetails
- type NutanixPrismCentralEndpointCredentials
- type NutanixPrismCentralEndpointSpec
- func (in *NutanixPrismCentralEndpointSpec) DeepCopy() *NutanixPrismCentralEndpointSpec
- func (in *NutanixPrismCentralEndpointSpec) DeepCopyInto(out *NutanixPrismCentralEndpointSpec)
- func (s NutanixPrismCentralEndpointSpec) ParseIP() (netip.Addr, error)
- func (s NutanixPrismCentralEndpointSpec) ParseURL() (string, uint16, error)
- type NutanixSpec
- type NutanixWorkerNodeConfig
- type NutanixWorkerNodeConfigSpec
- type NutanixWorkerNodeSpec
- type ObjectMeta
- type PlacementGroup
- type Region
- type RegistryAddon
- type RegistryCredentials
- type SecretboxConfiguration
- type SecurityGroup
- type ServiceLoadBalancer
- type ServiceLoadBalancerConfiguration
- type SnapshotController
- type StorageClassConfig
- type StorageProvisioner
- type SubnetSpec
- type Subnets
- type Taint
- type TaintEffect
- type User
- type VPC
- type ValuesReference
Constants ¶
const ( CNIProviderCalico = "Calico" CNIProviderCilium = "Cilium" CSIProviderAWSEBS = "aws-ebs" CSIProviderNutanix = "nutanix" CSIProviderLocalPath = "local-path" VirtualIPProviderKubeVIP = "KubeVIP" ServiceLoadBalancerProviderMetalLB = "MetalLB" RegistryProviderCNCFDistribution = "CNCF Distribution" 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.
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.
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" // AWSVariableName is the EKS config patch variable name. EKSVariableName = "eks" // CNIVariableName is the CNI external patch variable name. CNIVariableName = "cni" // NFDVariableName is the NFD external patch variable name. NFDVariableName = "nfd" // COSIVariableName is the COSI external patch variable name. COSIVariableName = "cosi" // ClusterAutoscalerVariableName is the cluster-autoscaler external patch variable name. ClusterAutoscalerVariableName = "clusterAutoscaler" // ServiceLoadBalancerVariableName is the Service LoadBalancer config patch variable name. ServiceLoadBalancerVariableName = "serviceLoadBalancer" // RegistryAddonVariableName is the OCI registry config patch variable name. RegistryAddonVariableName = "registry" // 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" // SkipAutoEnablingWorkloadClusterRegistry is the key of the annotation on the Cluster // used to skip enabling the registry addon on workload cluster. SkipAutoEnablingWorkloadClusterRegistry = APIGroup + "/skip-auto-enabling-workload-cluster-registry" // SkipSynchronizingWorkloadClusterRegistry is the key of the annotation on the Cluster // used to skip deploying the components that will sync OCI artifacts from the registry // running on the management cluster to registry running on the workload cluster. SkipSynchronizingWorkloadClusterRegistry = APIGroup + "/skip-synchronizing-workload-cluster-registry" // PreflightChecksSkipAnnotationKey is the key of the annotation on the Cluster used to skip preflight checks. PreflightChecksSkipAnnotationKey = "preflight.cluster.caren.nutanix.com/skip" // PreflightChecksSkipAllAnnotationValue is the value used in the cluster's annotations to indicate // that all checks are skipped. PreflightChecksSkipAllAnnotationValue = "all" )
const APIGroup = "caren.nutanix.com"
const (
DefaultPrismCentralPort = 9440
)
Variables ¶
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", } )
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: APIGroup, Version: "v1alpha1"} // 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}}-*` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 Format string `json:"format,omitempty"` // The AWS Organization ID to use for image lookup. // +kubebuilder:validation:Optional // +kubebuilder:validation:Format=`^o-[0-9a-z]{10,32}$` // +kubebuilder:validation:MinLength=12 // +kubebuilder:validation:MaxLength=34 Org string `json:"org,omitempty"` // The name of the base os for image lookup // +kubebuilder:validation:Optional // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=32 BaseOS string `json:"baseOS,omitempty"` }
func (*AMILookup) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AMILookup.
func (*AMILookup) DeepCopyInto ¶
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 // +kubebuilder:validation:Format=`^ami-[0-9a-f]{8}(?:[0-9a-f]{9})?$` // +kubebuilder:validation:MinLength=1 ID string `json:"id,omitempty"` // Lookup is the lookup arguments for the AMI. // +kubebuilder:validation:Optional Lookup *AMILookup `json:"lookup,omitempty"` }
func (*AMISpec) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AMISpec.
func (*AMISpec) DeepCopyInto ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSAddons.
func (*AWSAddons) DeepCopyInto ¶ added in v0.10.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSCSI.
func (*AWSCSI) DeepCopyInto ¶ added in v0.10.0
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"` KubeadmClusterConfigSpec `json:",inline"` GenericClusterConfigSpec `json:",inline"` // KubeProxy defines the configuration for kube-proxy. // +kubebuilder:validation:Optional KubeProxy *KubeProxy `json:"kubeProxy,omitempty"` // +kubebuilder:validation:Optional Addons *AWSAddons `json:"addons,omitempty"` // +kubebuilder:validation:Optional ControlPlane *AWSControlPlaneSpec `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])?)*$` // +kubebuilder:validation:MaxItems=100 // +kubebuilder:validation:items:MaxLength=253 ExtraAPIServerCertSANs []string `json:"extraAPIServerCertSANs,omitempty"` }
AWSClusterConfigSpec defines the desired state of ClusterConfig.
func (*AWSClusterConfigSpec) DeepCopy ¶ added in v0.8.0
func (in *AWSClusterConfigSpec) DeepCopy() *AWSClusterConfigSpec
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 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 // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 IAMInstanceProfile string `json:"iamInstanceProfile,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:default=m5.xlarge // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=32 InstanceType string `json:"instanceType,omitempty"` AWSGenericNodeSpec `json:",inline"` }
func (*AWSControlPlaneNodeSpec) DeepCopy ¶ added in v0.8.0
func (in *AWSControlPlaneNodeSpec) DeepCopy() *AWSControlPlaneNodeSpec
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 AWSControlPlaneSpec ¶ added in v0.24.0
type AWSControlPlaneSpec struct { // +kubebuilder:validation:Optional AWS *AWSControlPlaneNodeSpec `json:"aws,omitempty"` GenericControlPlaneSpec `json:",inline"` KubeadmNodeSpec `json:",inline"` GenericNodeSpec `json:",inline"` }
AWSControlPlaneSpec defines the desired state of the control plane for an AWS cluster.
func (*AWSControlPlaneSpec) DeepCopy ¶ added in v0.24.0
func (in *AWSControlPlaneSpec) DeepCopy() *AWSControlPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSControlPlaneSpec.
func (*AWSControlPlaneSpec) DeepCopyInto ¶ added in v0.24.0
func (in *AWSControlPlaneSpec) DeepCopyInto(out *AWSControlPlaneSpec)
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 { // AdditionalTags is an optional set of tags to add to an instance, // in addition to the ones added by default by the AWS provider. // +optional AdditionalTags capav1.Tags `json:"additionalTags,omitempty"` // 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"` // PlacementGroup specifies the placement group in which to launch the instance. // +kubebuilder:validation:Optional PlacementGroup *PlacementGroup `json:"placementGroup,omitempty"` // Configuration options for the root and additional storage volume. // +kubebuilder:validation:Optional Volumes *AWSVolumes `json:"volumes,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 { // AdditionalTags is an optional set of tags to add to an instance, // in addition to the ones added by default by the AWS provider. // +optional AdditionalTags capav1.Tags `json:"additionalTags,omitempty"` // IdentityRef is a reference to an identity to be used when reconciling the managed control plane. // If no identity is specified, the default identity for this controller will be used. // +kubebuilder:validation:Optional IdentityRef *capav1.AWSIdentityReference `json:"identityRef,omitempty"` // 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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSSpec.
func (*AWSSpec) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSVolume ¶ added in v0.35.1
type AWSVolume struct { // Device name // +kubebuilder:validation:Optional DeviceName string `json:"deviceName,omitempty"` // Size specifies size (in Gi) of the storage device. // Must be greater than the image snapshot size or 8 (whichever is greater). // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=8 Size int64 `json:"size,omitempty"` // Type is the type of the volume (e.g. gp2, io1, etc...). // +kubebuilder:validation:Optional Type capav1.VolumeType `json:"type,omitempty"` // IOPS is the number of IOPS requested for the disk. Not applicable to all types. // +kubebuilder:validation:Optional IOPS int64 `json:"iops,omitempty"` // Throughput to provision in MiB/s supported for the volume type. Not applicable to all types. // +kubebuilder:validation:Optional Throughput int64 `json:"throughput,omitempty"` // Encrypted is whether the volume should be encrypted or not. // +kubebuilder:validation:Optional Encrypted bool `json:"encrypted,omitempty"` // EncryptionKey is the KMS key to use to encrypt the volume. Can be either a KMS key ID or ARN. // If Encrypted is set and this is omitted, the default AWS key will be used. // The key must already exist and be accessible by the controller. // +kubebuilder:validation:Optional EncryptionKey string `json:"encryptionKey,omitempty"` }
func (*AWSVolume) DeepCopy ¶ added in v0.35.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSVolume.
func (*AWSVolume) DeepCopyInto ¶ added in v0.35.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AWSVolumes ¶ added in v0.35.1
type AWSVolumes struct { // Configuration options for the root storage volume. // +kubebuilder:validation:Optional Root *AWSVolume `json:"root,omitempty"` // Configuration options for non-root storage volumes. // +kubebuilder:validation:Optional NonRoot []AWSVolume `json:"nonroot,omitempty"` }
func (*AWSVolumes) DeepCopy ¶ added in v0.35.1
func (in *AWSVolumes) DeepCopy() *AWSVolumes
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AWSVolumes.
func (*AWSVolumes) DeepCopyInto ¶ added in v0.35.1
func (in *AWSVolumes) DeepCopyInto(out *AWSVolumes)
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"` KubeadmNodeSpec `json:",inline"` 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
func (in *AWSWorkerNodeConfigSpec) DeepCopy() *AWSWorkerNodeConfigSpec
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 // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 IAMInstanceProfile string `json:"iamInstanceProfile,omitempty"` // The AWS instance type to use for the cluster Machines. // +kubebuilder:validation:Optional // +kubebuilder:default=m5.2xlarge // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=32 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
+kubebuilder:validation:MaxItems=32
func (AdditionalSecurityGroup) DeepCopy ¶
func (in AdditionalSecurityGroup) DeepCopy() AdditionalSecurityGroup
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 AddonConfig ¶ added in v0.26.0
type AddonConfig struct { // Values contains the helm values for the CNI when HelmAddon is the strategy. // +kubebuilder:validation:Optional Values *AddonValues `json:"values,omitempty"` }
AddonConfig contains the configuration for the Addon provider.
func (*AddonConfig) DeepCopy ¶ added in v0.26.0
func (in *AddonConfig) DeepCopy() *AddonConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonConfig.
func (*AddonConfig) DeepCopyInto ¶ added in v0.26.0
func (in *AddonConfig) DeepCopyInto(out *AddonConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddonStrategy ¶
type AddonStrategy string
type AddonValues ¶ added in v0.26.0
type AddonValues struct { // SourceRef is an object reference to Configmap/Secret inside the same namespace // which contains inline YAML representing the values for the Helm chart. // +kubebuilder:validation:Optional SourceRef *ValuesReference `json:"sourceRef,omitempty"` }
AddonValues contains the configuration values for the Helm Addon.
func (*AddonValues) DeepCopy ¶ added in v0.26.0
func (in *AddonValues) DeepCopy() *AddonValues
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonValues.
func (*AddonValues) DeepCopyInto ¶ added in v0.26.0
func (in *AddonValues) DeepCopyInto(out *AddonValues)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddressRange ¶ added in v0.12.0
type AddressRange struct { // +kubebuilder:validation:Format=ipv4 // +kubebuilder:validation:Required Start string `json:"start"` // +kubebuilder:validation:Format=ipv4 // +kubebuilder:validation:Required 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 AutoRenewCertificatesSpec ¶ added in v0.24.0
type AutoRenewCertificatesSpec struct { // DaysBeforeExpiry indicates a rollout needs to be performed if the // certificates of the control plane will expire within the specified days. // Set to 0 to disable automated certificate renewal. // +kubebuilder:validation:Required // +kubebuilder:validation:XValidation:rule="self == 0 || self >= 7",message="Value must be 0 or at least 7" DaysBeforeExpiry int32 `json:"daysBeforeExpiry"` }
func (*AutoRenewCertificatesSpec) DeepCopy ¶ added in v0.24.0
func (in *AutoRenewCertificatesSpec) DeepCopy() *AutoRenewCertificatesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AutoRenewCertificatesSpec.
func (*AutoRenewCertificatesSpec) DeepCopyInto ¶ added in v0.24.0
func (in *AutoRenewCertificatesSpec) DeepCopyInto(out *AutoRenewCertificatesSpec)
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 // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon Strategy AddonStrategy `json:"strategy,omitzero"` }
CCM tells us to enable or disable the cloud provider interface.
func (*CCM) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CCM.
func (*CCM) DeepCopyInto ¶
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 // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon Strategy AddonStrategy `json:"strategy,omitzero"` // AddonConfig contains the configuration for the CNI provider. // +kubebuilder:validation:Optional AddonConfig `json:",inline"` }
CNI required for providing CNI configuration.
func (*CNI) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CNI.
func (*CNI) DeepCopyInto ¶
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 // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon Strategy AddonStrategy `json:"strategy,omitzero"` // 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 // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon Strategy AddonStrategy `json:"strategy,omitzero"` }
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 // +kubebuilder:validation:MaxLength=253 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 ¶
func (in *ControlPlaneEndpointSpec) DeepCopy() *ControlPlaneEndpointSpec
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.
func (ControlPlaneEndpointSpec) VirtualIPAddress ¶ added in v0.25.0
func (s ControlPlaneEndpointSpec) VirtualIPAddress() string
type ControlPlaneVirtualIPConfiguration ¶ added in v0.25.0
type ControlPlaneVirtualIPConfiguration struct { // The virtual IP on which the API server is serving. // If left empty, the value from controlPlaneEndpoint.host will be used. // +kubebuilder:validation:Optional // +kubebuilder:validation:Format=ipv4 // +kubebuilder:validation:MinLength=1 Address string `json:"address,omitempty"` // The port on which the API server is serving. // If left empty, the value from controlPlaneEndpoint.port will be used. // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 Port int32 `json:"port,omitempty"` }
func (*ControlPlaneVirtualIPConfiguration) DeepCopy ¶ added in v0.25.0
func (in *ControlPlaneVirtualIPConfiguration) DeepCopy() *ControlPlaneVirtualIPConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneVirtualIPConfiguration.
func (*ControlPlaneVirtualIPConfiguration) DeepCopyInto ¶ added in v0.25.0
func (in *ControlPlaneVirtualIPConfiguration) DeepCopyInto(out *ControlPlaneVirtualIPConfiguration)
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"` // Configuration for the chosen control-plane virtual IP provider. // +kubebuilder:validation:Optional Configuration *ControlPlaneVirtualIPConfiguration `json:"configuration,omitempty"` }
func (*ControlPlaneVirtualIPSpec) DeepCopy ¶ added in v0.8.0
func (in *ControlPlaneVirtualIPSpec) DeepCopy() *ControlPlaneVirtualIPSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ControlPlaneVirtualIPSpec.
func (*ControlPlaneVirtualIPSpec) DeepCopyInto ¶ added in v0.8.0
func (in *ControlPlaneVirtualIPSpec) DeepCopyInto(out *ControlPlaneVirtualIPSpec)
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CoreDNS.
func (*CoreDNS) DeepCopyInto ¶ added in v0.20.0
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNS.
func (*DNS) DeepCopyInto ¶ added in v0.20.0
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 // +kubebuilder:validation:MaxLength=242 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"` // +kubebuilder:validation:Optional COSI *DockerCOSI `json:"cosi,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 DockerCOSI ¶ added in v0.25.0
type DockerCOSI struct {
GenericCOSI `json:",inline"`
}
func (*DockerCOSI) DeepCopy ¶ added in v0.25.0
func (in *DockerCOSI) DeepCopy() *DockerCOSI
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerCOSI.
func (*DockerCOSI) DeepCopyInto ¶ added in v0.25.0
func (in *DockerCOSI) DeepCopyInto(out *DockerCOSI)
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerCSI.
func (*DockerCSI) DeepCopyInto ¶ added in v0.10.0
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"` KubeadmClusterConfigSpec `json:",inline"` GenericClusterConfigSpec `json:",inline"` // KubeProxy defines the configuration for kube-proxy. // +kubebuilder:validation:Optional KubeProxy *KubeProxy `json:"kubeProxy,omitempty"` // +kubebuilder:validation:Optional Addons *DockerAddons `json:"addons,omitempty"` // +kubebuilder:validation:Optional ControlPlane *DockerControlPlaneSpec `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])?)*$` // +kubebuilder:validation:MaxItems=100 // +kubebuilder:validation:items:MaxLength=253 ExtraAPIServerCertSANs []string `json:"extraAPIServerCertSANs,omitempty"` }
DockerClusterConfigSpec defines the desired state of DockerClusterConfig.
func (*DockerClusterConfigSpec) DeepCopy ¶ added in v0.8.0
func (in *DockerClusterConfigSpec) DeepCopy() *DockerClusterConfigSpec
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 DockerControlPlaneSpec ¶ added in v0.24.0
type DockerControlPlaneSpec struct { // +kubebuilder:validation:Optional Docker *DockerNodeSpec `json:"docker,omitempty"` GenericControlPlaneSpec `json:",inline"` KubeadmNodeSpec `json:",inline"` GenericNodeSpec `json:",inline"` }
DockerControlPlaneSpec defines the desired state of the control plane for a Docker cluster.
func (*DockerControlPlaneSpec) DeepCopy ¶ added in v0.24.0
func (in *DockerControlPlaneSpec) DeepCopy() *DockerControlPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerControlPlaneSpec.
func (*DockerControlPlaneSpec) DeepCopyInto ¶ added in v0.24.0
func (in *DockerControlPlaneSpec) DeepCopyInto(out *DockerControlPlaneSpec)
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,})?$` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=2048 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 DockerWorkerNodeConfig ¶ added in v0.24.0
type DockerWorkerNodeConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Optional Spec *DockerControlPlaneSpec `json:"spec,omitempty"` }
DockerWorkerNodeConfig is the Schema for the dockerworkernodeconfigs API.
func (*DockerWorkerNodeConfig) DeepCopy ¶ added in v0.24.0
func (in *DockerWorkerNodeConfig) DeepCopy() *DockerWorkerNodeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerWorkerNodeConfig.
func (*DockerWorkerNodeConfig) DeepCopyInto ¶ added in v0.24.0
func (in *DockerWorkerNodeConfig) DeepCopyInto(out *DockerWorkerNodeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*DockerWorkerNodeConfig) DeepCopyObject ¶ added in v0.24.0
func (in *DockerWorkerNodeConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (DockerWorkerNodeConfig) VariableSchema ¶ added in v0.24.0
func (s DockerWorkerNodeConfig) VariableSchema() clusterv1.VariableSchema
type DockerWorkerNodeConfigSpec ¶ added in v0.24.0
type DockerWorkerNodeConfigSpec struct { // +kubebuilder:validation:Optional Docker *DockerNodeSpec `json:"docker,omitempty"` KubeadmNodeSpec `json:",inline"` GenericNodeSpec `json:",inline"` }
DockerWorkerNodeConfigSpec defines the desired state of DockerNodeConfig. Place any configuration that can be applied to individual Nodes here. Otherwise, it should go into the ClusterConfigSpec.
func (*DockerWorkerNodeConfigSpec) DeepCopy ¶ added in v0.24.0
func (in *DockerWorkerNodeConfigSpec) DeepCopy() *DockerWorkerNodeConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DockerWorkerNodeConfigSpec.
func (*DockerWorkerNodeConfigSpec) DeepCopyInto ¶ added in v0.24.0
func (in *DockerWorkerNodeConfigSpec) DeepCopyInto(out *DockerWorkerNodeConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EKSClusterConfig ¶ added in v0.35.1
type EKSClusterConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Optional Spec EKSClusterConfigSpec `json:"spec,omitempty"` }
EKSClusterConfig is the Schema for the eksclusterconfigs API.
func (*EKSClusterConfig) DeepCopy ¶ added in v0.35.1
func (in *EKSClusterConfig) DeepCopy() *EKSClusterConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSClusterConfig.
func (*EKSClusterConfig) DeepCopyInto ¶ added in v0.35.1
func (in *EKSClusterConfig) DeepCopyInto(out *EKSClusterConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EKSClusterConfig) DeepCopyObject ¶ added in v0.35.1
func (in *EKSClusterConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (EKSClusterConfig) VariableSchema ¶ added in v0.35.1
func (s EKSClusterConfig) VariableSchema() clusterv1.VariableSchema
type EKSClusterConfigSpec ¶ added in v0.35.1
type EKSClusterConfigSpec struct { // EKS cluster configuration. // +kubebuilder:validation:Optional EKS *EKSSpec `json:"eks,omitempty"` GenericClusterConfigSpec `json:",inline"` // KubeProxy defines the configuration for kube-proxy. // +kubebuilder:validation:Optional KubeProxy *KubeProxy `json:"kubeProxy,omitempty"` // +kubebuilder:validation:Optional Addons *AWSAddons `json:"addons,omitempty"` }
EKSClusterConfigSpec defines the desired state of ClusterConfig.
func (*EKSClusterConfigSpec) DeepCopy ¶ added in v0.35.1
func (in *EKSClusterConfigSpec) DeepCopy() *EKSClusterConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSClusterConfigSpec.
func (*EKSClusterConfigSpec) DeepCopyInto ¶ added in v0.35.1
func (in *EKSClusterConfigSpec) DeepCopyInto(out *EKSClusterConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EKSNodeSpec ¶ added in v0.35.1
type EKSNodeSpec struct{}
func (*EKSNodeSpec) DeepCopy ¶ added in v0.35.1
func (in *EKSNodeSpec) DeepCopy() *EKSNodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSNodeSpec.
func (*EKSNodeSpec) DeepCopyInto ¶ added in v0.35.1
func (in *EKSNodeSpec) DeepCopyInto(out *EKSNodeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EKSSpec ¶ added in v0.35.1
type EKSSpec struct { // AdditionalTags is an optional set of tags to add to an instance, // in addition to the ones added by default by the AWS provider. // +optional AdditionalTags capav1.Tags `json:"additionalTags,omitempty"` // IdentityRef is a reference to an identity to be used when reconciling the managed control plane. // If no identity is specified, the default identity for this controller will be used. // +kubebuilder:validation:Optional IdentityRef *capav1.AWSIdentityReference `json:"identityRef,omitempty"` // 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"` }
func (*EKSSpec) DeepCopy ¶ added in v0.35.1
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSSpec.
func (*EKSSpec) DeepCopyInto ¶ added in v0.35.1
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type EKSWorkerNodeConfig ¶ added in v0.35.1
type EKSWorkerNodeConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Optional Spec EKSWorkerNodeConfigSpec `json:"spec,omitempty"` }
EKSWorkerNodeConfig is the Schema for the eksnodeconfigs API.
func (*EKSWorkerNodeConfig) DeepCopy ¶ added in v0.35.1
func (in *EKSWorkerNodeConfig) DeepCopy() *EKSWorkerNodeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSWorkerNodeConfig.
func (*EKSWorkerNodeConfig) DeepCopyInto ¶ added in v0.35.1
func (in *EKSWorkerNodeConfig) DeepCopyInto(out *EKSWorkerNodeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*EKSWorkerNodeConfig) DeepCopyObject ¶ added in v0.35.1
func (in *EKSWorkerNodeConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (EKSWorkerNodeConfig) VariableSchema ¶ added in v0.35.1
func (s EKSWorkerNodeConfig) VariableSchema() clusterv1.VariableSchema
type EKSWorkerNodeConfigSpec ¶ added in v0.35.1
type EKSWorkerNodeConfigSpec struct { // +kubebuilder:validation:Optional EKS *AWSWorkerNodeSpec `json:"eks,omitempty"` EKSNodeSpec `json:",inline"` GenericNodeSpec `json:",inline"` }
EKSWorkerNodeConfigSpec defines the desired state of EKSNodeConfig. Place any configuration that can be applied to individual Nodes here. Otherwise, it should go into the ClusterConfigSpec.
func (*EKSWorkerNodeConfigSpec) DeepCopy ¶ added in v0.35.1
func (in *EKSWorkerNodeConfigSpec) DeepCopy() *EKSWorkerNodeConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EKSWorkerNodeConfigSpec.
func (*EKSWorkerNodeConfigSpec) DeepCopyInto ¶ added in v0.35.1
func (in *EKSWorkerNodeConfigSpec) DeepCopyInto(out *EKSWorkerNodeConfigSpec)
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Etcd.
func (*Etcd) DeepCopyInto ¶
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"` // +kubebuilder:validation:Optional Registry *RegistryAddon `json:"registry,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 GenericCOSI ¶ added in v0.25.0
type GenericCOSI struct { // Addon strategy used to deploy the COSI controller to the workload cluster. // +kubebuilder:default=HelmAddon // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=HelmAddon Strategy AddonStrategy `json:"strategy,omitzero"` }
func (*GenericCOSI) DeepCopy ¶ added in v0.25.0
func (in *GenericCOSI) DeepCopy() *GenericCOSI
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericCOSI.
func (*GenericCOSI) DeepCopyInto ¶ added in v0.25.0
func (in *GenericCOSI) DeepCopyInto(out *GenericCOSI)
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"` // +kubebuilder:validation:Optional Spec *GenericClusterConfigSpec `json:"spec,omitempty"` }
GenericClusterConfig is the Schema for the genericclusterconfigs API.
func (*GenericClusterConfig) DeepCopy ¶
func (in *GenericClusterConfig) DeepCopy() *GenericClusterConfig
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 { // +kubebuilder:validation:Optional Proxy *HTTPProxy `json:"proxy,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:MaxItems=32 ImageRegistries []ImageRegistry `json:"imageRegistries,omitempty"` // +kubebuilder:validation:Optional GlobalImageRegistryMirror *GlobalImageRegistryMirror `json:"globalImageRegistryMirror,omitempty"` // +kubebuilder:validation:Optional // +kubebuilder:validation:MaxItems=32 Users []User `json:"users,omitempty"` // NTP defines the NTP configuration for the cluster. // +kubebuilder:validation:Optional NTP *NTP `json:"ntp,omitempty"` }
GenericClusterConfigSpec defines the desired state of GenericClusterConfig.
func (*GenericClusterConfigSpec) DeepCopy ¶ added in v0.8.0
func (in *GenericClusterConfigSpec) DeepCopy() *GenericClusterConfigSpec
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 GenericControlPlaneSpec ¶ added in v0.24.0
type GenericControlPlaneSpec struct { // AutoRenewCertificates specifies the configuration for auto-renewing the // certificates of the control plane. // +kubebuilder:validation:Optional AutoRenewCertificates *AutoRenewCertificatesSpec `json:"autoRenewCertificates,omitempty"` }
func (*GenericControlPlaneSpec) DeepCopy ¶ added in v0.24.0
func (in *GenericControlPlaneSpec) DeepCopy() *GenericControlPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GenericControlPlaneSpec.
func (*GenericControlPlaneSpec) DeepCopyInto ¶ added in v0.24.0
func (in *GenericControlPlaneSpec) DeepCopyInto(out *GenericControlPlaneSpec)
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 // +kubebuilder:validation:MaxItems=32 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 ¶
func (in *GlobalImageRegistryMirror) DeepCopy() *GlobalImageRegistryMirror
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GlobalImageRegistryMirror.
func (*GlobalImageRegistryMirror) DeepCopyInto ¶
func (in *GlobalImageRegistryMirror) DeepCopyInto(out *GlobalImageRegistryMirror)
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 // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=2048 HTTP string `json:"http,omitempty"` // HTTPS proxy value. // +kubebuilder:validation:Optional // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=2048 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 // +kubebuilder:validation:MaxItems=128 // +kubebuilder:validation:items:MinLength=1 // +kubebuilder:validation:items:MaxLength=253 AdditionalNo []string `json:"additionalNo,omitempty"` }
HTTPProxy required for providing proxy configuration.
func (*HTTPProxy) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HTTPProxy.
func (*HTTPProxy) DeepCopyInto ¶
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
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]+)*)*$` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=2048 Repository string `json:"repository,omitempty"` // Tag is used to override the default image tag. // +kubebuilder:validation:Optional // +kubebuilder:validation:Pattern=`^[\w][\w.-]{0,127}$` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 Tag string `json:"tag,omitempty"` }
func (*Image) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Image.
func (*Image) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type 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 KubeProxy ¶ added in v0.31.0
type KubeProxy struct { // Mode specifies the mode for kube-proxy: // - iptables means that kube-proxy is installed in iptables mode. // - nftables means that kube-proxy is installed in nftables mode. // - disabled means that kube-proxy is disabled. // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=iptables;nftables;disabled // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="Value cannot be changed after cluster creation" Mode KubeProxyMode `json:"mode,omitempty"` }
KubeProxy defines the configuration for kube-proxy. This struct is shared across all providers, but EKS only supports the disabled mode. The CRD is updated manually to reflect this.
func (*KubeProxy) DeepCopy ¶ added in v0.31.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeProxy.
func (*KubeProxy) DeepCopyInto ¶ added in v0.31.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeProxyMode ¶ added in v0.31.0
type KubeProxyMode string
const ( // KubeProxyModeIPTables indicates that kube-proxy should be installed in iptables // mode. KubeProxyModeIPTables KubeProxyMode = "iptables" // KubeProxyModeNFTables indicates that kube-proxy should be installed in nftables // mode. KubeProxyModeNFTables KubeProxyMode = "nftables" // KubeProxyModeDisabled indicates that kube-proxy should be disabled. KubeProxyModeDisabled KubeProxyMode = "disabled" )
type KubeadmClusterConfig ¶ added in v0.35.1
type KubeadmClusterConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Optional Spec KubeadmClusterConfigSpec `json:"spec,omitempty"` }
KubeadmClusterConfig is the Schema for the kubeadmconfigs API.
func (*KubeadmClusterConfig) DeepCopy ¶ added in v0.35.1
func (in *KubeadmClusterConfig) DeepCopy() *KubeadmClusterConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmClusterConfig.
func (*KubeadmClusterConfig) DeepCopyInto ¶ added in v0.35.1
func (in *KubeadmClusterConfig) DeepCopyInto(out *KubeadmClusterConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*KubeadmClusterConfig) DeepCopyObject ¶ added in v0.35.1
func (in *KubeadmClusterConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (KubeadmClusterConfig) VariableSchema ¶ added in v0.35.1
func (s KubeadmClusterConfig) VariableSchema() clusterv1.VariableSchema
type KubeadmClusterConfigSpec ¶ added in v0.35.1
type KubeadmClusterConfigSpec 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]+)*)*$` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=2048 KubernetesImageRepository string `json:"kubernetesImageRepository,omitempty"` // +kubebuilder:validation:Optional Etcd *Etcd `json:"etcd,omitempty"` // +kubebuilder:validation:Optional EncryptionAtRest *EncryptionAtRest `json:"encryptionAtRest,omitempty"` // +kubebuilder:validation:Optional DNS *DNS `json:"dns,omitempty"` // MaxParallelImagePullsPerNode defines the maximum number of parallel image pulls performed by each kubelet. // If not set, the default value of 1 will be used. // If set to 0, the maximum number of parallel image pulls will be unlimited. // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=0 MaxParallelImagePullsPerNode *int32 `json:"maxParallelImagePullsPerNode,omitempty"` }
KubeadmConfigSpec defines configuration that can be set when using kubeadm to bootstrap the cluster.
func (*KubeadmClusterConfigSpec) DeepCopy ¶ added in v0.35.1
func (in *KubeadmClusterConfigSpec) DeepCopy() *KubeadmClusterConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmClusterConfigSpec.
func (*KubeadmClusterConfigSpec) DeepCopyInto ¶ added in v0.35.1
func (in *KubeadmClusterConfigSpec) DeepCopyInto(out *KubeadmClusterConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type KubeadmNodeSpec ¶ added in v0.35.1
type KubeadmNodeSpec struct { // NodeRegistration holds fields that relate to registering the new node to the cluster. // +kubebuilder:validation:Optional // +kubebuilder:default={} NodeRegistration *NodeRegistrationOptions `json:"nodeRegistration,omitempty"` }
func (*KubeadmNodeSpec) DeepCopy ¶ added in v0.35.1
func (in *KubeadmNodeSpec) DeepCopy() *KubeadmNodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new KubeadmNodeSpec.
func (*KubeadmNodeSpec) DeepCopyInto ¶ added in v0.35.1
func (in *KubeadmNodeSpec) DeepCopyInto(out *KubeadmNodeSpec)
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 // +kubebuilder:validation:MaxLength=253 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
func (in *LocalObjectReference) DeepCopy() *LocalObjectReference
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 // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon Strategy AddonStrategy `json:"strategy,omitzero"` }
NFD tells us to enable or disable the node feature discovery addon.
func (*NFD) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NFD.
func (*NFD) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NTP ¶ added in v0.31.0
type NTP struct { // Servers is a list of NTP servers to use for time synchronization. // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=16 // +kubebuilder:validation:items:MaxLength=253 Servers []string `json:"servers"` }
NTP defines the NTP configuration for the cluster.
func (*NTP) DeepCopy ¶ added in v0.31.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NTP.
func (*NTP) DeepCopyInto ¶ added in v0.31.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NodeRegistrationOptions ¶ added in v0.28.0
type NodeRegistrationOptions struct { // IgnorePreflightErrors specifies a slice of pre-flight errors to be ignored by kubeadm // when the current node is registered. // +kubebuilder:validation:Optional // +kubebuilder:default={"SystemVerification"} // +kubebuilder:validation:MaxItems=50 // +kubebuilder:validation:items:MinLength=1 // +kubebuilder:validation:items:MaxLength=512 IgnorePreflightErrors []string `json:"ignorePreflightErrors,omitempty"` }
NodeRegistrationOptions holds fields that relate to registering a new control-plane or node to the cluster, either via "kubeadm init" or "kubeadm join".
func (*NodeRegistrationOptions) DeepCopy ¶ added in v0.28.0
func (in *NodeRegistrationOptions) DeepCopy() *NodeRegistrationOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeRegistrationOptions.
func (*NodeRegistrationOptions) DeepCopyInto ¶ added in v0.28.0
func (in *NodeRegistrationOptions) DeepCopyInto(out *NodeRegistrationOptions)
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"` // +kubebuilder:validation:Optional COSI *NutanixCOSI `json:"cosi,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 NutanixCOSI ¶ added in v0.25.0
type NutanixCOSI struct {
GenericCOSI `json:",inline"`
}
func (*NutanixCOSI) DeepCopy ¶ added in v0.25.0
func (in *NutanixCOSI) DeepCopy() *NutanixCOSI
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixCOSI.
func (*NutanixCOSI) DeepCopyInto ¶ added in v0.25.0
func (in *NutanixCOSI) DeepCopyInto(out *NutanixCOSI)
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
func (in *NutanixClusterConfig) DeepCopy() *NutanixClusterConfig
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"` KubeadmClusterConfigSpec `json:",inline"` GenericClusterConfigSpec `json:",inline"` // KubeProxy defines the configuration for kube-proxy. // +kubebuilder:validation:Optional KubeProxy *KubeProxy `json:"kubeProxy,omitempty"` // +kubebuilder:validation:Optional Addons *NutanixAddons `json:"addons,omitempty"` // +kubebuilder:validation:Optional ControlPlane *NutanixControlPlaneSpec `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])?)*$` // +kubebuilder:validation:MaxItems=100 // +kubebuilder:validation:items:MaxLength=253 ExtraAPIServerCertSANs []string `json:"extraAPIServerCertSANs,omitempty"` }
NutanixClusterConfigSpec defines the desired state of NutanixClusterConfig.
func (*NutanixClusterConfigSpec) DeepCopy ¶ added in v0.8.0
func (in *NutanixClusterConfigSpec) DeepCopy() *NutanixClusterConfigSpec
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 NutanixControlPlaneNodeSpec ¶ added in v0.31.0
type NutanixControlPlaneNodeSpec struct { // +kubebuilder:validation:Required MachineDetails NutanixMachineDetails `json:"machineDetails"` // failureDomains specifies a list of NutanixFailureDomains (by names) // that the cluster uses to deploy its control-plane machines. // +listType=set // +kubebuilder:validation:Optional // +kubebuilder:validation:MaxItems=5 // +kubebuilder:validation:items:MaxLength=253 FailureDomains []string `json:"failureDomains,omitempty"` }
func (*NutanixControlPlaneNodeSpec) DeepCopy ¶ added in v0.31.0
func (in *NutanixControlPlaneNodeSpec) DeepCopy() *NutanixControlPlaneNodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixControlPlaneNodeSpec.
func (*NutanixControlPlaneNodeSpec) DeepCopyInto ¶ added in v0.31.0
func (in *NutanixControlPlaneNodeSpec) DeepCopyInto(out *NutanixControlPlaneNodeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixControlPlaneSpec ¶ added in v0.24.0
type NutanixControlPlaneSpec struct { // +kubebuilder:validation:Optional Nutanix *NutanixControlPlaneNodeSpec `json:"nutanix,omitempty"` GenericControlPlaneSpec `json:",inline"` KubeadmNodeSpec `json:",inline"` GenericNodeSpec `json:",inline"` }
NutanixControlPlaneSpec defines the desired state of the control plane for a Nutanix cluster.
func (*NutanixControlPlaneSpec) DeepCopy ¶ added in v0.24.0
func (in *NutanixControlPlaneSpec) DeepCopy() *NutanixControlPlaneSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixControlPlaneSpec.
func (*NutanixControlPlaneSpec) DeepCopyInto ¶ added in v0.24.0
func (in *NutanixControlPlaneSpec) DeepCopyInto(out *NutanixControlPlaneSpec)
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:Optional Image *capxv1.NutanixResourceIdentifier `json:"image,omitempty"` // imageLookup is a container that holds how to look up vm images for the cluster. // +kubebuilder:validation:Optional ImageLookup *capxv1.NutanixImageLookup `json:"imageLookup,omitempty"` // 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:Optional Cluster *capxv1.NutanixResourceIdentifier `json:"cluster,omitempty"` // 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:Optional // +kubebuilder:validation:MaxItems=16 Subnets []capxv1.NutanixResourceIdentifier `json:"subnets,omitempty"` // 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 // +kubebuilder:validation:MaxItems=32 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,omitempty"` // 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 // +kubebuilder:validation:MaxItems=32 GPUs []capxv1.NutanixGPU `json:"gpus,omitempty"` }
+kubebuilder:validation:XValidation:rule="has(self.image) != has(self.imageLookup)",message="Either 'image' or 'imageLookup' must be set, but not both"
func (*NutanixMachineDetails) DeepCopy ¶
func (in *NutanixMachineDetails) DeepCopy() *NutanixMachineDetails
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.
func (*NutanixMachineDetails) HasClusterAndSubnets ¶ added in v0.33.0
func (md *NutanixMachineDetails) HasClusterAndSubnets() (hasCluster, hasSubnets bool)
HasClusterAndSubnets checks if cluster and subnets are configured in the machine details. It returns (hasCluster, hasSubnets).
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
func (in *NutanixPrismCentralEndpointCredentials) DeepCopy() *NutanixPrismCentralEndpointCredentials
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixPrismCentralEndpointCredentials.
func (*NutanixPrismCentralEndpointCredentials) DeepCopyInto ¶ added in v0.9.0
func (in *NutanixPrismCentralEndpointCredentials) DeepCopyInto(out *NutanixPrismCentralEndpointCredentials)
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,omitempty"` // 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` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=1048576 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 ¶
func (in *NutanixPrismCentralEndpointSpec) DeepCopy() *NutanixPrismCentralEndpointSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixPrismCentralEndpointSpec.
func (*NutanixPrismCentralEndpointSpec) DeepCopyInto ¶
func (in *NutanixPrismCentralEndpointSpec) DeepCopyInto(out *NutanixPrismCentralEndpointSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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 NutanixWorkerNodeConfig ¶ added in v0.24.0
type NutanixWorkerNodeConfig struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` // +kubebuilder:validation:Optional Spec *NutanixWorkerNodeConfigSpec `json:"spec,omitempty"` }
NutanixWorkerNodeConfig is the Schema for the nutanixworkernodeconfigs API.
func (*NutanixWorkerNodeConfig) DeepCopy ¶ added in v0.24.0
func (in *NutanixWorkerNodeConfig) DeepCopy() *NutanixWorkerNodeConfig
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixWorkerNodeConfig.
func (*NutanixWorkerNodeConfig) DeepCopyInto ¶ added in v0.24.0
func (in *NutanixWorkerNodeConfig) DeepCopyInto(out *NutanixWorkerNodeConfig)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NutanixWorkerNodeConfig) DeepCopyObject ¶ added in v0.24.0
func (in *NutanixWorkerNodeConfig) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (NutanixWorkerNodeConfig) VariableSchema ¶ added in v0.24.0
func (s NutanixWorkerNodeConfig) VariableSchema() clusterv1.VariableSchema
type NutanixWorkerNodeConfigSpec ¶ added in v0.24.0
type NutanixWorkerNodeConfigSpec struct { // +kubebuilder:validation:Optional Nutanix *NutanixWorkerNodeSpec `json:"nutanix,omitempty"` KubeadmNodeSpec `json:",inline"` GenericNodeSpec `json:",inline"` }
NutanixWorkerNodeConfigSpec defines the desired state of NutanixWorkerNodeSpec.
func (*NutanixWorkerNodeConfigSpec) DeepCopy ¶ added in v0.24.0
func (in *NutanixWorkerNodeConfigSpec) DeepCopy() *NutanixWorkerNodeConfigSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixWorkerNodeConfigSpec.
func (*NutanixWorkerNodeConfigSpec) DeepCopyInto ¶ added in v0.24.0
func (in *NutanixWorkerNodeConfigSpec) DeepCopyInto(out *NutanixWorkerNodeConfigSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NutanixWorkerNodeSpec ¶ added in v0.31.0
type NutanixWorkerNodeSpec struct { // +kubebuilder:validation:Required MachineDetails NutanixMachineDetails `json:"machineDetails"` }
func (*NutanixWorkerNodeSpec) DeepCopy ¶ added in v0.31.0
func (in *NutanixWorkerNodeSpec) DeepCopy() *NutanixWorkerNodeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NutanixWorkerNodeSpec.
func (*NutanixWorkerNodeSpec) DeepCopyInto ¶ added in v0.31.0
func (in *NutanixWorkerNodeSpec) DeepCopyInto(out *NutanixWorkerNodeSpec)
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 PlacementGroup ¶ added in v0.33.0
type PlacementGroup struct { // Name is the name of the placement group. // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 Name string `json:"name"` }
func (*PlacementGroup) DeepCopy ¶ added in v0.33.0
func (in *PlacementGroup) DeepCopy() *PlacementGroup
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PlacementGroup.
func (*PlacementGroup) DeepCopyInto ¶ added in v0.33.0
func (in *PlacementGroup) DeepCopyInto(out *PlacementGroup)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Region ¶
type Region string
+kubebuilder:validation:MinLength=4 +kubebuilder:validation:MaxLength=16
type RegistryAddon ¶ added in v0.29.0
type RegistryAddon struct { // The OCI registry provider to deploy. // +kubebuilder:default="CNCF Distribution" // +kubebuilder:validation:Required // +kubebuilder:validation:Enum="CNCF Distribution" Provider string `json:"provider"` }
func (*RegistryAddon) DeepCopy ¶ added in v0.29.0
func (in *RegistryAddon) DeepCopy() *RegistryAddon
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RegistryAddon.
func (*RegistryAddon) DeepCopyInto ¶ added in v0.29.0
func (in *RegistryAddon) DeepCopyInto(out *RegistryAddon)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
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
func (in *SecretboxConfiguration) DeepCopy() *SecretboxConfiguration
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 // +kubebuilder:validation:Format=`^sg-[0-9a-f]{8}(?:[0-9a-f]{9})?$` // +kubebuilder:validation:MinLength=1 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 // +kubebuilder:validation:MaxItems=10 AddressRanges []AddressRange `json:"addressRanges"` }
func (*ServiceLoadBalancerConfiguration) DeepCopy ¶ added in v0.12.0
func (in *ServiceLoadBalancerConfiguration) DeepCopy() *ServiceLoadBalancerConfiguration
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceLoadBalancerConfiguration.
func (*ServiceLoadBalancerConfiguration) DeepCopyInto ¶ added in v0.12.0
func (in *ServiceLoadBalancerConfiguration) DeepCopyInto(out *ServiceLoadBalancerConfiguration)
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 // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=ClusterResourceSet;HelmAddon Strategy AddonStrategy `json:"strategy,omitzero"` }
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 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:Format=`^subnet-[0-9a-f]{8}(?:[0-9a-f]{9})?$` 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
+kubebuilder:validation:MaxItems=10
func (Subnets) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Subnets.
func (Subnets) DeepCopyInto ¶
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 // +kubebuilder:validation:MaxLength=253 Key string `json:"key"` // The taint value corresponding to the taint key. // +kubebuilder:validation:Optional // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Taint.
func (*Taint) DeepCopyInto ¶ added in v0.16.0
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 // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 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 // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 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 // +kubebuilder:validation:MaxItems=100 // +kubebuilder:validation:items:MinLength=1 // +kubebuilder:validation:items:MaxLength=2048 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 // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 Sudo string `json:"sudo,omitempty"` }
User defines the input for a generated user in cloud-init.
func (*User) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new User.
func (*User) DeepCopyInto ¶
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:Format=`^vpc-[0-9a-f]{8}(?:[0-9a-f]{9})?$` ID string `json:"id"` }
func (*VPC) DeepCopy ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VPC.
func (*VPC) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ValuesReference ¶ added in v0.26.0
type ValuesReference struct { // Kind is the type of resource being referenced, valid values are ('ConfigMap'). // +kubebuilder:validation:Enum=ConfigMap // +kubebuilder:validation:Required Kind string `json:"kind"` // Name is the name of resource being referenced. // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=253 Name string `json:"name"` }
ValuesReference contains enough information to let you locate the typed referenced object inside the same namespace. This is redacted from the upstream https://pkg.go.dev/k8s.io/api/core/v1#TypedLocalObjectReference
func (*ValuesReference) DeepCopy ¶ added in v0.26.0
func (in *ValuesReference) DeepCopy() *ValuesReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ValuesReference.
func (*ValuesReference) DeepCopyInto ¶ added in v0.26.0
func (in *ValuesReference) DeepCopyInto(out *ValuesReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files
¶
- addon_types.go
- aws_clusterconfig_types.go
- aws_node_types.go
- clusterconfig_types.go
- common_types.go
- constants.go
- controlplane_types.go
- doc.go
- docker_clusterconfig_types.go
- docker_node_types.go
- eks_clusterconfig_types.go
- groupversion_info.go
- http_proxy.go
- nodeconfig_types.go
- nutanix_clusterconfig_types.go
- nutanix_node_types.go
- zz_generated.deepcopy.go