v1beta1

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Oct 22, 2024 License: Apache-2.0 Imports: 19 Imported by: 6

Documentation

Overview

Package v1beta1 contains API Schema definitions for the infrastructure v1beta1 API group +kubebuilder:object:generate=true +groupName=infrastructure.cluster.x-k8s.io

Index

Constants

View Source
const (
	// GKEControlPlaneReadyCondition condition reports on the successful reconciliation of GKE control plane.
	GKEControlPlaneReadyCondition clusterv1.ConditionType = "GKEControlPlaneReady"
	// GKEControlPlaneCreatingCondition condition reports on whether the GKE control plane is creating.
	GKEControlPlaneCreatingCondition clusterv1.ConditionType = "GKEControlPlaneCreating"
	// GKEControlPlaneUpdatingCondition condition reports on whether the GKE control plane is updating.
	GKEControlPlaneUpdatingCondition clusterv1.ConditionType = "GKEControlPlaneUpdating"
	// GKEControlPlaneDeletingCondition condition reports on whether the GKE control plane is deleting.
	GKEControlPlaneDeletingCondition clusterv1.ConditionType = "GKEControlPlaneDeleting"

	// GKEControlPlaneCreatingReason used to report GKE control plane being created.
	GKEControlPlaneCreatingReason = "GKEControlPlaneCreating"
	// GKEControlPlaneCreatedReason used to report GKE control plane is created.
	GKEControlPlaneCreatedReason = "GKEControlPlaneCreated"
	// GKEControlPlaneUpdatedReason used to report GKE control plane is updated.
	GKEControlPlaneUpdatedReason = "GKEControlPlaneUpdated"
	// GKEControlPlaneDeletingReason used to report GKE control plane being deleted.
	GKEControlPlaneDeletingReason = "GKEControlPlaneDeleting"
	// GKEControlPlaneDeletedReason used to report GKE control plane is deleted.
	GKEControlPlaneDeletedReason = "GKEControlPlaneDeleted"
	// GKEControlPlaneErrorReason used to report GKE control plane is in error state.
	GKEControlPlaneErrorReason = "GKEControlPlaneError"
	// GKEControlPlaneReconciliationFailedReason used to report failures while reconciling GKE control plane.
	GKEControlPlaneReconciliationFailedReason = "GKEControlPlaneReconciliationFailed"
	// GKEControlPlaneRequiresAtLeastOneNodePoolReason used to report that no node pool is specified for the GKE control plane.
	GKEControlPlaneRequiresAtLeastOneNodePoolReason = "GKEControlPlaneRequiresAtLeastOneNodePool"

	// GKEMachinePoolReadyCondition condition reports on the successful reconciliation of GKE node pool.
	GKEMachinePoolReadyCondition clusterv1.ConditionType = "GKEMachinePoolReady"
	// GKEMachinePoolCreatingCondition condition reports on whether the GKE node pool is creating.
	GKEMachinePoolCreatingCondition clusterv1.ConditionType = "GKEMachinePoolCreating"
	// GKEMachinePoolUpdatingCondition condition reports on whether the GKE node pool is updating.
	GKEMachinePoolUpdatingCondition clusterv1.ConditionType = "GKEMachinePoolUpdating"
	// GKEMachinePoolDeletingCondition condition reports on whether the GKE node pool is deleting.
	GKEMachinePoolDeletingCondition clusterv1.ConditionType = "GKEMachinePoolDeleting"

	// WaitingForGKEControlPlaneReason used when the machine pool is waiting for GKE control plane infrastructure to be ready before proceeding.
	WaitingForGKEControlPlaneReason = "WaitingForGKEControlPlane"
	// GKEMachinePoolCreatingReason used to report GKE node pool being created.
	GKEMachinePoolCreatingReason = "GKEMachinePoolCreating"
	// GKEMachinePoolCreatedReason used to report GKE node pool is created.
	GKEMachinePoolCreatedReason = "GKEMachinePoolCreated"
	// GKEMachinePoolUpdatedReason used to report GKE node pool is updated.
	GKEMachinePoolUpdatedReason = "GKEMachinePoolUpdated"
	// GKEMachinePoolDeletingReason used to report GKE node pool being deleted.
	GKEMachinePoolDeletingReason = "GKEMachinePoolDeleting"
	// GKEMachinePoolDeletedReason used to report GKE node pool is deleted.
	GKEMachinePoolDeletedReason = "GKEMachinePoolDeleted"
	// GKEMachinePoolErrorReason used to report GKE node pool is in error state.
	GKEMachinePoolErrorReason = "GKEMachinePoolError"
	// GKEMachinePoolReconciliationFailedReason used to report failures while reconciling GKE node pool.
	GKEMachinePoolReconciliationFailedReason = "GKEMachinePoolReconciliationFailed"
)
View Source
const (
	// ClusterFinalizer allows clean up GCP resources associated with GCPManagedCluster before
	// removing it from the apiserver.
	ClusterFinalizer = "gcpmanagedcluster.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// ManagedControlPlaneFinalizer allows Reconcile to clean up GCP resources associated with the GCPManagedControlPlane before
	// removing it from the apiserver.
	ManagedControlPlaneFinalizer = "gcpmanagedcontrolplane.infrastructure.cluster.x-k8s.io"
)
View Source
const (
	// ManagedMachinePoolFinalizer allows Reconcile to clean up GCP resources associated with the GCPManagedMachinePool before
	// removing it from the apiserver.
	ManagedMachinePoolFinalizer = "gcpmanagedmachinepool.infrastructure.cluster.x-k8s.io"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects.
	GroupVersion = schema.GroupVersion{Group: "infrastructure.cluster.x-k8s.io", Version: "v1beta1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme.
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

func ConvertFromSdkNodeVersion added in v1.6.0

func ConvertFromSdkNodeVersion(sdkNodeVersion string) string

ConvertFromSdkNodeVersion converts GCP SDK node version to k8s version.

func ConvertToSdkAutoscaling added in v1.6.0

func ConvertToSdkAutoscaling(autoscaling *NodePoolAutoScaling) *containerpb.NodePoolAutoscaling

ConvertToSdkAutoscaling converts node pool autoscaling config to a value that is used by GCP SDK.

func ConvertToSdkCgroupMode added in v1.6.0

func ConvertToSdkCgroupMode(cgroupMode ManagedNodePoolCgroupMode) containerpb.LinuxNodeConfig_CgroupMode

ConvertToSdkCgroupMode converts GCP SDK node version to k8s version.

func ConvertToSdkLinuxNodeConfig added in v1.6.0

func ConvertToSdkLinuxNodeConfig(linuxNodeConfig *LinuxNodeConfig) *containerpb.LinuxNodeConfig

ConvertToSdkLinuxNodeConfig converts GCP SDK node version to k8s version.

func ConvertToSdkTaint

func ConvertToSdkTaint(taints Taints) []*containerpb.NodeTaint

ConvertToSdkTaint converts taints to format that is used by GCP SDK.

Types

type AuthenticatorGroupConfig added in v1.8.0

type AuthenticatorGroupConfig struct {
	// SecurityGroups is the name of the security group-of-groups to be used.
	// +kubebuilder:validation:Required
	SecurityGroups string `json:"securityGroups,omitempty"`
}

AuthenticatorGroupConfig is RBAC security group for use with Google security groups in Kubernetes RBAC.

func (*AuthenticatorGroupConfig) DeepCopy added in v1.8.0

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

func (*AuthenticatorGroupConfig) DeepCopyInto added in v1.8.0

func (in *AuthenticatorGroupConfig) DeepCopyInto(out *AuthenticatorGroupConfig)

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

type ClusterNetwork added in v1.8.0

type ClusterNetwork struct {
	// PrivateCluster defines the private cluster spec.
	// +optional
	PrivateCluster *PrivateCluster `json:"privateCluster,omitempty"`

	// UseIPAliases is whether alias IPs will be used for pod IPs in the cluster. If false, routes will be used for
	// pod IPs in the cluster.
	// +optional
	UseIPAliases bool `json:"useIPAliases,omitempty"`

	// Pod defines the range of CIDRBlock list from where it gets the IP address.
	// +optional
	Pod *ClusterNetworkPod `json:"pod,omitempty"`

	// Service defines the range of CIDRBlock list from where it gets the IP address.
	// +optional
	Service *ClusterNetworkService `json:"service,omitempty"`
}

ClusterNetwork define the cluster network.

func (*ClusterNetwork) DeepCopy added in v1.8.0

func (in *ClusterNetwork) DeepCopy() *ClusterNetwork

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

func (*ClusterNetwork) DeepCopyInto added in v1.8.0

func (in *ClusterNetwork) DeepCopyInto(out *ClusterNetwork)

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

type ClusterNetworkPod added in v1.8.0

type ClusterNetworkPod struct {
	// CidrBlock is where all pods in the cluster are assigned an IP address from this range. Enter a range
	// (in CIDR notation) within a network range, a mask, or leave this field blank to use a default range.
	// This setting is permanent.
	// +optional
	CidrBlock string `json:"cidrBlock,omitempty"`
}

ClusterNetworkPod the range of CIDRBlock list from where it gets the IP address.

func (*ClusterNetworkPod) DeepCopy added in v1.8.0

func (in *ClusterNetworkPod) DeepCopy() *ClusterNetworkPod

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

func (*ClusterNetworkPod) DeepCopyInto added in v1.8.0

func (in *ClusterNetworkPod) DeepCopyInto(out *ClusterNetworkPod)

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

type ClusterNetworkService added in v1.8.0

type ClusterNetworkService struct {
	// CidrBlock is where cluster services will be assigned an IP address from this IP address range. Enter a range
	// (in CIDR notation) within a network range, a mask, or leave this field blank to use a default range.
	// This setting is permanent.
	// +optional
	CidrBlock string `json:"cidrBlock,omitempty"`
}

ClusterNetworkService defines the range of CIDRBlock list from where it gets the IP address.

func (*ClusterNetworkService) DeepCopy added in v1.8.0

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

func (*ClusterNetworkService) DeepCopyInto added in v1.8.0

func (in *ClusterNetworkService) DeepCopyInto(out *ClusterNetworkService)

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

type DiskType added in v1.6.0

type DiskType string

DiskType is type of the disk attached to node. +kubebuilder:validation:Enum=pd-standard;pd-ssd;pd-balanced

const (
	// Standard disk type.
	Standard DiskType = "pd-standard"
	// SSD disk type.
	SSD DiskType = "pd-ssd"
	// Balanced disk type.
	Balanced DiskType = "pd-balanced"
	// HyperdiskBalanced disk type
	HyperdiskBalanced DiskType = "hyperdisk-balanced"
)

type GCPManagedCluster

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

	Spec   GCPManagedClusterSpec   `json:"spec,omitempty"`
	Status GCPManagedClusterStatus `json:"status,omitempty"`
}

GCPManagedCluster is the Schema for the gcpmanagedclusters API.

func (*GCPManagedCluster) DeepCopy

func (in *GCPManagedCluster) DeepCopy() *GCPManagedCluster

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

func (*GCPManagedCluster) DeepCopyInto

func (in *GCPManagedCluster) DeepCopyInto(out *GCPManagedCluster)

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

func (*GCPManagedCluster) DeepCopyObject

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

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

func (*GCPManagedCluster) Default

func (r *GCPManagedCluster) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*GCPManagedCluster) SetupWebhookWithManager

