v1alpha2

package
v0.4.20 Latest Latest
Warning

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

Go to latest
Published: Jul 31, 2020 License: Apache-2.0 Imports: 12 Imported by: 44

Documentation

Overview

+groupName=infrastructure.giantswarm.io

Index

Constants

View Source
const (
	// ClusterConditionLimit is the maximum amount of conditions tracked in the
	// condition list of a tenant cluster's status. The limit here is applied to
	// equal condition pairs. For instance a cluster having transitioned through 6
	// cluster upgrades throughout its lifetime will only track 5 Updating/Updated
	// condition pairs in its condition list.
	//
	//     conditions:
	//     - lastTransitionTime: "2019-08-23T13:15:19.830177296Z"
	//       condition: Updated
	//     - lastTransitionTime: "2019-08-23T12:12:25.942680489Z"
	//       condition: Updating
	//     - lastTransitionTime: "2019-08-15T14:27:12.813903533Z"
	//       condition: Updated
	//     - lastTransitionTime: "2019-08-15T13:20:16.955248597Z"
	//       condition: Updating
	//     - lastTransitionTime: "2019-07-23T09:31:28.761118959Z"
	//       condition: Updated
	//     - lastTransitionTime: "2019-07-23T08:15:07.523067044Z"
	//       condition: Updating
	//     - lastTransitionTime: "2019-06-17T18:20:30.29872263Z"
	//       condition: Updated
	//     - lastTransitionTime: "2019-06-17T17:14:12.707323902Z"
	//       condition: Updating
	//     - lastTransitionTime: "2019-06-04T13:14:03.523010234Z"
	//       condition: Updated
	//     - lastTransitionTime: "2019-06-04T12:18:09.334829389Z"
	//       condition: Updating
	//     - lastTransitionTime: "2019-05-17T11:25:37.495980406Z"
	//       condition: Created
	//     - lastTransitionTime: "2019-05-17T10:16:25.736159078Z"
	//       condition: Creating
	//
	ClusterConditionLimit = 5
	// ClusterVersionLimit is the maximum amount of versions tracked in the
	// version list of a tenant cluster's status. The limit here is applied to the
	// total amount of the list's number of entries. For instance a cluster having
	// transitioned through 6 cluster upgrades throughout its lifetime will only
	// track 5 versions in its version list.
	//
	//     versions:
	//     - lastTransitionTime: "2019-02-14T11:18:25.212331926Z"
	//       version: 4.6.0
	//     - lastTransitionTime: "2018-12-05T16:57:58.21652461Z"
	//       version: 4.4.1
	//     - lastTransitionTime: "2018-12-05T15:42:22.443182449Z"
	//       version: 4.2.1
	//     - lastTransitionTime: "2018-10-29T03:31:08.874296621Z"
	//       version: 4.2.0
	//     - lastTransitionTime: "2018-10-29T02:09:20.393986006Z"
	//       version: 3.3.3
	//
	ClusterVersionLimit = 15
)
View Source
const (
	ClusterStatusConditionCreated  = "Created"
	ClusterStatusConditionCreating = "Creating"
)
View Source
const (
	ClusterStatusConditionDeleted  = "Deleted"
	ClusterStatusConditionDeleting = "Deleting"
)
View Source
const (
	ClusterStatusConditionUpdated  = "Updated"
	ClusterStatusConditionUpdating = "Updating"
)

Variables

View Source
var (

	// AddToScheme is used by the generated client.
	AddToScheme = schemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{
	Group:   group,
	Version: version,
}

SchemeGroupVersion is group version used to register these objects

Functions

func NewAWSClusterCRD

func NewAWSClusterCRD() *v1.CustomResourceDefinition

func NewAWSClusterTypeMeta

func NewAWSClusterTypeMeta() metav1.TypeMeta

func NewAWSControlPlaneCRD

func NewAWSControlPlaneCRD() *v1.CustomResourceDefinition

func NewAWSControlPlaneTypeMeta

func NewAWSControlPlaneTypeMeta() metav1.TypeMeta

func NewAWSMachineDeploymentCRD

func NewAWSMachineDeploymentCRD() *v1.CustomResourceDefinition

func NewAWSMachineDeploymentTypeMeta

func NewAWSMachineDeploymentTypeMeta() metav1.TypeMeta

func NewG8sControlPlaneCRD

func NewG8sControlPlaneCRD() *v1.CustomResourceDefinition

func NewG8sControlPlaneTypeMeta

func NewG8sControlPlaneTypeMeta() metav1.TypeMeta

Types

type AWSCluster

type AWSCluster struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              AWSClusterSpec `json:"spec"`
	// +kubebuilder:validation:Optional
	// Spec part of the AWSCluster resource.
	Status AWSClusterStatus `json:"status,omitempty"`
}

