v1alpha2

package
v0.0.0-...-b25b198 Latest Latest
Warning

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

Go to latest
Published: Apr 28, 2023 License: Apache-2.0 Imports: 14 Imported by: 9

Documentation

Overview

Package v1alpha2 contains API Schema definitions for the run.tanzu v1alpha2 API group. +groupName=run.tanzu.vmware.com +k8s:deepcopy-gen=package +k8s:conversion-gen=github.com/vmware-tanzu/tanzu-framework/apis/run/v1alpha3

Package v1alpha2 contains API Schema definitions for the run.tanzu v1alpha2 API group +kubebuilder:object:generate=true +groupName=run.tanzu.vmware.com

Index

Constants

View Source
const (
	// TanzuKubernetesClusterPhaseCreating means that the cluster is under creation.
	TanzuKubernetesClusterPhaseCreating = TanzuKubernetesClusterPhase("creating")

	// TanzuKubernetesClusterPhaseFailed means that cluster creation failed.
	// The system likely requires user intervention.
	TanzuKubernetesClusterPhaseFailed = TanzuKubernetesClusterPhase("failed")

	// TanzuKubernetesClusterPhaseRunning means that the cluster control plane,
	// add-ons and workers are ready.
	TanzuKubernetesClusterPhaseRunning = TanzuKubernetesClusterPhase("running")

	// TanzuKubernetesClusterPhaseUnhealthy means that the cluster was up and running,
	// but unhealthy now, the system likely requires user intervention.
	TanzuKubernetesClusterPhaseUnhealthy = TanzuKubernetesClusterPhase("unhealthy")

	// TanzuKubernetesClusterPhaseUpdating indicates that the cluster is in the
	// process of rolling update
	TanzuKubernetesClusterPhaseUpdating = TanzuKubernetesClusterPhase("updating")

	// TanzuKubernetesClusterPhaseUpdateFailed indicates that the cluster's
	// rolling update failed and likely requires user intervention.
	TanzuKubernetesClusterPhaseUpdateFailed = TanzuKubernetesClusterPhase("updateFailed")

	// TanzuKubernetesClusterPhaseDeleting means that the cluster is being
	// deleted.
	TanzuKubernetesClusterPhaseDeleting = TanzuKubernetesClusterPhase("deleting")

	// TanzuKubernetesClusterPhaseEmpty is useful for the initial reconcile,
	// before we even state the phase as creating.
	TanzuKubernetesClusterPhaseEmpty = TanzuKubernetesClusterPhase("")
)
View Source
const (
	// AuthService is the Auth service for the Tanzu Kubernetes cluster.
	AuthService = AddonType("AuthService")

	// CNI is the Container Networking Interface used for the Tanzu Kubernetes cluster.
	CNI = AddonType("CNI")

	// CPI is the Cloud Provider Interface for the Tanzu Kubernetes cluster.
	CPI = AddonType("CPI")

	// CSI is the Container Storage Interface for the Tanzu Kubernetes cluster.
	CSI = AddonType("CSI")

	// DNS is the DNS addon for the Tanzu Kubernetes cluster.
	DNS = AddonType("DNS")

	// Proxy is the Proxy addon for the Tanzu Kubernetes cluster.
	Proxy = AddonType("Proxy")

	// PSP is the default Pod Security Policy creation for the Tanzu Kubernetes cluster.
	PSP = AddonType("PSP")

	// MetricsServer is the Metrics Server addon for the Tanzu Kubernetes cluster.
	MetricsServer = AddonType("MetricsServer")
)
View Source
const (
	ConditionCompatible       = "Compatible"
	ConditionUpdatesAvailable = "UpdatesAvailable"

	ReasonNoUpdates    = "NoUpdates"
	ReasonNotAvailable = "NotAvailable"
	ReasonIncompatible = "Incompatible"
	ReasonDeactivated  = "Deactivated"

	LabelIncompatible = "incompatible"
	LabelDeactivated  = "deactivated"
	LabelDeleted      = "deleted"

	LabelOSType    = "os-type"
	LabelOSName    = "os-name"
	LabelOSVersion = "os-version"
	LabelOSArch    = "os-arch"

	DefaultOSType    = "linux"
	DefaultOSName    = "photon"
	DefaultOSVersion = "3.0"
	DefaultOSArch    = "amd64"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "run.tanzu.vmware.com", Version: "v1alpha2"}

	// 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 Convert_v1alpha2_TanzuKubernetesReleaseList_To_v1alpha3_TanzuKubernetesReleaseList