func (r *GCPManagedCluster) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*GCPManagedCluster) ValidateCreate

func (r *GCPManagedCluster) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*GCPManagedCluster) ValidateDelete

func (r *GCPManagedCluster) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*GCPManagedCluster) ValidateUpdate

func (r *GCPManagedCluster) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type GCPManagedClusterList

type GCPManagedClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GCPManagedCluster `json:"items"`
}

GCPManagedClusterList contains a list of GCPManagedCluster.

func (*GCPManagedClusterList) DeepCopy

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

func (*GCPManagedClusterList) DeepCopyInto

func (in *GCPManagedClusterList) DeepCopyInto(out *GCPManagedClusterList)

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

func (*GCPManagedClusterList) DeepCopyObject

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

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

type GCPManagedClusterSpec

type GCPManagedClusterSpec struct {
	// Project is the name of the project to deploy the cluster to.
	Project string `json:"project"`

	// The GCP Region the cluster lives in.
	Region string `json:"region"`

	// ControlPlaneEndpoint represents the endpoint used to communicate with the control plane.
	// +optional
	ControlPlaneEndpoint clusterv1.APIEndpoint `json:"controlPlaneEndpoint"`

	// NetworkSpec encapsulates all things related to the GCP network.
	// +optional
	Network infrav1.NetworkSpec `json:"network"`

	// AdditionalLabels is an optional set of tags to add to GCP resources managed by the GCP provider, in addition to the
	// ones added by default.
	// +optional
	AdditionalLabels infrav1.Labels `json:"additionalLabels,omitempty"`

	// ResourceManagerTags is an optional set of tags to apply to GCP resources managed
	// by the GCP provider. GCP supports a maximum of 50 tags per resource.
	// +maxItems=50
	// +optional
	ResourceManagerTags infrav1.ResourceManagerTags `json:"resourceManagerTags,omitempty"`

	// CredentialsRef is a reference to a Secret that contains the credentials to use for provisioning this cluster. If not
	// supplied then the credentials of the controller will be used.
	// +optional
	CredentialsRef *infrav1.ObjectReference `json:"credentialsRef,omitempty"`

	// LoadBalancerSpec contains configuration for one or more LoadBalancers.
	// +optional
	LoadBalancer infrav1.LoadBalancerSpec `json:"loadBalancer,omitempty"`
}

