v1alpha1

package
v0.0.0-...-597cd30 Latest Latest
Warning

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

Go to latest
Published: Dec 26, 2023 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:defaulter-gen=TypeMeta +groupName=kit.k8s.sh

Index

Constants

View Source
const (
	// Active is a condition implemented by all resources. It indicates that the
	// controller is able to take actions: it's correctly configured, can make
	// necessary API calls, and isn't disabled.
	Active apis.ConditionType = "Active"
)

Variables

View Source
var (
	// APIVersion is the current API version used to register these objects
	APIVersion = "v1alpha1"

	DataPlaneKind = "DataPlane"
	// SchemeGroupVersion is group version used to register these objects
	SchemeGroupVersion = schema.GroupVersion{Group: "kit.k8s.sh", Version: APIVersion}

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

	// AddToScheme is required by pkg/client/...
	AddToScheme = SchemeBuilder.AddToScheme

	Resources = map[schema.GroupVersionKind]resourcesemantics.GenericCRD{
		SchemeGroupVersion.WithKind(DataPlaneKind): &DataPlane{},
	}
)

Functions

This section is empty.

Types

type DataPlane

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

	Spec   DataPlaneSpec   `json:"spec,omitempty"`
	Status DataPlaneStatus `json:"status,omitempty"`
}

DataPlane is the Schema for the DataPlanes API +kubebuilder:object:root=true +kubebuilder:resource:shortName=dp +kubebuilder:subresource:status

func (*DataPlane) DeepCopy

func (in *DataPlane) DeepCopy() *DataPlane

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

func (*DataPlane) DeepCopyInto

func (in *DataPlane) DeepCopyInto(out *DataPlane)

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

func (*DataPlane) DeepCopyObject

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

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

func (*DataPlane) GetConditions

func (c *DataPlane) GetConditions() apis.Conditions

func (*DataPlane) SetConditions

func (c *DataPlane) SetConditions(conditions apis.Conditions)

func (*DataPlane) SetDefaults

func (c *DataPlane) SetDefaults(ctx context.Context)

func (*DataPlane) StatusConditions

func (c *DataPlane) StatusConditions() apis.ConditionManager

func (*DataPlane) Validate

func (c *DataPlane) Validate(ctx context.Context) (errs *apis.FieldError)

type DataPlaneList

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

DataPlaneList contains a list of DataPlane +kubebuilder:object:root=true

func (*DataPlaneList) DeepCopy

func (in *DataPlaneList) DeepCopy() *DataPlaneList

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

func (*DataPlaneList) DeepCopyInto

func (in *DataPlaneList) DeepCopyInto(out *DataPlaneList)

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

func (*DataPlaneList) DeepCopyObject

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

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

type DataPlaneSpec

type DataPlaneSpec struct {
	// ClusterName is used to connect the worker nodes to a control plane clusterName.
	ClusterName string `json:"clusterName,omitempty"`
	// NodeCount is the desired number of worker nodes for this dataplane.
	NodeCount int `json:"nodeCount,omitempty"`
	// SubnetSelector lets user define label key and values for kit to select
	// the subnets for worker nodes. It can contain key:value to select subnets
	// with particular label, or a specific key:"*" to select all subnets with a
	// specific key. If no selector is provided, worker nodes are
	// provisioned in the same subnet as control plane nodes.
	// +optional
	SubnetSelector map[string]string `json:"subnetSelector,omitempty"`
	// InstanceTypes is an optional field thats lets user specify the instance
	// types for worker nodes, defaults to instance types "t2.xlarge", "t3.xlarge" or "t3a.xlarge"
	// +optional
	InstanceTypes []string `json:"instanceTypes,omitempty"`
	// AllocationStrategy helps user define the strategy to provision worker nodes in EC2,
	// defaults to "lowest-price"
	// +optional
	AllocationStrategy string `json:"allocationStrategy,omitempty"`

	// SecurityGroupSelector lets user define label key and values for kit to select the security group
	// for worker nodes. It can contain key:value to select security group with particular label,
	// or a specific key:"*" to select all security group with a specific key.
	// If no selector is provided, security group is discovered with control plane nodes
	// +optional
	SecurityGroupSelector map[string]string `json:"securityGroupSelector,omitempty"`
	// APIServerEndpoint helps user create the launch template for work nodes
	// If not provided, it's obtained from master instance
	// +optional
	APIServerEndpoint string `json:"apiServerEndpoint,omitempty"`
	// AmiID helps user create the launch template for work nodes
	// If not provided, it's obtained by getting the recommended image id for the current k8s version
	// +optional
	AmiID string `json:"amiID,omitempty"`
	// InstanceProfileName if provided is assigned to the kube nodes created
	// If not provided, use the name for the current kit cluster
	// +optional
	InstanceProfileName string `json:"instanceProfileName,omitempty"`
	// ClusterCA helps user create the launch template for work nodes
	// If not provided, get it from the current k8s cluster
	// +optional
	ClusterCA []byte `json:"clusterCA,omitempty"`
	// DNSClusterIP helps configure the DNS IP for the cluster used by pods to resolve endpoints
	// +optional
	DNSClusterIP string `json:"dnsClusterIP,omitempty"`
}

func (*DataPlaneSpec) DeepCopy

func (in *DataPlaneSpec) DeepCopy() *DataPlaneSpec

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

func (*DataPlaneSpec) DeepCopyInto

func (in *DataPlaneSpec) DeepCopyInto(out *DataPlaneSpec)

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

func (*DataPlaneSpec) SetDefaults

func (s *DataPlaneSpec) SetDefaults(ctx context.Context)

SetDefaults for the DataPlaneSpec, cascading to all subspecs

type DataPlaneStatus

type DataPlaneStatus struct {
	// Conditions is the set of conditions required for this DataPlane to create
	// its objects, and indicates whether or not those conditions are met.
	// +optional
	Conditions apis.Conditions `json:"conditions,omitempty"`
}

func (*DataPlaneStatus) DeepCopy

func (in *DataPlaneStatus) DeepCopy() *DataPlaneStatus

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

func (*DataPlaneStatus) DeepCopyInto

func (in *DataPlaneStatus) DeepCopyInto(out *DataPlaneStatus)

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