func Convert_v1alpha2_TanzuKubernetesReleaseList_To_v1alpha3_TanzuKubernetesReleaseList(in *TanzuKubernetesReleaseList, out *v1alpha3.TanzuKubernetesReleaseList, s conversion.Scope) error

Convert_v1alpha2_TanzuKubernetesReleaseList_To_v1alpha3_TanzuKubernetesReleaseList is an autogenerated conversion function.

func Convert_v1alpha2_TanzuKubernetesReleaseSpec_To_v1alpha3_TanzuKubernetesReleaseSpec

func Convert_v1alpha2_TanzuKubernetesReleaseSpec_To_v1alpha3_TanzuKubernetesReleaseSpec(in *TanzuKubernetesReleaseSpec, out *v1alpha3.TanzuKubernetesReleaseSpec, s apiconversion.Scope) error

Convert_v1alpha2_TanzuKubernetesReleaseSpec_To_v1alpha3_TanzuKubernetesReleaseSpec will convert the compatible types in TanzuKubernetesReleaseSpec v1alpha2 to v1alpha3 equivalent. nolint:revive,stylecheck // Generated conversion stubs have underscores in function names.

func Convert_v1alpha2_TanzuKubernetesReleaseStatus_To_v1alpha3_TanzuKubernetesReleaseStatus

func Convert_v1alpha2_TanzuKubernetesReleaseStatus_To_v1alpha3_TanzuKubernetesReleaseStatus(in *TanzuKubernetesReleaseStatus, out *v1alpha3.TanzuKubernetesReleaseStatus, s conversion.Scope) error

Convert_v1alpha2_TanzuKubernetesReleaseStatus_To_v1alpha3_TanzuKubernetesReleaseStatus is an autogenerated conversion function.

func Convert_v1alpha2_TanzuKubernetesRelease_To_v1alpha3_TanzuKubernetesRelease

func Convert_v1alpha2_TanzuKubernetesRelease_To_v1alpha3_TanzuKubernetesRelease(in *TanzuKubernetesRelease, out *v1alpha3.TanzuKubernetesRelease, s conversion.Scope) error

Convert_v1alpha2_TanzuKubernetesRelease_To_v1alpha3_TanzuKubernetesRelease is an autogenerated conversion function.

func Convert_v1alpha3_TanzuKubernetesReleaseList_To_v1alpha2_TanzuKubernetesReleaseList

func Convert_v1alpha3_TanzuKubernetesReleaseList_To_v1alpha2_TanzuKubernetesReleaseList(in *v1alpha3.TanzuKubernetesReleaseList, out *TanzuKubernetesReleaseList, s conversion.Scope) error

Convert_v1alpha3_TanzuKubernetesReleaseList_To_v1alpha2_TanzuKubernetesReleaseList is an autogenerated conversion function.

func Convert_v1alpha3_TanzuKubernetesReleaseSpec_To_v1alpha2_TanzuKubernetesReleaseSpec

func Convert_v1alpha3_TanzuKubernetesReleaseSpec_To_v1alpha2_TanzuKubernetesReleaseSpec(in *v1alpha3.TanzuKubernetesReleaseSpec, out *TanzuKubernetesReleaseSpec, s apiconversion.Scope) error

Convert_v1alpha3_TanzuKubernetesReleaseSpec_To_v1alpha2_TanzuKubernetesReleaseSpec will convert the compatible types in TanzuKubernetesReleaseSpec v1alpha3 to v1alpha2 equivalent. nolint:revive,stylecheck // Generated conversion stubs have underscores in function names.

func Convert_v1alpha3_TanzuKubernetesReleaseStatus_To_v1alpha2_TanzuKubernetesReleaseStatus

func Convert_v1alpha3_TanzuKubernetesReleaseStatus_To_v1alpha2_TanzuKubernetesReleaseStatus(in *v1alpha3.TanzuKubernetesReleaseStatus, out *TanzuKubernetesReleaseStatus, s conversion.Scope) error