AWSCluster is the infrastructure provider referenced in upstream CAPI Cluster CRs.

func NewAWSClusterCR

func NewAWSClusterCR() *AWSCluster

NewAWSClusterCR returns an AWSCluster Custom Resource.

func (*AWSCluster) DeepCopy

func (in *AWSCluster) DeepCopy() *AWSCluster

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

func (*AWSCluster) DeepCopyInto

func (in *AWSCluster) DeepCopyInto(out *AWSCluster)

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

func (*AWSCluster) DeepCopyObject

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

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

func (*AWSCluster) GetCommonClusterStatus

func (c *AWSCluster) GetCommonClusterStatus() CommonClusterStatus

func (*AWSCluster) SetCommonClusterStatus

func (c *AWSCluster) SetCommonClusterStatus(s CommonClusterStatus)

type AWSClusterList

type AWSClusterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []AWSCluster `json:"items"`
}

AWSClusterList is the type returned when listing AWSCLuster resources.

func (*AWSClusterList) DeepCopy

func (in *AWSClusterList) DeepCopy() *AWSClusterList

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

func (*AWSClusterList) DeepCopyInto

func (in *AWSClusterList) DeepCopyInto(out *AWSClusterList)

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

func (*AWSClusterList) DeepCopyObject

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

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

type AWSClusterSpec

type AWSClusterSpec struct {
	// Cluster specification details.
	Cluster AWSClusterSpecCluster `json:"cluster"`
	// Provider-specific configuration details.
	Provider AWSClusterSpecProvider `json:"provider"`
}

AWSClusterSpec is the spec part for the AWSCluster resource. +k8s:openapi-gen=true

func (*AWSClusterSpec) DeepCopy

func (in *AWSClusterSpec) DeepCopy() *AWSClusterSpec

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

func (*AWSClusterSpec) DeepCopyInto

func (in *AWSClusterSpec) DeepCopyInto(out *AWSClusterSpec)

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

type AWSClusterSpecCluster

type AWSClusterSpecCluster struct {
	// User-friendly description that should explain the purpose of the
	// cluster to humans.
	Description string `json:"description"`
	// DNS configuration details.
	DNS AWSClusterSpecClusterDNS `json:"dns"`
	// +kubebuilder:validation:Optional
	// Flags passed to kube-proxy on each node.
	KubeProxy AWSClusterSpecClusterKubeProxy `json:"kubeProxy,omitempty"`
	// Configuration for OpenID Connect (OIDC) authentication.
	OIDC AWSClusterSpecClusterOIDC `json:"oidc,omitempty"`
}

AWSClusterSpecCluster provides cluster specification details. +k8s:openapi-gen=true

func (*AWSClusterSpecCluster) DeepCopy

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

func (*AWSClusterSpecCluster) DeepCopyInto

func (in *AWSClusterSpecCluster) DeepCopyInto(out *AWSClusterSpecCluster)

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

type AWSClusterSpecClusterDNS

type AWSClusterSpecClusterDNS struct {
	Domain string `json:"domain"`
}

AWSClusterSpecClusterDNS holds DNS configuration details. +k8s:openapi-gen=true

func (*AWSClusterSpecClusterDNS) DeepCopy

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

func (*AWSClusterSpecClusterDNS) DeepCopyInto

func (in *AWSClusterSpecClusterDNS) DeepCopyInto(out *AWSClusterSpecClusterDNS)

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

type AWSClusterSpecClusterKubeProxy added in v0.3.8

type AWSClusterSpecClusterKubeProxy struct {
	// Maximum number of NAT connections to track per CPU core (0 for default).
	// Passed to kube-proxy as --conntrack-max-per-core.
	ConntrackMaxPerCore int `json:"conntrackMaxPerCore,omitempty"`
}

AWSClusterSpecClusterKubeProxy describes values passed to the kube-proxy running in a tenant cluster. +k8s:openapi-gen=true

func (*AWSClusterSpecClusterKubeProxy) DeepCopy added in v0.3.8

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

func (*AWSClusterSpecClusterKubeProxy) DeepCopyInto added in v0.3.8

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

type AWSClusterSpecClusterOIDC

type AWSClusterSpecClusterOIDC struct {
	Claims    AWSClusterSpecClusterOIDCClaims `json:"claims,omitempty"`
	ClientID  string                          `json:"clientID,omitempty"`
	IssuerURL string                          `json:"issuerURL,omitempty"`
}

