v1alpha1

package
v0.0.0-...-93a508a Latest Latest
Warning

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

Go to latest
Published: Jul 7, 2023 License: Apache-2.0 Imports: 17 Imported by: 9

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

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

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

This section is empty.

Types

type Feature

type Feature struct {
	Status            FeatureStatus `json:"status,omitempty"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              FeatureSpec `json:"spec,omitempty"`
	metav1.TypeMeta   `json:",inline"`
}

Feature is the Schema for the features API +kubebuilder:object:root=true +kubebuilder:resource:scope=Cluster +kubebuilder:printcolumn:name="Activated",type=boolean,JSONPath=.spec.activated +kubebuilder:printcolumn:name="Description",type=string,JSONPath=.spec.description +kubebuilder:printcolumn:name="Immutable",type=boolean,JSONPath=.spec.immutable +kubebuilder:printcolumn:name="Maturity",type=string,JSONPath=.spec.maturity +kubebuilder:deprecatedversion:warning="Feature API in config.tanzu.vmware.com is deprecated. Use Feature API from core.tanzu.vmware.com instead"

func (*Feature) DeepCopy

func (in *Feature) DeepCopy() *Feature

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

func (*Feature) DeepCopyInto

func (in *Feature) DeepCopyInto(out *Feature)

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

func (*Feature) DeepCopyObject

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

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

type FeatureGate

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

	// Spec is the specification for gating features.
	Spec FeatureGateSpec `json:"spec,omitempty"`
	// Status reports activation state and availability of features in the system.
	Status FeatureGateStatus `json:"status,omitempty"`
}

FeatureGate is the Schema for the featuregates API

func (*FeatureGate) DeepCopy

func (in *FeatureGate) DeepCopy() *FeatureGate

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

func (*FeatureGate) DeepCopyInto

func (in *FeatureGate) DeepCopyInto(out *FeatureGate)

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

func (*FeatureGate) DeepCopyObject

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

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

func (*FeatureGate) SetupWebhookWithManager

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

SetupWebhookWithManager adds the webhook to the manager.

func (*FeatureGate) ValidateCreate

func (r *FeatureGate) ValidateCreate() error

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

func (*FeatureGate) ValidateDelete

func (r *FeatureGate) ValidateDelete() error

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

func (*FeatureGate) ValidateUpdate

func (r *FeatureGate) ValidateUpdate(old runtime.Object) error

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

type FeatureGateList

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

FeatureGateList contains a list of FeatureGate

func (*FeatureGateList) DeepCopy

func (in *FeatureGateList) DeepCopy() *FeatureGateList

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

func (*FeatureGateList) DeepCopyInto

func (in *FeatureGateList) DeepCopyInto(out *FeatureGateList)

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

func (*FeatureGateList) DeepCopyObject

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

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

type FeatureGateSpec

type FeatureGateSpec struct {
	// NamespaceSelector is a selector to specify namespaces for which this feature gate applies.
	// Use an empty LabelSelector to match all namespaces.
	NamespaceSelector metav1.LabelSelector `json:"namespaceSelector"`
	// Features is a slice of FeatureReference to gate features.
	// The Feature resource specified may or may not be present in the system. If the Feature is present, the
	// FeatureGate controller and webhook sets the specified activation state only if the Feature is discoverable and
	// its immutability constraint is satisfied. If the Feature is not present, the activation intent is applied when
	// the Feature resource appears in the system. The actual activation state of the Feature is reported in the status.
	// +listType=map
	// +listMapKey=name
	Features []FeatureReference `json:"features,omitempty"`
}

FeatureGateSpec defines the desired state of FeatureGate

func (*FeatureGateSpec) DeepCopy

func (in *FeatureGateSpec) DeepCopy() *FeatureGateSpec

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

func (*FeatureGateSpec) DeepCopyInto

func (in *FeatureGateSpec) DeepCopyInto(out *FeatureGateSpec)

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

type FeatureGateStatus

type FeatureGateStatus struct {
	// Namespaces lists the existing namespaces for which this feature gate applies. This is obtained from listing all
	// namespaces and applying the NamespaceSelector specified in spec.
	Namespaces []string `json:"namespaces,omitempty"`
	// ActivatedFeatures lists the discovered features that are activated for the namespaces specified in the spec.
	// This can include features that are not explicitly gated in the spec, but are already available in the system as
	// Feature resources.
	ActivatedFeatures []string `json:"activatedFeatures,omitempty"`
	// DeactivatedFeatures lists the discovered features that are deactivated for the namespaces specified in the spec.
	// This can include features that are not explicitly gated in the spec, but are already available in the system as
	// Feature resources.
	DeactivatedFeatures []string `json:"deactivatedFeatures,omitempty"`
	// UnavailableFeatures lists the features that are gated in the spec, but are not available in the system as
	// Feature resources.
	UnavailableFeatures []string `json:"unavailableFeatures,omitempty"`
}

FeatureGateStatus defines the observed state of FeatureGate

func (*FeatureGateStatus) DeepCopy

func (in *FeatureGateStatus) DeepCopy() *FeatureGateStatus

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

func (*FeatureGateStatus) DeepCopyInto

func (in *FeatureGateStatus) DeepCopyInto(out *FeatureGateStatus)

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

type FeatureList

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

FeatureList contains a list of Feature

func (*FeatureList) DeepCopy

func (in *FeatureList) DeepCopy() *FeatureList

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

func (*FeatureList) DeepCopyInto

func (in *FeatureList) DeepCopyInto(out *FeatureList)

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

func (*FeatureList) DeepCopyObject

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

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

type FeatureReference

type FeatureReference struct {
	// Name is the name of the Feature resource, which represents a feature the system offers.
	// +kubebuilder:validation:Required
	Name string `json:"name"`
	// Activate indicates the activation intent for the feature.
	Activate bool `json:"activate,omitempty"`
}

FeatureReference refers to a Feature resource and specifies its intended activation state.

func (*FeatureReference) DeepCopy

func (in *FeatureReference) DeepCopy() *FeatureReference

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

func (*FeatureReference) DeepCopyInto

func (in *FeatureReference) DeepCopyInto(out *FeatureReference)

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

type FeatureSpec

type FeatureSpec struct {
	// Description of the feature.
	Description string `json:"description,omitempty"`
	// Immutable indicates this feature cannot be toggled once set
	// If set at creation time, this state will persist for the life of the cluster
	Immutable bool `json:"immutable"`
	// Discoverable indicates if clients should include consider the Feature available for their use
	// Allowing clients to control discoverability is one of the ways the API allows gradual rollout of functionality
	Discoverable bool `json:"discoverable"`
	// Activated defines the default state of the features activation
	Activated bool `json:"activated"`
	// Maturity indicates maturity level of this feature.
	// Maturity levels are Dev, Alpha, Beta, GA and Deprecated.
	// +kubebuilder:validation:Enum=dev;alpha;beta;ga;deprecated
	// - dev: the default for new resources, represents local dev. intended to be hidden and deactivated
	// - alpha: the first milestone meant for limited wider consumption, discoverable and defaults to deactivated
	// - beta: greater visibility for proven designs, discoverable and defaults to activated
	// - ga: intended to be part of the mainline codebase, non-optional
	// - deprecated: destined for future removal
	Maturity string `json:"maturity"`
}

FeatureSpec defines the desired state of Feature

func (*FeatureSpec) DeepCopy

func (in *FeatureSpec) DeepCopy() *FeatureSpec

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

func (*FeatureSpec) DeepCopyInto

func (in *FeatureSpec) DeepCopyInto(out *FeatureSpec)

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

type FeatureStatus

type FeatureStatus struct{}

FeatureStatus defines the observed state of Feature

func (*FeatureStatus) DeepCopy

func (in *FeatureStatus) DeepCopy() *FeatureStatus

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

func (*FeatureStatus) DeepCopyInto

func (in *FeatureStatus) DeepCopyInto(out *FeatureStatus)

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