Convert_v1alpha3_TanzuKubernetesReleaseStatus_To_v1alpha2_TanzuKubernetesReleaseStatus is an autogenerated conversion function.

func Convert_v1alpha3_TanzuKubernetesRelease_To_v1alpha2_TanzuKubernetesRelease

func Convert_v1alpha3_TanzuKubernetesRelease_To_v1alpha2_TanzuKubernetesRelease(in *v1alpha3.TanzuKubernetesRelease, out *TanzuKubernetesRelease, s conversion.Scope) error

Convert_v1alpha3_TanzuKubernetesRelease_To_v1alpha2_TanzuKubernetesRelease is an autogenerated conversion function.

func FuzzTKRSpec

func FuzzTKRSpec(tkrSpec *TanzuKubernetesReleaseSpec, c fuzz.Continue)

func RegisterConversions

func RegisterConversions(s *runtime.Scheme) error

RegisterConversions adds conversion functions to the given scheme. Public to allow building arbitrary schemes.

Types

type APIEndpoint

type APIEndpoint struct {
	// The hostname on which the API server is serving.
	Host string `json:"host"`

	// The port on which the API server is serving.
	Port int `json:"port"`
}

APIEndpoint represents a reachable Kubernetes API endpoint.

func (*APIEndpoint) DeepCopy

func (in *APIEndpoint) DeepCopy() *APIEndpoint

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

func (*APIEndpoint) DeepCopyInto

func (in *APIEndpoint) DeepCopyInto(out *APIEndpoint)

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

type AddonStatus

type AddonStatus struct {
	// Name of the add-on used.
	Name string `json:"name"`

	// Type of the add-on used
	Type AddonType `json:"type"`

	// Version of the distribution applied
	Version string `json:"version,omitempty"`

	// Conditions defines the current conditions of the add-on.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`
}

AddonStatus represents the status of an addon.

func (*AddonStatus) DeepCopy

func (in *AddonStatus) DeepCopy() *AddonStatus

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

func (*AddonStatus) DeepCopyInto

func (in *AddonStatus) DeepCopyInto(out *AddonStatus)

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

func (*AddonStatus) GetConditions

func (as *AddonStatus) GetConditions() clusterv1.Conditions

GetConditions returns the list of conditions for an add-on

func (*AddonStatus) SetConditions

func (as *AddonStatus) SetConditions(conditions clusterv1.Conditions)

SetConditions sets the conditions for an add-on

func (*AddonStatus) SetStatus

func (as *AddonStatus) SetStatus(addonName, version string)

SetStatus records the addon name and version

type AddonType

type AddonType string

AddonType type of Addon

type CNIConfiguration

type CNIConfiguration struct {
	// Name is the name of the CNI plugin to use.
	//
	// Supported values: "calico", "antrea".
	Name string `json:"name"`
}

CNIConfiguration indicates which CNI should be used.

func (*CNIConfiguration) DeepCopy

func (in *CNIConfiguration) DeepCopy() *CNIConfiguration

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

func (*CNIConfiguration) DeepCopyInto

func (in *CNIConfiguration) DeepCopyInto(out *CNIConfiguration)

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

type ContainerImage

type ContainerImage struct {
	// Repository is the container image repository used by this image. It MUST be a DNS-compatible name.
	// +optional
	Repository string `json:"repository,omitempty"`

	// Name is the container image name without the repository prefix.
	// It MUST be a valid URI path, MAY contain zero or more '/', and SHOULD NOT start or end with '/'.
	Name string `json:"name"`

	// Tag is the container image version tag. It is the suffix coming after ':' in a fully qualified image name.
	// +optional
	Tag string `json:"tag,omitempty"`
}

ContainerImage is a struct representing a single fully qualified container image name, constructed as `{Repository}/{Name}:{Tag}`.

func (*ContainerImage) DeepCopy

func (in *ContainerImage) DeepCopy() *ContainerImage

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

func (*ContainerImage) DeepCopyInto

func (in *ContainerImage) DeepCopyInto(out *ContainerImage)

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

func (ContainerImage) String

func (ci ContainerImage) String() string

type Distribution