AWSClusterSpecClusterOIDC holds configuration for OpenID Connect (OIDC) authentication. +k8s:openapi-gen=true

func (*AWSClusterSpecClusterOIDC) DeepCopy

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

func (*AWSClusterSpecClusterOIDC) DeepCopyInto

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

type AWSClusterSpecClusterOIDCClaims

type AWSClusterSpecClusterOIDCClaims struct {
	Username string `json:"username,omitempty"`
	Groups   string `json:"groups,omitempty"`
}

AWSClusterSpecClusterOIDCClaims defines OIDC claims. +k8s:openapi-gen=true

func (*AWSClusterSpecClusterOIDCClaims) DeepCopy

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

func (*AWSClusterSpecClusterOIDCClaims) DeepCopyInto

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

type AWSClusterSpecProvider

type AWSClusterSpecProvider struct {
	// Location of a secret providing the ARN of AWS IAM identity
	// to use with this cluster.
	CredentialSecret AWSClusterSpecProviderCredentialSecret `json:"credentialSecret"`
	// +kubebuilder:validation:Optional
	// Master holds master node configuration details.
	// Note that this attribute is being deprecated. The master node specification can now be found in the AWSControlPlane resource.
	Master AWSClusterSpecProviderMaster `json:"master,omitempty"`
	// +kubebuilder:validation:Optional
	// Pod network configuration.
	Pods AWSClusterSpecProviderPods `json:"pods,omitempty"`
	// AWS region the cluster is to be running in.
	Region string `json:"region"`
}

AWSClusterSpecProvider holds some AWS details. +k8s:openapi-gen=true

func (*AWSClusterSpecProvider) DeepCopy

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

func (*AWSClusterSpecProvider) DeepCopyInto

func (in *AWSClusterSpecProvider) DeepCopyInto(out *AWSClusterSpecProvider)

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

type AWSClusterSpecProviderCredentialSecret

type AWSClusterSpecProviderCredentialSecret struct {
	// Name of the provider credential resoure.
	Name string `json:"name"`
	// Kubernetes namespace holding the provider credential.
	Namespace string `json:"namespace"`
}

AWSClusterSpecProviderCredentialSecret details how to chose the AWS IAM identity ARN to use with this cluster. +k8s:openapi-gen=true

func (*AWSClusterSpecProviderCredentialSecret) DeepCopy

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

func (*AWSClusterSpecProviderCredentialSecret) DeepCopyInto

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

type AWSClusterSpecProviderMaster

type AWSClusterSpecProviderMaster struct {
	// +kubebuilder:validation:Optional
	// AWS availability zone to place the master node in.
	AvailabilityZone string `json:"availabilityZone"`
	// +kubebuilder:validation:Optional
	// AWS EC2 instance type to use for the master node.
	InstanceType string `json:"instanceType"`
}

AWSClusterSpecProviderMaster holds master node configuration details. +k8s:openapi-gen=true

func (*AWSClusterSpecProviderMaster) DeepCopy

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

func (*AWSClusterSpecProviderMaster) DeepCopyInto

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

type AWSClusterSpecProviderPods added in v0.3.0

type AWSClusterSpecProviderPods struct {
	// +kubebuilder:validation:Optional
	// IPv4 address block used for pods, in CIDR notation.
	CIDRBlock string `json:"cidrBlock,omitempty"`
	// +kubebuilder:validation:Optional
	// When set to false, pod connections outside the VPC where the pod is located will be NATed through the node primary IP. When set to true, all connections will use the pod IP.
	ExternalSNAT *bool `json:"externalSNAT,omitempty"`
}

AWSClusterSpecProviderPods Pod network configuration. +k8s:openapi-gen=true

func (*AWSClusterSpecProviderPods) DeepCopy added in v0.3.1

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

func (*AWSClusterSpecProviderPods) DeepCopyInto added in v0.3.1

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

type AWSClusterStatus

type AWSClusterStatus struct {
	// +kubebuilder:validation:Optional
	// Cluster-specific status details, including conditions and versions.
	Cluster CommonClusterStatus `json:"cluster,omitempty"`
	// +kubebuilder:validation:Optional
	// Provider-specific status details.
	Provider AWSClusterStatusProvider `json:"provider,omitempty"`
}

AWSClusterStatus holds status information about the cluster, populated once the cluster is in creation or created. +k8s:openapi-gen=true

func (*AWSClusterStatus) DeepCopy

func (in *AWSClusterStatus) DeepCopy() *AWSClusterStatus

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