GCPManagedClusterSpec defines the desired state of GCPManagedCluster.

func (*GCPManagedClusterSpec) DeepCopy

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

func (*GCPManagedClusterSpec) DeepCopyInto

func (in *GCPManagedClusterSpec) DeepCopyInto(out *GCPManagedClusterSpec)

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

type GCPManagedClusterStatus

type GCPManagedClusterStatus struct {
	FailureDomains clusterv1.FailureDomains `json:"failureDomains,omitempty"`
	Network        infrav1.Network          `json:"network,omitempty"`
	Ready          bool                     `json:"ready"`
	// Conditions specifies the conditions for the managed control plane
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

GCPManagedClusterStatus defines the observed state of GCPManagedCluster.

func (*GCPManagedClusterStatus) DeepCopy

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

func (*GCPManagedClusterStatus) DeepCopyInto

func (in *GCPManagedClusterStatus) DeepCopyInto(out *GCPManagedClusterStatus)

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

type GCPManagedControlPlane

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

	Spec   GCPManagedControlPlaneSpec   `json:"spec,omitempty"`
	Status GCPManagedControlPlaneStatus `json:"status,omitempty"`
}

GCPManagedControlPlane is the Schema for the gcpmanagedcontrolplanes API.

func (*GCPManagedControlPlane) DeepCopy

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