type Distribution struct {
	// Version specifies the fully-qualified desired Kubernetes distribution version of the Tanzu Kubernetes cluster. If the
	// cluster exists and is not of the specified version, it will be upgraded.
	//
	// Version is a semantic version string. The version may not be decreased. The major version may not be changed. If
	// the minor version is changed, it may only be incremented; skipping minor versions is not supported.
	//
	// The current observed version of the cluster is held by `status.version`.
	// DEPRECATED: use topology.controlPlane.tkr and topology.nodePools[*].tkr instead.
	// +optional
	Version string `json:"fullVersion"`

	// VersionHint provides the version webhook with guidance about the desired Kubernetes distribution version of the
	// Tanzu Kubernetes cluster. If a hint is provided without a full version, the most recent distribution matching the hint
	// will be selected.
	//
	// The version selected based on the hint will be stored in the spec as the full version. This ensures that the same
	// version is used if the cluster is scaled out in the future.
	//
	// VersionHint is a semantic prefix of a full version number. (E.g., v1.15.1 matches any distribution of v1.15.1,
	// including v1.15.1+vmware.1-tkg.1 or v1.15.1+vmware.2-tkg.1, but not v1.15.10+vmware.1-tkg.1.)
	//
	// A hint that does not match the full version is invalid and will be rejected.
	//
	// To upgrade a cluster to the most recent version that still matches the hint, leave the hint alone and remove the
	// fullVersion from the spec. This will cause the hint to be re-resolved.
	// DEPRECATED: use topology.controlPlane.tkr and topology.nodePools[*].tkr instead.
	// +optional
	VersionHint string `json:"version"`
}

Distribution specifies the version of software which should be installed on the control plane and worker nodes. This version information encompasses Kubernetes and its dependencies, the base OS of the node, and add-ons.

func (*Distribution) DeepCopy

func (in *Distribution) DeepCopy() *Distribution

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

func (*Distribution) DeepCopyInto

func (in *Distribution) DeepCopyInto(out *Distribution)

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

type Network

type Network struct {
	// Services specify network settings for services.
	//
	// Defaults to 10.96.0.0/12.
	// +optional
	Services *NetworkRanges `json:"services,omitempty"`

	// Pods specify network settings for pods.
	//
	// When CNI is antrea, set Defaults to 192.168.0.0/16.
	// When CNI is antrea-nsx-routed, set Defaults to empty
	// +optional
	Pods *NetworkRanges `json:"pods,omitempty"`

	// ServiceDomain specifies service domain for Tanzu Kubernetes cluster.
	//
	// Defaults to a cluster.local.
	// +optional
	ServiceDomain string `json:"serviceDomain,omitempty"`

	// CNI is the Container Networking Interface plugin for the Tanzu Kubernetes cluster.
	//
	// Defaults to Calico.
	// +optional
	CNI *CNIConfiguration `json:"cni,omitempty"`

	// Proxy specifies HTTP(s) proxy configuration for Tanzu Kubernetes cluster.
	//
	// If omitted, no proxy will be configured in the system.
	// +optional
	Proxy *ProxyConfiguration `json:"proxy,omitempty"`

	// Trust specifies certificate configuration for the Tanzu Kubernetes Cluster.
	//
	// If omitted, no certificate will be configured in the system.
	// +optional
	Trust *TrustConfiguration `json:"trust,omitempty"`
}

Network specifies network-related settings for a cluster.

func (*Network) DeepCopy

func (in *Network) DeepCopy() *Network

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

func (*Network) DeepCopyInto

func (in *Network) DeepCopyInto(out *Network)

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

type NetworkRanges

type NetworkRanges struct {
	// CIDRBlocks specifies one or more ranges of IP addresses.
	//
	// Note: supplying multiple ranges many not be supported by all CNI plugins.
	// +optional
	CIDRBlocks []string `json:"cidrBlocks,omitempty"`
}

NetworkRanges describes a collection of IP addresses as a list of ranges.

func (*NetworkRanges) DeepCopy

func (in *NetworkRanges) DeepCopy() *NetworkRanges

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

func (*NetworkRanges) DeepCopyInto

func (in *NetworkRanges) DeepCopyInto(out *NetworkRanges)

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

type NodePool