func (*AWSClusterStatus) DeepCopyInto

func (in *AWSClusterStatus) DeepCopyInto(out *AWSClusterStatus)

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

type AWSClusterStatusProvider

type AWSClusterStatusProvider struct {
	// +kubebuilder:validation:Optional
	// Network-specific configuration details
	Network AWSClusterStatusProviderNetwork `json:"network,omitempty"`
}

AWSClusterStatusProvider holds provider-specific status details. +k8s:openapi-gen=true

func (*AWSClusterStatusProvider) DeepCopy

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

func (*AWSClusterStatusProvider) DeepCopyInto

func (in *AWSClusterStatusProvider) DeepCopyInto(out *AWSClusterStatusProvider)

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

type AWSClusterStatusProviderNetwork

type AWSClusterStatusProviderNetwork struct {
	// +kubebuilder:validation:Optional
	// IPv4 address block used by the tenant cluster nodes, in CIDR notation.
	CIDR string `json:"cidr,omitempty"`
	// +kubebuilder:validation:Optional
	// Identifier of the AWS Virtual Private Cloud (VPC) of the tenant cluster, e.g. `vpc-1234567890abcdef0`.
	VPCID string `json:"vpcID,omitempty"`
}

AWSClusterStatusProviderNetwork holds network details. +k8s:openapi-gen=true

func (*AWSClusterStatusProviderNetwork) DeepCopy

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

func (*AWSClusterStatusProviderNetwork) DeepCopyInto

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

type AWSControlPlane

type AWSControlPlane struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification part of the resource.
	Spec AWSControlPlaneSpec `json:"spec"`
}

AWSControlPlane is the infrastructure provider referenced in ControlPlane CRs. Represents the master nodes (also called Control Plane) of a tenant cluster on AWS. Reconciled by aws-operator.

func NewAWSControlPlaneCR added in v0.2.1

func NewAWSControlPlaneCR() *AWSControlPlane

NewAWSControlPlaneCR returns an AWSControlPlane Custom Resource.

func (*AWSControlPlane) DeepCopy

func (in *AWSControlPlane) DeepCopy() *AWSControlPlane

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

func (*AWSControlPlane) DeepCopyInto

func (in *AWSControlPlane) DeepCopyInto(out *AWSControlPlane)

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

func (*AWSControlPlane) DeepCopyObject

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

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

type AWSControlPlaneList

type AWSControlPlaneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []AWSControlPlane `json:"items"`
}

func (*AWSControlPlaneList) DeepCopy

func (in *AWSControlPlaneList) DeepCopy() *AWSControlPlaneList

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

func (*AWSControlPlaneList) DeepCopyInto

func (in *AWSControlPlaneList) DeepCopyInto(out *AWSControlPlaneList)

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

func (*AWSControlPlaneList) DeepCopyObject

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

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

type AWSControlPlaneSpec

type AWSControlPlaneSpec struct {
	// +kubebuilder:validation:Optional
	// Configures which AWS availability zones to use by master nodes, as a list
	// of availability zone names like e. g. `eu-central-1c`. We support either
	// 1 or 3 availability zones.
	AvailabilityZones []string `json:"availabilityZones,omitempty"`
	// +kubebuilder:validation:Optional
	// EC2 instance type identifier to use for the master node(s).
	InstanceType string `json:"instanceType,omitempty"`
}

+k8s:openapi-gen=true

func (*AWSControlPlaneSpec) DeepCopy

func (in *AWSControlPlaneSpec) DeepCopy() *AWSControlPlaneSpec

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

func (*AWSControlPlaneSpec) DeepCopyInto

func (in *AWSControlPlaneSpec) DeepCopyInto(out *AWSControlPlaneSpec)

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

type AWSMachineDeployment

type AWSMachineDeployment struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Contains the specification.
	Spec AWSMachineDeploymentSpec `json:"spec"`
	// +kubebuilder:validation:Optional
	// Holds status information.
	Status AWSMachineDeploymentStatus `json:"status,omitempty"`
}

AWSMachineDeployment is the infrastructure provider referenced in Kubernetes Cluster API MachineDeployment resources. It contains provider-specific specification and status for a node pool. In use on AWS since Giant Swarm release v10.x.x and reconciled by aws-operator.

func (*AWSMachineDeployment) DeepCopy

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

func (*AWSMachineDeployment) DeepCopyInto

func (in *AWSMachineDeployment) DeepCopyInto(out *AWSMachineDeployment)

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

func (*AWSMachineDeployment) DeepCopyObject

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

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

type AWSMachineDeploymentList