func (*GCPManagedControlPlane) DeepCopyInto

func (in *GCPManagedControlPlane) DeepCopyInto(out *GCPManagedControlPlane)

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

func (*GCPManagedControlPlane) DeepCopyObject

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

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

func (*GCPManagedControlPlane) Default

func (r *GCPManagedControlPlane) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*GCPManagedControlPlane) GetConditions

func (r *GCPManagedControlPlane) GetConditions() clusterv1.Conditions

GetConditions returns the control planes conditions.

func (*GCPManagedControlPlane) SetConditions

func (r *GCPManagedControlPlane) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the status conditions for the GCPManagedControlPlane.

func (*GCPManagedControlPlane) SetupWebhookWithManager

func (r *GCPManagedControlPlane) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*GCPManagedControlPlane) ValidateCreate

func (r *GCPManagedControlPlane) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*GCPManagedControlPlane) ValidateDelete

func (r *GCPManagedControlPlane) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*GCPManagedControlPlane) ValidateUpdate

func (r *GCPManagedControlPlane) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type GCPManagedControlPlaneList

type GCPManagedControlPlaneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GCPManagedControlPlane `json:"items"`
}

GCPManagedControlPlaneList contains a list of GCPManagedControlPlane.

func (*GCPManagedControlPlaneList) DeepCopy

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

func (*GCPManagedControlPlaneList) DeepCopyInto

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

func (*GCPManagedControlPlaneList) DeepCopyObject

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

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

type GCPManagedControlPlaneSpec

type GCPManagedControlPlaneSpec struct {
	// ClusterName allows you to specify the name of the GKE cluster.
	// If you don't specify a name then a default name will be created
	// based on the namespace and name of the managed control plane.
	// +optional
	ClusterName string `json:"clusterName,omitempty"`

	// Description describe the cluster.
	// +optional
	Description string `json:"description,omitempty"`

	// ClusterNetwork define the cluster network.
	// +optional
	ClusterNetwork *ClusterNetwork `json:"clusterNetwork,omitempty"`

	// Project is the name of the project to deploy the cluster to.
	Project string `json:"project"`
	// Location represents the location (region or zone) in which the GKE cluster
	// will be created.
	Location string `json:"location"`
	// EnableAutopilot indicates whether to enable autopilot for this GKE cluster.
	// +optional
	EnableAutopilot bool `json:"enableAutopilot"`
	// ReleaseChannel represents the release channel of the GKE cluster.
	// +optional
	ReleaseChannel *ReleaseChannel `json:"releaseChannel,omitempty"`
	// ControlPlaneVersion represents the control plane version of the GKE cluster.
	// If not specified, the default version currently supported by GKE will be
	// used.
	// +optional
	ControlPlaneVersion *string `json:"controlPlaneVersion,omitempty"`
	// Endpoint represents the endpoint used to communicate with the control plane.
	// +optional
	Endpoint clusterv1.APIEndpoint `json:"endpoint"`
	// MasterAuthorizedNetworksConfig represents configuration options for master authorized networks feature of the GKE cluster.
	// This feature is disabled if this field is not specified.
	// +optional
	MasterAuthorizedNetworksConfig *MasterAuthorizedNetworksConfig `json:"master_authorized_networks_config,omitempty"`
}

GCPManagedControlPlaneSpec defines the desired state of GCPManagedControlPlane.

func (*GCPManagedControlPlaneSpec) DeepCopy

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

func (*GCPManagedControlPlaneSpec) DeepCopyInto

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

type GCPManagedControlPlaneStatus