type NodePool struct {
	// Name is the name of the NodePool.
	Name string `json:"name"`

	// Labels are map of string keys and values that can be used to organize and categorize objects.
	// User-defined labels will be propagated to the created nodes.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Taints specifies the taints the Node API object should be registered with.
	// User-defined taints will be propagated to the created nodes.
	// +optional
	Taints []corev1.Taint `json:"taints,omitempty"`

	TopologySettings `json:",inline"`
}

NodePool describes a group of nodes within a cluster that have the same configuration

func (*NodePool) DeepCopy

func (in *NodePool) DeepCopy() *NodePool

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

func (*NodePool) DeepCopyInto

func (in *NodePool) DeepCopyInto(out *NodePool)

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

type ProxyConfiguration

type ProxyConfiguration struct {
	// HttpProxy specifies a proxy URL to use for creating HTTP connections outside the cluster.
	// Example: http://<user>:<pwd>@<ip>:<port>
	//
	// +optional
	HttpProxy *string `json:"httpProxy,omitempty"` //nolint:revive,stylecheck

	// HttpsProxy specifies a proxy URL to use for creating HTTPS connections outside the cluster.
	// Example: http://<user>:<pwd>@<ip>:<port>
	//
	// +optional
	HttpsProxy *string `json:"httpsProxy,omitempty"` //nolint:revive,stylecheck

	// NoProxy specifies a list of destination domain names, domains, IP addresses or other network CIDRs to exclude proxying.
	// Example: [localhost, 127.0.0.1, 10.10.10.0/24]
	//
	// +optional
	NoProxy []string `json:"noProxy,omitempty"`
}

ProxyConfiguration configures the HTTP(s) proxy to be used inside the Tanzu Kubernetes cluster.

func (*ProxyConfiguration) DeepCopy

func (in *ProxyConfiguration) DeepCopy() *ProxyConfiguration

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

func (*ProxyConfiguration) DeepCopyInto

func (in *ProxyConfiguration) DeepCopyInto(out *ProxyConfiguration)

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

type Settings

type Settings struct {
	// Network specifies network-related settings for the cluster.
	// +optional
	Network *Network `json:"network,omitempty"`

	// Storage specifies storage-related settings for the cluster.
	//
	// The storage used for node's disks is controlled by TopologySettings.
	// +optional
	Storage *Storage `json:"storage,omitempty"`
}

Settings specifies configuration information for a cluster.

func (*Settings) DeepCopy

func (in *Settings) DeepCopy() *Settings

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

func (*Settings) DeepCopyInto

func (in *Settings) DeepCopyInto(out *Settings)

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

type Storage

type Storage struct {
	// Classes is a list of storage classes from the supervisor namespace to expose within a cluster.
	//
	// If omitted, all storage classes from the supervisor namespace will be exposed within the cluster.
	// +optional
	Classes []string `json:"classes,omitempty"`
	// DefaultClass is the valid storage class name which is treated as the default storage class within a cluster.
	// If omitted, no default storage class is set
	// +optional
	DefaultClass string `json:"defaultClass,omitempty"`
}

Storage configures persistent storage for a cluster.

func (*Storage) DeepCopy

func (in *Storage) DeepCopy() *Storage

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

func (*Storage) DeepCopyInto

func (in *Storage) DeepCopyInto(out *Storage)

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

type TKRReference

type TKRReference struct {
	// Reference is a way to set the fixed link to the target object.
	// +optional
	Reference *corev1.ObjectReference `json:"reference,omitempty"`
}

TKRReference is an extensible way to link a TanzuKubernetesRelease.

func (*TKRReference) DeepCopy

func (in *TKRReference) DeepCopy() *TKRReference

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

func (*TKRReference) DeepCopyInto

func (in *TKRReference) DeepCopyInto(out *TKRReference)

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

type TLSCertificate

type TLSCertificate struct {
	// Name specifies the name of the additional certificate, used in the filename
	// Example: CompanyInternalCA
	Name string `json:"name"`

	// Data specifies the contents of the additional certificate, encoded as a
	// base64 string. Specifically, this is the PEM Public Certificate data as
	// a base64 string..
	// Example: LS0tLS1C...LS0tCg== (where "..." is the middle section of the long base64 string)
	Data string `json:"data"`
}