type AWSMachineDeploymentList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []AWSMachineDeployment `json:"items"`
}

func (*AWSMachineDeploymentList) DeepCopy

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

func (*AWSMachineDeploymentList) DeepCopyInto

func (in *AWSMachineDeploymentList) DeepCopyInto(out *AWSMachineDeploymentList)

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

func (*AWSMachineDeploymentList) DeepCopyObject

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

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

type AWSMachineDeploymentSpec

type AWSMachineDeploymentSpec struct {
	// Specifies details of node pool and the worker nodes it should contain.
	NodePool AWSMachineDeploymentSpecNodePool `json:"nodePool"`
	// Contains AWS specific details.
	Provider AWSMachineDeploymentSpecProvider `json:"provider"`
}

+k8s:openapi-gen=true

func (*AWSMachineDeploymentSpec) DeepCopy

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

func (*AWSMachineDeploymentSpec) DeepCopyInto

func (in *AWSMachineDeploymentSpec) DeepCopyInto(out *AWSMachineDeploymentSpec)

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

type AWSMachineDeploymentSpecInstanceDistribution added in v0.2.1

type AWSMachineDeploymentSpecInstanceDistribution struct {
	// +kubebuilder:validation:Optional
	// +kubebuilder:default=0
	// +kubebuilder:validation:Minimum=0
	// Base capacity of on-demand instances to use for worker nodes in this pool. When this larger
	// than 0, this value defines a number of worker nodes that will be created using on-demand
	// EC2 instances, regardless of the value configured as `onDemandPercentageAboveBaseCapacity`.
	OnDemandBaseCapacity int `json:"onDemandBaseCapacity"`
	// +kubebuilder:validation:Optional
	// +kubebuilder:validation:Maximum=100
	// +kubebuilder:validation:Minimum=0
	// Percentage of on-demand EC2 instances to use for worker nodes, instead of spot instances,
	// for instances exceeding `onDemandBaseCapacity`. For example, to have half of the worker nodes
	// use spot instances and half use on-demand, set this value to 50.
	OnDemandPercentageAboveBaseCapacity *int `json:"onDemandPercentageAboveBaseCapacity"`
}

+k8s:openapi-gen=true

func (*AWSMachineDeploymentSpecInstanceDistribution) DeepCopy added in v0.2.1

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

func (*AWSMachineDeploymentSpecInstanceDistribution) DeepCopyInto added in v0.2.1

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

type AWSMachineDeploymentSpecNodePool

type AWSMachineDeploymentSpecNodePool struct {
	// User-friendly name or description of the purpose of the node pool.
	Description string `json:"description"`
	// Specification of the worker node machine.
	Machine AWSMachineDeploymentSpecNodePoolMachine `json:"machine"`
	// Scaling settings for the node pool, configuring the cluster-autoscaler
	// determining the number of nodes to have in this node pool.
	Scaling AWSMachineDeploymentSpecNodePoolScaling `json:"scaling"`
}

+k8s:openapi-gen=true

func (*AWSMachineDeploymentSpecNodePool) DeepCopy

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

func (*AWSMachineDeploymentSpecNodePool) DeepCopyInto

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

type AWSMachineDeploymentSpecNodePoolMachine

type AWSMachineDeploymentSpecNodePoolMachine struct {
	// Size of the volume reserved for Docker images and overlay file systems of
	// Docker containers. Unit: 1 GB = 1,000,000,000 Bytes.
	DockerVolumeSizeGB int `json:"dockerVolumeSizeGB"`
	// Size of the volume reserved for the kubelet, which can be used by Pods via
	// volumes of type EmptyDir. Unit: 1 GB = 1,000,000,000 Bytes.
	KubeletVolumeSizeGB int `json:"kubeletVolumeSizeGB"`
}

+k8s:openapi-gen=true

func (*AWSMachineDeploymentSpecNodePoolMachine) DeepCopy

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

func (*AWSMachineDeploymentSpecNodePoolMachine) DeepCopyInto

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

type AWSMachineDeploymentSpecNodePoolScaling

type AWSMachineDeploymentSpecNodePoolScaling struct {
	// Maximum number of worker nodes in this node pool.
	Max int `json:"max"`
	// Minimum number of worker nodes in this node pool.
	Min int `json:"min"`
}

+k8s:openapi-gen=true

func (*AWSMachineDeploymentSpecNodePoolScaling) DeepCopy

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

func (*AWSMachineDeploymentSpecNodePoolScaling) DeepCopyInto

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

type AWSMachineDeploymentSpecProvider