type GCPManagedControlPlaneStatus struct {
	// Ready denotes that the GCPManagedControlPlane API Server is ready to
	// receive requests.
	// +kubebuilder:default=false
	Ready bool `json:"ready"`

	// Initialized is true when the control plane is available for initial contact.
	// This may occur before the control plane is fully ready.
	// +optional
	Initialized bool `json:"initialized,omitempty"`

	// Conditions specifies the conditions for the managed control plane
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`

	// CurrentVersion shows the current version of the GKE control plane.
	// +optional
	CurrentVersion string `json:"currentVersion,omitempty"`
}

GCPManagedControlPlaneStatus defines the observed state of GCPManagedControlPlane.

func (*GCPManagedControlPlaneStatus) DeepCopy

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

func (*GCPManagedControlPlaneStatus) DeepCopyInto

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

type GCPManagedMachinePool

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

	Spec   GCPManagedMachinePoolSpec   `json:"spec,omitempty"`
	Status GCPManagedMachinePoolStatus `json:"status,omitempty"`
}

GCPManagedMachinePool is the Schema for the gcpmanagedmachinepools API.

func (*GCPManagedMachinePool) DeepCopy

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

func (*GCPManagedMachinePool) DeepCopyInto

func (in *GCPManagedMachinePool) DeepCopyInto(out *GCPManagedMachinePool)

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

func (*GCPManagedMachinePool) DeepCopyObject

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

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

func (*GCPManagedMachinePool) Default

func (r *GCPManagedMachinePool) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type.

func (*GCPManagedMachinePool) GetConditions

func (r *GCPManagedMachinePool) GetConditions() clusterv1.Conditions

GetConditions returns the machine pool conditions.

func (*GCPManagedMachinePool) SetConditions

func (r *GCPManagedMachinePool) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the status conditions for the GCPManagedMachinePool.

func (*GCPManagedMachinePool) SetupWebhookWithManager

func (r *GCPManagedMachinePool) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*GCPManagedMachinePool) ValidateCreate

func (r *GCPManagedMachinePool) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type.

func (*GCPManagedMachinePool) ValidateDelete

func (r *GCPManagedMachinePool) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type.

func (*GCPManagedMachinePool) ValidateUpdate

func (r *GCPManagedMachinePool) ValidateUpdate(oldRaw runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type.

type GCPManagedMachinePoolList

type GCPManagedMachinePoolList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []GCPManagedMachinePool `json:"items"`
}

GCPManagedMachinePoolList contains a list of GCPManagedMachinePool.

func (*GCPManagedMachinePoolList) DeepCopy

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

func (*GCPManagedMachinePoolList) DeepCopyInto

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

func (*GCPManagedMachinePoolList) DeepCopyObject

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

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

type GCPManagedMachinePoolSpec

type GCPManagedMachinePoolSpec struct {
	// NodePoolName specifies the name of the GKE node pool corresponding to this MachinePool. If you don't specify a name
	// then a default name will be created based on the namespace and name of the managed machine pool.
	// +optional
	NodePoolName string `json:"nodePoolName,omitempty"`
	// MachineType is the name of a Google Compute Engine [machine
	// type](https://cloud.google.com/compute/docs/machine-types).
	// If unspecified, the default machine type is `e2-medium`.
	// +optional
	MachineType *string `json:"machineType,omitempty"`
	// DiskSizeGb is the size of the disk attached to each node, specified in GB.
	// The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.
	// +optional
	DiskSizeGb *int32 `json:"diskSizeGb,omitempty"`
	// LocalSsdCount is the number of local SSD disks to be attached to the node.
	// +optional
	LocalSsdCount *int32 `json:"localSsdCount,omitempty"`
	// Scaling specifies scaling for the node pool
	// +optional
	Scaling *NodePoolAutoScaling `json:"scaling,omitempty"`
	// NodeLocations is the list of zones in which the NodePool's
	// nodes should be located.
	// +optional
	NodeLocations []string `json:"nodeLocations,omitempty"`
	// ImageType is image type to use for this nodepool.
	// +optional
	ImageType *string `json:"imageType,omitempty"`
	// InstanceType is name of Compute Engine machine type.
	// +optional
	InstanceType *string `json:"instanceType,omitempty"`
	// DiskType is type of the disk attached to each node.
	// +optional
	DiskType *DiskType `json:"diskType,omitempty"`
	// DiskSizeGB is size of the disk attached to each node,
	// specified in GB.
	// +kubebuilder:validation:Minimum:=10
	// +optional
	DiskSizeGB *int64 `json:"diskSizeGB,omitempty"`
	// MaxPodsPerNode is constraint enforced on the max num of
	// pods per node.
	// +kubebuilder:validation:Minimum:=8
	// +kubebuilder:validation:Maximum:=256
	// +optional
	MaxPodsPerNode *int64 `json:"maxPodsPerNode,omitempty"`
	// NodeNetwork specifies the node network configuration
	// options.
	// +optional
	NodeNetwork NodeNetworkConfig `json:"nodeNetwork,omitempty"`
	// NodeSecurity specifies the node security options.
	// +optional
	NodeSecurity NodeSecurityConfig `json:"nodeSecurity,omitempty"`
	// KubernetesLabels specifies the labels to apply to the nodes of the node pool.
	// +optional
	KubernetesLabels infrav1.Labels `json:"kubernetesLabels,omitempty"`
	// KubernetesTaints specifies the taints to apply to the nodes of the node pool.
	// +optional
	KubernetesTaints Taints `json:"kubernetesTaints,omitempty"`
	// AdditionalLabels is an optional set of tags to add to GCP resources managed by the GCP provider, in addition to the
	// ones added by default.
	// +optional
	AdditionalLabels infrav1.Labels `json:"additionalLabels,omitempty"`
	// Management specifies the node pool management options.
	// +optional
	Management *NodePoolManagement `json:"management,omitempty"`
	// LinuxNodeConfig specifies the settings for Linux agent nodes.
	// +optional
	LinuxNodeConfig *LinuxNodeConfig `json:"linuxNodeConfig,omitempty"`
	// ProviderIDList are the provider IDs of instances in the
	// managed instance group corresponding to the nodegroup represented by this
	// machine pool
	// +optional
	ProviderIDList []string `json:"providerIDList,omitempty"`
}

GCPManagedMachinePoolSpec defines the desired state of GCPManagedMachinePool.

func (*GCPManagedMachinePoolSpec) DeepCopy

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

func (*GCPManagedMachinePoolSpec) DeepCopyInto

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

type GCPManagedMachinePoolStatus

type GCPManagedMachinePoolStatus struct {
	// Ready denotes that the GCPManagedMachinePool has joined the cluster
	// +kubebuilder:default=false
	Ready bool `json:"ready"`
	// Replicas is the most recently observed number of replicas.
	// +optional
	Replicas int32 `json:"replicas"`
	// Conditions specifies the cpnditions for the managed machine pool
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

GCPManagedMachinePoolStatus defines the observed state of GCPManagedMachinePool.

func (*GCPManagedMachinePoolStatus) DeepCopy

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

func (*GCPManagedMachinePoolStatus) DeepCopyInto

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

type LinuxNodeConfig added in v1.6.0

type LinuxNodeConfig struct {
	// Sysctls specifies the sysctl settings for this node pool.
	// +optional
	Sysctls []SysctlConfig `json:"sysctls,omitempty"`
	// CgroupMode specifies the cgroup mode for this node pool.
	// +optional
	CgroupMode *ManagedNodePoolCgroupMode `json:"cgroupMode,omitempty"`
}

LinuxNodeConfig specifies the settings for Linux agent nodes.

func (*LinuxNodeConfig) DeepCopy added in v1.6.0

func (in *LinuxNodeConfig) DeepCopy() *LinuxNodeConfig

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

func (*LinuxNodeConfig) DeepCopyInto added in v1.6.0

func (in *LinuxNodeConfig) DeepCopyInto(out *LinuxNodeConfig)

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

type ManagedNodePoolCgroupMode added in v1.6.0

type ManagedNodePoolCgroupMode int32

ManagedNodePoolCgroupMode specifies the cgroup mode of the node pool when autoscaling is enabled.

type ManagedNodePoolLocationPolicy added in v1.6.0

type ManagedNodePoolLocationPolicy string

ManagedNodePoolLocationPolicy specifies the location policy of the node pool when autoscaling is enabled.

const (
	// ManagedNodePoolLocationPolicyBalanced aims to balance the sizes of different zones.
	ManagedNodePoolLocationPolicyBalanced ManagedNodePoolLocationPolicy = "balanced"
	// ManagedNodePoolLocationPolicyAny picks zones that have the highest capacity available.
	ManagedNodePoolLocationPolicyAny ManagedNodePoolLocationPolicy = "any"
)

type MasterAuthorizedNetworksConfig added in v1.5.0

type MasterAuthorizedNetworksConfig struct {
	// cidr_blocks define up to 50 external networks that could access
	// Kubernetes master through HTTPS.
	// +optional
	CidrBlocks []*MasterAuthorizedNetworksConfigCidrBlock `json:"cidr_blocks,omitempty"`
	// Whether master is accessible via Google Compute Engine Public IP addresses.
	// +optional
	GcpPublicCidrsAccessEnabled *bool `json:"gcp_public_cidrs_access_enabled,omitempty"`
}

MasterAuthorizedNetworksConfig contains configuration options for the master authorized networks feature. Enabled master authorized networks will disallow all external traffic to access Kubernetes master through HTTPS except traffic from the given CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs.

func (*MasterAuthorizedNetworksConfig) DeepCopy added in v1.5.0

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

func (*MasterAuthorizedNetworksConfig) DeepCopyInto added in v1.5.0

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

type MasterAuthorizedNetworksConfigCidrBlock added in v1.5.0

type MasterAuthorizedNetworksConfigCidrBlock struct {
	// display_name is an field for users to identify CIDR blocks.
	DisplayName string `json:"display_name,omitempty"`
	// cidr_block must be specified in CIDR notation.
	// +kubebuilder:validation:Pattern=`^(?:[0-9]{1,3}\.){3}[0-9]{1,3}(?:\/([0-9]|[1-2][0-9]|3[0-2]))?$|^([a-fA-F0-9:]+:+)+[a-fA-F0-9]+\/[0-9]{1,3}$`
	CidrBlock string `json:"cidr_block,omitempty"`
}

MasterAuthorizedNetworksConfigCidrBlock contains an optional name and one CIDR block.

func (*MasterAuthorizedNetworksConfigCidrBlock) DeepCopy added in v1.5.0

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

func (*MasterAuthorizedNetworksConfigCidrBlock) DeepCopyInto added in v1.5.0

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

type NodeNetworkConfig added in v1.6.0

type NodeNetworkConfig struct {
	// Tags is list of instance tags applied to all nodes. Tags
	// are used to identify valid sources or targets for network
	// firewalls.
	// +optional
	Tags []string `json:"tags,omitempty"`
	// CreatePodRange specifies whether to create a new range for
	// pod IPs in this node pool.
	// +optional
	CreatePodRange *bool `json:"createPodRange,omitempty"`
	// PodRangeName is ID of the secondary range for pod IPs.
	// +optional
	PodRangeName *string `json:"podRangeName,omitempty"`
	// PodRangeCidrBlock is the IP address range for pod IPs in
	// this node pool.
	// +optional
	PodRangeCidrBlock *string `json:"podRangeCidrBlock,omitempty"`
}

NodeNetworkConfig encapsulates node network configurations.

func (*NodeNetworkConfig) DeepCopy added in v1.6.0

func (in *NodeNetworkConfig) DeepCopy() *NodeNetworkConfig

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

func (*NodeNetworkConfig) DeepCopyInto added in v1.6.0

func (in *NodeNetworkConfig) DeepCopyInto(out *NodeNetworkConfig)

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

type NodePoolAutoScaling

type NodePoolAutoScaling struct {
	// MinCount specifies the minimum number of nodes in the node pool
	// +optional
	MinCount *int32 `json:"minCount,omitempty"`
	// MaxCount specifies the maximum number of nodes in the node pool
	// +optional
	MaxCount *int32 `json:"maxCount,omitempty"`
	// Is autoscaling enabled for this node pool. If unspecified, the default value is true.
	// +optional
	EnableAutoscaling *bool `json:"enableAutoscaling,omitempty"`
	// Location policy used when scaling up a nodepool.
	// +kubebuilder:validation:Enum=balanced;any
	// +optional
	LocationPolicy *ManagedNodePoolLocationPolicy `json:"locationPolicy,omitempty"`
}

NodePoolAutoScaling specifies scaling options.

func (*NodePoolAutoScaling) DeepCopy

func (in *NodePoolAutoScaling) DeepCopy() *NodePoolAutoScaling

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

func (*NodePoolAutoScaling) DeepCopyInto

func (in *NodePoolAutoScaling) DeepCopyInto(out *NodePoolAutoScaling)

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

type NodePoolManagement added in v1.6.0

type NodePoolManagement struct {
	// AutoUpgrade specifies whether node auto-upgrade is enabled for the node
	// pool. If enabled, node auto-upgrade helps keep the nodes in your node pool
	// up to date with the latest release version of Kubernetes.
	AutoUpgrade bool `json:"autoUpgrade,omitempty"`
	// AutoRepair specifies whether the node auto-repair is enabled for the node
	// pool. If enabled, the nodes in this node pool will be monitored and, if
	// they fail health checks too many times, an automatic repair action will be
	// triggered.
	AutoRepair bool `json:"autoRepair,omitempty"`
}

NodePoolManagement specifies auto-upgrade and auto-repair options.

func (*NodePoolManagement) DeepCopy added in v1.6.0

func (in *NodePoolManagement) DeepCopy() *NodePoolManagement

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

func (*NodePoolManagement) DeepCopyInto added in v1.6.0

func (in *NodePoolManagement) DeepCopyInto(out *NodePoolManagement)

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

type NodeSecurityConfig added in v1.6.0

type NodeSecurityConfig struct {
	// ServiceAccount specifies the identity details for node
	// pool.
	// +optional
	ServiceAccount ServiceAccountConfig `json:"serviceAccount,omitempty"`
	// SandboxType is type of the sandbox to use for the node.
	// +optional
	SandboxType *string `json:"sandboxType,omitempty"`
	// EnableSecureBoot defines whether the instance has Secure
	// Boot enabled.
	// +optional
	EnableSecureBoot *bool `json:"enableSecureBoot,omitempty"`
	// EnableIntegrityMonitoring defines whether the instance has
	// integrity monitoring enabled.
	// +optional
	EnableIntegrityMonitoring *bool `json:"enableIntegrityMonitoring,omitempty"`
}

NodeSecurityConfig encapsulates node security configurations.

func (*NodeSecurityConfig) DeepCopy added in v1.6.0

func (in *NodeSecurityConfig) DeepCopy() *NodeSecurityConfig

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

func (*NodeSecurityConfig) DeepCopyInto added in v1.6.0

func (in *NodeSecurityConfig) DeepCopyInto(out *NodeSecurityConfig)

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

type PrivateCluster added in v1.8.0

type PrivateCluster struct {
	// EnablePrivateEndpoint: Whether the master's internal IP
	// address is used as the cluster endpoint.
	// +optional
	EnablePrivateEndpoint bool `json:"enablePrivateEndpoint,omitempty"`

	// EnablePrivateNodes: Whether nodes have internal IP
	// addresses only. If enabled, all nodes are given only RFC
	// 1918 private addresses and communicate with the master via
	// private networking.
	// +optional
	EnablePrivateNodes bool `json:"enablePrivateNodes,omitempty"`

	// ControlPlaneCidrBlock is the IP range in CIDR notation to use for the hosted master network. This range must not
	// overlap with any other ranges in use within the cluster's network. Honored when enabled is true.
	// +optional
	ControlPlaneCidrBlock string `json:"controlPlaneCidrBlock,omitempty"`

	// ControlPlaneGlobalAccess is whenever master is accessible globally or not. Honored when enabled is true.
	// +optional
	ControlPlaneGlobalAccess bool `json:"controlPlaneGlobalAccess,omitempty"`

	// DisableDefaultSNAT disables cluster default sNAT rules. Honored when enabled is true.
	// +optional
	DisableDefaultSNAT bool `json:"disableDefaultSNAT,omitempty"`
}

PrivateCluster defines a private Cluster.

func (*PrivateCluster) DeepCopy added in v1.8.0

func (in *PrivateCluster) DeepCopy() *PrivateCluster

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

func (*PrivateCluster) DeepCopyInto added in v1.8.0

func (in *PrivateCluster) DeepCopyInto(out *PrivateCluster)

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

type ReleaseChannel

type ReleaseChannel string

ReleaseChannel is the release channel of the GKE cluster +kubebuilder:validation:Enum=rapid;regular;stable

const (
	// Rapid release channel.
	Rapid ReleaseChannel = "rapid"
	// Regular release channel.
	Regular ReleaseChannel = "regular"
	// Stable release channel.
	Stable ReleaseChannel = "stable"
)

type ServiceAccountConfig added in v1.6.0

type ServiceAccountConfig struct {
	// Email is the Google Cloud Platform Service Account to be
	// used by the node VMs.
	// +optional
	Email *string `json:"email,omitempty"`
	// Scopes is a set of Google API scopes to be made available
	// on all of the node VMs under the "default" service account.
	// +optional
	Scopes []string `json:"scopes,omitempty"`
}

ServiceAccountConfig encapsulates service account options.

func (*ServiceAccountConfig) DeepCopy added in v1.6.0

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

func (*ServiceAccountConfig) DeepCopyInto added in v1.6.0

func (in *ServiceAccountConfig) DeepCopyInto(out *ServiceAccountConfig)

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

type SysctlConfig added in v1.6.0

type SysctlConfig struct {
	// Parameter specifies sysctl parameter name.
	// +optional
	Parameter string `json:"parameter,omitempty"`
	// Value specifies sysctl parameter value.
	// +optional
	Value string `json:"value,omitempty"`
}

SysctlConfig specifies the sysctl settings for Linux nodes.

func (*SysctlConfig) DeepCopy added in v1.6.0

func (in *SysctlConfig) DeepCopy() *SysctlConfig

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

func (*SysctlConfig) DeepCopyInto added in v1.6.0

func (in *SysctlConfig) DeepCopyInto(out *SysctlConfig)

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

type Taint

type Taint struct {
	// Effect specifies the effect for the taint.
	// +kubebuilder:validation:Enum=NoSchedule;NoExecute;PreferNoSchedule
	Effect TaintEffect `json:"effect"`
	// Key is the key of the taint
	Key string `json:"key"`
	// Value is the value of the taint
	Value string `json:"value"`
}

Taint represents a Kubernetes taint.

func (*Taint) DeepCopy

func (in *Taint) DeepCopy() *Taint

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

func (*Taint) DeepCopyInto

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

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

type TaintEffect

type TaintEffect string

TaintEffect is the effect for a Kubernetes taint.

type Taints

type Taints []Taint

Taints is an array of Taints.

func (Taints) DeepCopy

func (in Taints) DeepCopy() Taints

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

func (Taints) DeepCopyInto

func (in Taints) DeepCopyInto(out *Taints)

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

type WorkloadIdentityConfig added in v1.8.0

type WorkloadIdentityConfig struct {
	// WorkloadPool is the workload pool to attach all Kubernetes service accounts to Google Cloud services.
	// Only relevant when enabled is true
	// +kubebuilder:validation:Required
	WorkloadPool string `json:"workloadPool,omitempty"`
}

WorkloadIdentityConfig allows workloads in your GKE clusters to impersonate Identity and Access Management (IAM) service accounts to access Google Cloud services.

func (*WorkloadIdentityConfig) DeepCopy added in v1.8.0

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

func (*WorkloadIdentityConfig) DeepCopyInto added in v1.8.0

func (in *WorkloadIdentityConfig) DeepCopyInto(out *WorkloadIdentityConfig)

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

Jump to

Keyboard shortcuts

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