TLSCertificate specifies a single additional certificate name and contents

func (*TLSCertificate) DeepCopy

func (in *TLSCertificate) DeepCopy() *TLSCertificate

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

func (*TLSCertificate) DeepCopyInto

func (in *TLSCertificate) DeepCopyInto(out *TLSCertificate)

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

type TanzuKubernetesCluster

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

	Spec   TanzuKubernetesClusterSpec   `json:"spec,omitempty"`
	Status TanzuKubernetesClusterStatus `json:"status,omitempty"`
}

TanzuKubernetesCluster is the schema for the Tanzu Kubernetes Grid service for vSphere API.

func (*TanzuKubernetesCluster) DeepCopy

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

func (*TanzuKubernetesCluster) DeepCopyInto

func (in *TanzuKubernetesCluster) DeepCopyInto(out *TanzuKubernetesCluster)

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

func (*TanzuKubernetesCluster) DeepCopyObject

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

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

func (*TanzuKubernetesCluster) GetConditions

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

GetConditions returns the list of conditions for a TanzuKubernetesCluster object.

func (*TanzuKubernetesCluster) SetConditions

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

SetConditions sets the status conditions for a TanzuKubernetesCluster object

type TanzuKubernetesClusterList

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

TanzuKubernetesClusterList contains a list of TanzuKubernetesCluster

func (*TanzuKubernetesClusterList) DeepCopy

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

func (*TanzuKubernetesClusterList) DeepCopyInto

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

func (*TanzuKubernetesClusterList) DeepCopyObject

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

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

type TanzuKubernetesClusterPhase

type TanzuKubernetesClusterPhase string

TanzuKubernetesClusterPhase is a type for the Tanzu Kubernetes cluster's phase constants.

type TanzuKubernetesClusterSpec

type TanzuKubernetesClusterSpec struct {
	// Topology specifies the topology for the Tanzu Kubernetes cluster: the number, purpose, and organization of the nodes which
	// form the cluster and the resources allocated for each.
	Topology Topology `json:"topology"`

	// Distribution specifies the distribution for the Tanzu Kubernetes cluster: the software installed on the control plane and
	// worker nodes, including Kubernetes itself.
	// DEPRECATED: use topology.controlPlane.tkr and topology.nodePools[*].tkr instead.
	// +optional
	Distribution Distribution `json:"distribution,omitempty"`

	// Settings specifies settings for the Tanzu Kubernetes cluster: the way an instance of a distribution is configured,
	// including information about pod networking and storage.
	// +optional
	Settings *Settings `json:"settings,omitempty"`
}

TanzuKubernetesClusterSpec defines the desired state of TanzuKubernetesCluster: its nodes, the software installed on those nodes and the way that software should be configured.

func (*TanzuKubernetesClusterSpec) DeepCopy

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

func (*TanzuKubernetesClusterSpec) DeepCopyInto

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

type TanzuKubernetesClusterStatus

type TanzuKubernetesClusterStatus struct {
	// APIEndpoints represents the endpoints to communicate with the control plane.
	// +optional
	APIEndpoints []APIEndpoint `json:"apiEndpoints,omitempty"`

	// Version holds the observed version of the Tanzu Kubernetes cluster. While an upgrade is in progress this value will be the
	// version of the cluster when the upgrade began.
	// +optional
	Version string `json:"version,omitempty"`

	// Addons groups the statuses of a Tanzu Kubernetes cluster's add-ons.
	// +optional
	Addons []AddonStatus `json:"addons,omitempty"`

	// Phase of this TanzuKubernetesCluster.
	// DEPRECATED: will be removed in v1alpha3
	// +optional
	Phase TanzuKubernetesClusterPhase `json:"phase,omitempty"`

	// Conditions defines current service state of the TanzuKubernetestCluster.
	// +optional
	Conditions clusterv1.Conditions `json:"conditions,omitempty"`

	// Total number of replicas in worker node pools.
	// +optional
	TotalWorkerReplicas int32 `json:"totalWorkerReplicas,omitempty"`
}

TanzuKubernetesClusterStatus defines the observed state of TanzuKubernetesCluster.

func (*TanzuKubernetesClusterStatus) DeepCopy

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