type AWSMachineDeploymentSpecProvider struct {
	// Name(s) of the availability zone(s) to use for worker nodes. Using multiple
	// availability zones results in higher resilience but can also result in higher
	// cost due to network traffic between availability zones.
	AvailabilityZones []string `json:"availabilityZones"`
	// +kubebuilder:validation:Optional
	// Settings defining the distribution of on-demand and spot instances in the node pool.
	InstanceDistribution AWSMachineDeploymentSpecInstanceDistribution `json:"instanceDistribution,omitempty"`
	// Specification of worker nodes.
	Worker AWSMachineDeploymentSpecProviderWorker `json:"worker"`
}

+k8s:openapi-gen=true

func (*AWSMachineDeploymentSpecProvider) DeepCopy

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

func (*AWSMachineDeploymentSpecProvider) DeepCopyInto

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

type AWSMachineDeploymentSpecProviderWorker

type AWSMachineDeploymentSpecProviderWorker struct {
	// AWS EC2 instance type name to use for the worker nodes in this node pool.
	InstanceType string `json:"instanceType"`
	// +kubebuilder:default=false
	// If true, certain instance types with specs similar to instanceType will be used.
	UseAlikeInstanceTypes bool `json:"useAlikeInstanceTypes"`
}

+k8s:openapi-gen=true

func (*AWSMachineDeploymentSpecProviderWorker) DeepCopy

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

func (*AWSMachineDeploymentSpecProviderWorker) DeepCopyInto

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

type AWSMachineDeploymentStatus added in v0.2.1

type AWSMachineDeploymentStatus struct {
	// +kubebuilder:validation:Optional
	// Status specific to AWS.
	Provider AWSMachineDeploymentStatusProvider `json:"provider,omitempty"`
}

+k8s:openapi-gen=true

func (*AWSMachineDeploymentStatus) DeepCopy added in v0.2.1

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

func (*AWSMachineDeploymentStatus) DeepCopyInto added in v0.2.1

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

type AWSMachineDeploymentStatusProvider added in v0.2.1

type AWSMachineDeploymentStatusProvider struct {
	// +kubebuilder:validation:Optional
	// Status of worker nodes.
	Worker AWSMachineDeploymentStatusProviderWorker `json:"worker,omitempty"`
}

+k8s:openapi-gen=true

func (*AWSMachineDeploymentStatusProvider) DeepCopy added in v0.2.1

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

func (*AWSMachineDeploymentStatusProvider) DeepCopyInto added in v0.2.1

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

type AWSMachineDeploymentStatusProviderWorker added in v0.2.1

type AWSMachineDeploymentStatusProviderWorker struct {
	// +kubebuilder:validation:Optional
	// AWS EC2 instance types used for the worker nodes in this node pool.
	InstanceTypes []string `json:"instanceTypes,omitempty"`
	// +kubebuilder:validation:Optional
	// Number of EC2 spot instances used in this node pool.
	SpotInstances int `json:"spotInstances,omitempty"`
}

+k8s:openapi-gen=true

func (*AWSMachineDeploymentStatusProviderWorker) DeepCopy added in v0.2.1

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

func (*AWSMachineDeploymentStatusProviderWorker) DeepCopyInto added in v0.2.1

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

type ClusterCRs added in v0.4.16

type ClusterCRs struct {
	Cluster         *apiv1alpha2.Cluster
	AWSCluster      *AWSCluster
	G8sControlPlane *G8sControlPlane
	AWSControlPlane *AWSControlPlane
}

func NewClusterCRs added in v0.4.16

func NewClusterCRs(config ClusterCRsConfig) (ClusterCRs, error)

type ClusterCRsConfig added in v0.4.16

type ClusterCRsConfig struct {
	ClusterID         string
	ControlPlaneID    string
	Credential        string
	Domain            string
	ExternalSNAT      bool
	MasterAZ          []string
	Description       string
	PodsCIDR          string
	Owner             string
	Region            string
	ReleaseComponents map[string]string
	ReleaseVersion    string
	Labels            map[string]string
}

type CommonClusterObject

type CommonClusterObject interface {
	metav1.Object
	runtime.Object
	CommonClusterStatusGetSetter
}

CommonClusterObject represents common interface for all provider specific cluster objects.

type CommonClusterStatus

type CommonClusterStatus struct {
	// +kubebuilder:validation:Optional
	// One or several conditions that are currently applicable to the cluster.
	Conditions []CommonClusterStatusCondition `json:"conditions,omitempty"`
	// +kubebuilder:validation:Optional
	// Identifier of the cluster.
	ID string `json:"id,omitempty"`
	// +kubebuilder:validation:Optional
	// Release versions the cluster used so far.
	Versions []CommonClusterStatusVersion `json:"versions,omitempty"`
}