func (*TanzuKubernetesClusterStatus) DeepCopyInto

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

type TanzuKubernetesRelease

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

	Spec   TanzuKubernetesReleaseSpec   `json:"spec,omitempty"`
	Status TanzuKubernetesReleaseStatus `json:"status,omitempty"`
}

TanzuKubernetesRelease is the schema for the tanzukubernetesreleases API. TanzuKubernetesRelease objects represent Kubernetes releases available via TKG Service, which can be used to create TanzuKubernetesCluster instances. TKRs are immutable to end-users. They are created and managed by TKG Service to provide discovery of Kubernetes releases to TKG Service users.

func (*TanzuKubernetesRelease) ConvertFrom

func (spoke *TanzuKubernetesRelease) ConvertFrom(hubRaw conversion.Hub) error

func (*TanzuKubernetesRelease) ConvertTo

func (spoke *TanzuKubernetesRelease) ConvertTo(hubRaw conversion.Hub) error

func (*TanzuKubernetesRelease) DeepCopy

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

func (*TanzuKubernetesRelease) DeepCopyInto

func (in *TanzuKubernetesRelease) DeepCopyInto(out *TanzuKubernetesRelease)

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

func (*TanzuKubernetesRelease) DeepCopyObject

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

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

func (*TanzuKubernetesRelease) GetConditions

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

func (*TanzuKubernetesRelease) SetConditions

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

type TanzuKubernetesReleaseList

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

TanzuKubernetesReleaseList contains a list of TanzuKubernetesRelease objects.

func (*TanzuKubernetesReleaseList) ConvertFrom

func (dst *TanzuKubernetesReleaseList) ConvertFrom(srcRaw conversion.Hub) error

func (*TanzuKubernetesReleaseList) ConvertTo

func (src *TanzuKubernetesReleaseList) ConvertTo(dstRaw conversion.Hub) error

func (*TanzuKubernetesReleaseList) DeepCopy

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

func (*TanzuKubernetesReleaseList) DeepCopyInto

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

func (*TanzuKubernetesReleaseList) DeepCopyObject

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

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

type TanzuKubernetesReleaseSpec

type TanzuKubernetesReleaseSpec struct {
	// Version is the fully qualified Semantic Versioning conformant version of the TanzuKubernetesRelease.
	// Version MUST be unique across all TanzuKubernetesRelease objects.
	Version string `json:"version"`

	// KubernetesVersion is the fully qualified Semantic Versioning conformant version of Kubernetes shipped by this TKR.
	// The same KubernetesVersion MAY be shipped by different TKRs.
	// +optional
	KubernetesVersion string `json:"kubernetesVersion,omitempty"`

	// Repository is the container image repository for Kubernetes core images, such as kube-apiserver, kube-proxy, etc.
	// It MUST be a DNS-compatible name.
	// +optional
	Repository string `json:"repository,omitempty"`

	// Images is the list of (other than Kubernetes core) essential container images shipped by this TKR (e.g. coredns, etcd).
	// +optional
	Images []ContainerImage `json:"images,omitempty"`

	// NodeImageRef refers to an object representing the image used to create TKC nodes (e.g. VirtualMachineImage).
	// +optional
	NodeImageRef *corev1.ObjectReference `json:"nodeImageRef,omitempty"`
}

TanzuKubernetesReleaseSpec defines the desired state of TanzuKubernetesRelease

func (*TanzuKubernetesReleaseSpec) DeepCopy

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

func (*TanzuKubernetesReleaseSpec) DeepCopyInto

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

type TanzuKubernetesReleaseStatus

type TanzuKubernetesReleaseStatus struct {
	Conditions []clusterv1.Condition `json:"conditions,omitempty"`
}

TanzuKubernetesReleaseStatus defines the observed state of TanzuKubernetesRelease

func (*TanzuKubernetesReleaseStatus) DeepCopy

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

func (*TanzuKubernetesReleaseStatus) DeepCopyInto

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

type Topology

type Topology struct {
	// ControlPlane specifies the topology of the cluster's control plane, including the number of control plane nodes
	// and resources allocated for each. The control plane must have an odd number of nodes.
	ControlPlane TopologySettings `json:"controlPlane"`

	// NodePools specifies the topology of cluster's worker node pools, including the number of nodes and resources
	// allocated for each node.
	NodePools []NodePool `json:"nodePools"`
}

Topology describes the number, purpose, and organization of nodes and the resources allocated for each. Nodes are grouped into pools based on their intended purpose. Each pool is homogeneous, having the same resource allocation and using the same storage.

func (*Topology) DeepCopy

func (in *Topology) DeepCopy() *Topology

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

func (*Topology) DeepCopyInto

func (in *Topology) DeepCopyInto(out *Topology)

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

type TopologySettings

type TopologySettings struct {
	// Replicas is the number of nodes.
	// This is a pointer to distinguish between explicit zero and not specified, `nil`.
	// For control plane, defaults to 1 if `nil`.
	// For node pools, a value of `nil` indicates that the field will not be reconciled, allowing external services like
	// autoscalers to choose the number of nodes. By default, CAPI's `MachineDeployment` will pick 1.
	Replicas *int32 `json:"replicas,omitempty"`

	// VMClass is the name of the VirtualMachineClass, which describes the virtual hardware settings, to be used each node
	// in the pool. This controls the hardware available to the node (CPU and memory) as well as the requests and limits
	// on those resources. Run `kubectl describe virtualmachineclasses` to see which VM classes are available to use.
	VMClass string `json:"vmClass"`

	// StorageClass is the storage class to be used for storage of the disks which store the root filesystems of the
	// nodes. Run `kubectl describe ns` on your namespace to see which storage classes are available to use.
	StorageClass string `json:"storageClass"`

	// Volumes is the set of PVCs to be created and attached to each node.
	// +optional
	Volumes []Volume `json:"volumes,omitempty"`

	// TKR points to TanzuKubernetesRelease intended to be used by the node pool
	// (the control plane being special kind of a node pool).
	// +optional
	TKR TKRReference `json:"tkr,omitempty"`

	// NodeDrainTimeout is the total amount of time that the controller will
	// spend on draining a node. The default value is 0, meaning that the node
	// will be drained without any time limitations.
	// NOTE: NodeDrainTimeout is different from `kubectl drain --timeout`
	// +optional
	NodeDrainTimeout *metav1.Duration `json:"nodeDrainTimeout,omitempty"`
}

TopologySettings describes a homogeneous pool of nodes: the number of nodes in the pool and the properties of each of those nodes, including resource allocation and storage.

func (*TopologySettings) DeepCopy

func (in *TopologySettings) DeepCopy() *TopologySettings

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

func (*TopologySettings) DeepCopyInto

func (in *TopologySettings) DeepCopyInto(out *TopologySettings)

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

type TrustConfiguration

type TrustConfiguration struct {
	// AdditionalTrustedCAs specifies the additional trusted certificates (which
	// can be additional CAs or end certificates) to add to the cluster
	//
	// +optional
	AdditionalTrustedCAs []TLSCertificate `json:"additionalTrustedCAs,omitempty"`
}

TrustConfiguration configures additional trust parameters to the cluster configuration

func (*TrustConfiguration) DeepCopy

func (in *TrustConfiguration) DeepCopy() *TrustConfiguration

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

func (*TrustConfiguration) DeepCopyInto

func (in *TrustConfiguration) DeepCopyInto(out *TrustConfiguration)

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

type Volume

type Volume struct {
	// Name is suffix used to name this PVC as: node.Name + "-" + Name
	Name string `json:"name"`
	// MountPath is the directory where the volume device is to be mounted
	MountPath string `json:"mountPath"`
	// Capacity is the PVC capacity
	Capacity corev1.ResourceList `json:"capacity"`
	// StorageClass is the storage class to be used for the disks.
	// Defaults to TopologySettings.StorageClass
	// +optional
	StorageClass string `json:"storageClass,omitempty"`
}

Volume defines a PVC attachment. These volumes are tied to the node lifecycle, created and deleted when the node is. The volumes are mounted in the node during the bootstrap process, prior to services being started (e.g. etcd, containerd).

func (*Volume) DeepCopy

func (in *Volume) DeepCopy() *Volume

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

func (*Volume) DeepCopyInto

func (in *Volume) DeepCopyInto(out *Volume)

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