CommonClusterStatus is shared type to contain provider independent cluster status information. +k8s:openapi-gen=true

func (*CommonClusterStatus) DeepCopy

func (in *CommonClusterStatus) DeepCopy() *CommonClusterStatus

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

func (*CommonClusterStatus) DeepCopyInto

func (in *CommonClusterStatus) DeepCopyInto(out *CommonClusterStatus)

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

func (CommonClusterStatus) GetCreatedCondition

func (s CommonClusterStatus) GetCreatedCondition() CommonClusterStatusCondition

func (CommonClusterStatus) GetCreatingCondition

func (s CommonClusterStatus) GetCreatingCondition() CommonClusterStatusCondition

func (CommonClusterStatus) GetDeletedCondition

func (s CommonClusterStatus) GetDeletedCondition() CommonClusterStatusCondition

func (CommonClusterStatus) GetDeletingCondition

func (s CommonClusterStatus) GetDeletingCondition() CommonClusterStatusCondition

func (CommonClusterStatus) GetUpdatedCondition

func (s CommonClusterStatus) GetUpdatedCondition() CommonClusterStatusCondition

func (CommonClusterStatus) GetUpdatingCondition

func (s CommonClusterStatus) GetUpdatingCondition() CommonClusterStatusCondition

func (CommonClusterStatus) HasCreatedCondition

func (s CommonClusterStatus) HasCreatedCondition() bool

func (CommonClusterStatus) HasCreatingCondition

func (s CommonClusterStatus) HasCreatingCondition() bool

func (CommonClusterStatus) HasDeletedCondition

func (s CommonClusterStatus) HasDeletedCondition() bool

func (CommonClusterStatus) HasDeletingCondition

func (s CommonClusterStatus) HasDeletingCondition() bool

func (CommonClusterStatus) HasUpdatedCondition

func (s CommonClusterStatus) HasUpdatedCondition() bool

func (CommonClusterStatus) HasUpdatingCondition

func (s CommonClusterStatus) HasUpdatingCondition() bool

func (CommonClusterStatus) HasVersion

func (s CommonClusterStatus) HasVersion(semver string) bool

func (CommonClusterStatus) LatestCondition

func (s CommonClusterStatus) LatestCondition() string

func (CommonClusterStatus) LatestVersion

func (s CommonClusterStatus) LatestVersion() string

func (CommonClusterStatus) WithCreatedCondition

func (s CommonClusterStatus) WithCreatedCondition() []CommonClusterStatusCondition

func (CommonClusterStatus) WithCreatingCondition

func (s CommonClusterStatus) WithCreatingCondition() []CommonClusterStatusCondition

func (CommonClusterStatus) WithDeletedCondition

func (s CommonClusterStatus) WithDeletedCondition() []CommonClusterStatusCondition

func (CommonClusterStatus) WithDeletingCondition

func (s CommonClusterStatus) WithDeletingCondition() []CommonClusterStatusCondition

func (CommonClusterStatus) WithNewVersion

func (s CommonClusterStatus) WithNewVersion(version string) []CommonClusterStatusVersion

func (CommonClusterStatus) WithUpdatedCondition

func (s CommonClusterStatus) WithUpdatedCondition() []CommonClusterStatusCondition

func (CommonClusterStatus) WithUpdatingCondition

func (s CommonClusterStatus) WithUpdatingCondition() []CommonClusterStatusCondition

type CommonClusterStatusCondition

type CommonClusterStatusCondition struct {
	// +kubebuilder:validation:Optional
	// Time the condition occurred.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
	// +kubebuilder:validation:Optional
	// Condition string, e. g. `Creating`, `Created`, `Upgraded`.
	Condition string `json:"condition"`
}

CommonClusterStatusCondition explains the current condition(s) of the cluster. +k8s:openapi-gen=true

func (*CommonClusterStatusCondition) DeepCopy

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

func (*CommonClusterStatusCondition) DeepCopyInto

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

type CommonClusterStatusGetSetter

type CommonClusterStatusGetSetter interface {
	GetCommonClusterStatus() CommonClusterStatus
	SetCommonClusterStatus(ccs CommonClusterStatus)
}

CommonClusterStatusGetSetter provides abstract way to manipulate common provider independent cluster status field in provider CR's status.

type CommonClusterStatusVersion

type CommonClusterStatusVersion struct {
	// +kubebuilder:validation:Optional
	// Time the cluster assumed the given version.
	LastTransitionTime metav1.Time `json:"lastTransitionTime"`
	// +kubebuilder:validation:Optional
	// The aws-operator version responsible for handling the cluster.
	Version string `json:"version"`
}

CommonClusterStatusVersion informs which aws-operator version was/responsible for this cluster. +k8s:openapi-gen=true

func (*CommonClusterStatusVersion) DeepCopy

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

func (*CommonClusterStatusVersion) DeepCopyInto

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

type G8sControlPlane

type G8sControlPlane struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Specification part.
	Spec G8sControlPlaneSpec `json:"spec"`
	// +kubebuilder:validation:Optional
	// Status information.
	Status G8sControlPlaneStatus `json:"status"`
}

The G8sControlPlane resource defines the Control Plane nodes (Kubernetes master nodes) of a Giant Swarm tenant cluster. It is reconciled by cluster-operator.

func NewG8sControlPlaneCR added in v0.2.6

func NewG8sControlPlaneCR() *G8sControlPlane

NewG8sControlPlaneCR returns a G8sControlPlane Custom Resource.

func (*G8sControlPlane) DeepCopy

func (in *G8sControlPlane) DeepCopy() *G8sControlPlane

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

func (*G8sControlPlane) DeepCopyInto

func (in *G8sControlPlane) DeepCopyInto(out *G8sControlPlane)

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

func (*G8sControlPlane) DeepCopyObject

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

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

type G8sControlPlaneList

type G8sControlPlaneList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata"`
	Items           []G8sControlPlane `json:"items"`
}

func (*G8sControlPlaneList) DeepCopy

func (in *G8sControlPlaneList) DeepCopy() *G8sControlPlaneList

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

func (*G8sControlPlaneList) DeepCopyInto

func (in *G8sControlPlaneList) DeepCopyInto(out *G8sControlPlaneList)

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

func (*G8sControlPlaneList) DeepCopyObject

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

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

type G8sControlPlaneSpec

type G8sControlPlaneSpec struct {
	// +kubebuilder:validation:Enum=1;3
	// +kubebuilder:validation:Optional
	// Number of master nodes.
	Replicas int `json:"replicas,omitempty"`
	// Reference to a provider-specific resource. On AWS, this would be of kind
	// [AWSControlPlane](https://docs.giantswarm.io/reference/cp-k8s-api/awscontrolplanes.infrastructure.giantswarm.io/).
	InfrastructureRef corev1.ObjectReference `json:"infrastructureRef"`
}

+k8s:openapi-gen=true

func (*G8sControlPlaneSpec) DeepCopy

func (in *G8sControlPlaneSpec) DeepCopy() *G8sControlPlaneSpec

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

func (*G8sControlPlaneSpec) DeepCopyInto

func (in *G8sControlPlaneSpec) DeepCopyInto(out *G8sControlPlaneSpec)

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

type G8sControlPlaneStatus

type G8sControlPlaneStatus struct {
	// +kubebuilder:validation:Optional
	// Total number of non-terminated machines targeted by this control plane
	// (their labels match the selector).
	Replicas int32 `json:"replicas,omitempty"`
	// +kubebuilder:validation:Optional
	// Total number of fully running and ready control plane machines.
	ReadyReplicas int32 `json:"readyReplicas,omitempty"`
}

G8sControlPlaneStatus defines the observed state of G8sControlPlane. +k8s:openapi-gen=true

func (*G8sControlPlaneStatus) DeepCopy

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

func (*G8sControlPlaneStatus) DeepCopyInto

func (in *G8sControlPlaneStatus) DeepCopyInto(out *G8sControlPlaneStatus)

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

type NodePoolCRs added in v0.4.16

type NodePoolCRs struct {
	MachineDeployment    *apiv1alpha2.MachineDeployment
	AWSMachineDeployment *AWSMachineDeployment
}

func NewNodePoolCRs added in v0.4.16

func NewNodePoolCRs(config NodePoolCRsConfig) (NodePoolCRs, error)

type NodePoolCRsConfig added in v0.4.16

type NodePoolCRsConfig struct {
	AvailabilityZones                   []string
	AWSInstanceType                     string
	ClusterID                           string
	MachineDeploymentID                 string
	Description                         string
	NodesMax                            int
	NodesMin                            int
	OnDemandBaseCapacity                int
	OnDemandPercentageAboveBaseCapacity int
	Owner                               string
	ReleaseComponents                   map[string]string
	ReleaseVersion                      string
	UseAlikeInstanceTypes               bool
}

Jump to

Keyboard shortcuts

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