v1alpha2

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: 16

Documentation

Overview

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

Index

Constants

View Source
const (
	// BasicReadinessCheck depends directly on the ReadinessProviders to be ready
	BasicReadinessCheck = ReadinessCheckType("basic")

	// CompositeReadinessCheck depends on other basic checks to be ready
	CompositeReadinessCheck = ReadinessCheckType("composite")
)
View Source
const (
	// ProviderSuccessState is a ReadinessProviderState that denotes success state
	ProviderSuccessState = ReadinessProviderState("success")

	// ProviderFailureState is a ReadinessProviderState that denotes failure state
	ProviderFailureState = ReadinessProviderState("failure")

	// ProviderInProgressState is a ReadinessProviderState that denotes in-progress state
	ProviderInProgressState = ReadinessProviderState("inprogress")
)
View Source
const (
	// ConditionSuccessState is a ReadinessConditionState that denotes success state
	ConditionSuccessState = ReadinessConditionState("success")

	// ConditionFailureState is a ReadinessConditionState that denotes failure state
	ConditionFailureState = ReadinessConditionState("failure")

	// ConditionInProgressState is a ReadinessConditionState that denotes in-progress state
	ConditionInProgressState = ReadinessConditionState("inprogress")
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "core.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
)
View Source
var StabilityPolicies = map[StabilityLevel]Policy{
	WorkInProgress: {
		DefaultActivation: false,
		Immutable:         false,
		VoidsWarranty:     true,
		Discoverable:      false,
	},
	Experimental: {
		DefaultActivation: false,
		Immutable:         false,
		VoidsWarranty:     true,
		Discoverable:      true,
	},
	TechnicalPreview: {
		DefaultActivation: false,
		Immutable:         false,
		VoidsWarranty:     false,
		Discoverable:      true,
	},
	Stable: {
		DefaultActivation: true,
		Immutable:         true,
		VoidsWarranty:     false,
		Discoverable:      true,
	},
	Deprecated: {
		DefaultActivation: true,
		Immutable:         false,
		VoidsWarranty:     false,
		Discoverable:      true,
	},
}

StabilityPolicies is map that holds the policies for different stability levels

Functions

This section is empty.

Types

type Capability

type Capability struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	// Spec is the capability spec that has cluster queries.
	Spec CapabilitySpec `json:"spec,omitempty"`
	// Status is the capability status that has results of cluster queries.
	Status CapabilityStatus `json:"status,omitempty"`
}

Capability is the Schema for the capabilities API

func (*Capability) DeepCopy

func (in *Capability) DeepCopy() *Capability

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

func (*Capability) DeepCopyInto

func (in *Capability) DeepCopyInto(out *Capability)

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

func (*Capability) DeepCopyObject

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

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

type CapabilityList

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

CapabilityList contains a list of Capability

func (*CapabilityList) DeepCopy

func (in *CapabilityList) DeepCopy() *CapabilityList

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

func (*CapabilityList) DeepCopyInto

func (in *CapabilityList) DeepCopyInto(out *CapabilityList)

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

func (*CapabilityList) DeepCopyObject

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

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

type CapabilitySpec

type CapabilitySpec struct {
	// ServiceAccountName is the name of the service account with which requests
	// are made to the API server for evaluating queries.
	// Service account should exist in the same namespace as this resource.
	// When this field is not specified, a default service account with only the
	// ability to execute GVR queries is used.
	// +optional
	ServiceAccountName string `json:"serviceAccountName"`
	// Queries specifies set of queries that are evaluated.
	// +listType=map
	// +listMapKey=name
	Queries []Query `json:"queries"`
}

CapabilitySpec defines the desired state of Capability.

func (*CapabilitySpec) DeepCopy

func (in *CapabilitySpec) DeepCopy() *CapabilitySpec

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

func (*CapabilitySpec) DeepCopyInto

func (in *CapabilitySpec) DeepCopyInto(out *CapabilitySpec)

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

type CapabilityStatus

type CapabilityStatus struct {
	// Results represents the results of all the queries specified in the spec.
	// +listType=map
	// +listMapKey=name
	Results []Result `json:"results"`
}

CapabilityStatus defines the observed state of Capability

func (*CapabilityStatus) DeepCopy

func (in *CapabilityStatus) DeepCopy() *CapabilityStatus

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

func (*CapabilityStatus) DeepCopyInto

func (in *CapabilityStatus) DeepCopyInto(out *CapabilityStatus)

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

type Check

type Check struct {
	// Name is the name of the check
	Name string `json:"name"`

	// Type is the type of the check. Type can be either basic or composite.
	// The basic checks depend on its providers to be ready.
	// The composite checks depend on the basic checks for their readiness.
	// +kubebuilder:validation:Enum=basic;composite
	Type ReadinessCheckType `json:"type"`

	// Category is the category of the check. Examples of categories are availability and security.
	Category string `json:"category"`
}

func (*Check) DeepCopy

func (in *Check) DeepCopy() *Check

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

func (*Check) DeepCopyInto

func (in *Check) DeepCopyInto(out *Check)

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

type CheckStatus

type CheckStatus struct {
	// Name is the name of the check
	Name string `json:"name"`

	// Ready is the boolean flag indicating if the check is ready
	Ready bool `json:"status"`

	// Providers is the list of providers available for the given check
	Providers []Provider `json:"providers"`
}

func (*CheckStatus) DeepCopy

func (in *CheckStatus) DeepCopy() *CheckStatus

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

func (*CheckStatus) DeepCopyInto

func (in *CheckStatus) DeepCopyInto(out *CheckStatus)

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

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:storageversion +kubebuilder:printcolumn:name="Description",type=string,JSONPath=.spec.description +kubebuilder:printcolumn:name="Stability",type=string,JSONPath=.spec.stability +kubebuilder:printcolumn:name="Activated?",type=string,JSONPath=.status.activated

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 {
	// Features is a slice of FeatureReference to gate features.
	// Feature controller sets the specified activation state only if the Feature policy is satisfied.
	// +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 {
	// FeatureReferenceResult represents the results of all the features specified in the FeatureGate spec.
	// +listType=map
	// +listMapKey=name
	FeatureReferenceResults []FeatureReferenceResult `json:"featureReferenceResults"`
}

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"`
	// PermanentlyVoidAllSupportGuarantees when set to true permanently voids all support guarantees.
	// Once set to true, cannot be set back to false
	PermanentlyVoidAllSupportGuarantees bool `json:"permanentlyVoidAllSupportGuarantees,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 FeatureReferenceResult

type FeatureReferenceResult struct {
	// Name is the name of the feature.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength:=1
	Name string `json:"name"`
	// Status represents the outcome of the feature reference operation specified in the FeatureGate spec
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:Enum=Applied;Invalid
	// - Applied: represents feature toggle has been successfully applied.
	// - Invalid: represents that the intended state of the feature is invalid.
	Status FeatureReferenceStatus `json:"status"`
	// Message represents the reason for status
	// +optional
	Message string `json:"message,omitempty"`
}

FeatureReferenceResult represents the result of FeatureReference.

func (*FeatureReferenceResult) DeepCopy

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

func (*FeatureReferenceResult) DeepCopyInto

func (in *FeatureReferenceResult) DeepCopyInto(out *FeatureReferenceResult)

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

type FeatureReferenceStatus

type FeatureReferenceStatus string

FeatureReferenceStatus represents the status of the feature reference in the FeatureGate spec

const (
	AppliedReferenceStatus FeatureReferenceStatus = "Applied"
	InvalidReferenceStatus FeatureReferenceStatus = "Invalid"
)

type FeatureSpec

type FeatureSpec struct {
	// Description of the feature.
	Description string `json:"description"`
	// Stability indicates stability level of the feature.
	// Stability levels are Work In Progress, Experimental, Technical Preview, Stable and Deprecated.
	// +kubebuilder:validation:Enum=Work In Progress;Experimental;Technical Preview;Stable;Deprecated
	// - Work In Progress: Feature is still under development. It is not ready to be used, except by the team working on it. Activating this feature is not recommended under any circumstances.
	// - Experimental: Feature is not ready, but may be used in pre-production environments. However, if an experimental feature has ever been used in an environment, that environment will not be supported. Activating an experimental feature requires you to permanently, irrevocably void all support guarantees for this environment by setting permanentlyVoidAllSupportGuarantees in feature reference in featuregate spec to true. You will need to recreate the environment to return to a supported state.
	// - Technical Preview: Feature is not ready, but is not believed to be dangerous. The feature itself is unsupported, but activating a technical preview feature does not affect the support status of the environment.
	// - Stable: Feature is ready and fully supported
	// - Deprecated: Feature is destined for removal, usage is discouraged. Deactivate this feature prior to upgrading to a release which has removed it to validate that you are not still using it and to prevent users from introducing new usage of it.
	Stability StabilityLevel `json:"stability"`
}

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 {
	// Activated is a boolean which indicates whether a feature is activated or not.
	Activated bool `json:"activated"`
}

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.

type Policy

type Policy struct {
	// DefaultActivation is the default activation state of the Feature. When a new Feature resource is added to the
	// cluster, the state of that Feature is expected to be in the default activation state defined by the stability
	// level that Feature uses.
	DefaultActivation bool
	// Immutable defines the Feature state immutability. When set to true for a stability level, the Feature with that
	// stability level cannot be toggled.
	Immutable bool
	// VoidsWarranty is for defining the warranty support for the environment where a Feature with that stability level
	// is activated. When set to true, activating the Feature using that stability level will void the warranty for that
	// environment.
	VoidsWarranty bool
	// Discoverable is for defining the Feature discoverability. When set to true, the Feature with that stability level
	// is discoverable
	Discoverable bool
}

Policy represents Stability level policy

func GetPolicyForStabilityLevel

func GetPolicyForStabilityLevel(stability StabilityLevel) Policy

GetPolicyForStabilityLevel returns policy for stability level

func (*Policy) DeepCopy

func (in *Policy) DeepCopy() *Policy

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

func (*Policy) DeepCopyInto

func (in *Policy) DeepCopyInto(out *Policy)

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

type Provider

type Provider struct {
	// Name is the name of the provider
	Name string `json:"name"`

	// IsActive is the boolean flag indicating if the provider is active
	IsActive bool `json:"isActive"`
}

func (*Provider) DeepCopy

func (in *Provider) DeepCopy() *Provider

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

func (*Provider) DeepCopyInto

func (in *Provider) DeepCopyInto(out *Provider)

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

type Query

type Query struct {
	// Name is the unique name of the query.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength:=1
	Name string `json:"name"`
	// GroupVersionResources evaluates a slice of GVR queries.
	// +listType=map
	// +listMapKey=name
	// +optional
	GroupVersionResources []QueryGVR `json:"groupVersionResources,omitempty"`
	// Objects evaluates a slice of Object queries.
	// +listType=map
	// +listMapKey=name
	// +optional
	Objects []QueryObject `json:"objects,omitempty"`
	// PartialSchemas evaluates a slice of PartialSchema queries.
	// +listType=map
	// +listMapKey=name
	// +optional
	PartialSchemas []QueryPartialSchema `json:"partialSchemas,omitempty"`
}

Query is a logical grouping of GVR, Object and PartialSchema queries.

func (*Query) DeepCopy

func (in *Query) DeepCopy() *Query

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

func (*Query) DeepCopyInto

func (in *Query) DeepCopyInto(out *Query)

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

type QueryGVR

type QueryGVR struct {
	// Name is the unique name of the query.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength:=1
	Name string `json:"name"`
	// Group is the API group to check for in the cluster.
	// +optional
	Group string `json:"group"`
	// Versions is the slice of versions to check for in the specified API group.
	// +optional
	Versions []string `json:"versions,omitempty"`
	// Resource is the API resource to check for given an API group and a slice of versions.
	// Specifying a Resource requires at least one version to be specified in Versions.
	// +optional
	Resource string `json:"resource,omitempty"`
}

QueryGVR queries for an API group with the optional ability to check for API versions and resource.

func (*QueryGVR) DeepCopy

func (in *QueryGVR) DeepCopy() *QueryGVR

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

func (*QueryGVR) DeepCopyInto

func (in *QueryGVR) DeepCopyInto(out *QueryGVR)

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

type QueryObject

type QueryObject struct {
	// Name is the unique name of the query.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength:=1
	Name string `json:"name"`
	// ObjectReference is the ObjectReference to check for in the cluster.
	// +kubebuilder:validation:Required
	ObjectReference corev1.ObjectReference `json:"objectReference"`
	// WithAnnotations are the annotations whose presence is checked in the object.
	// The query succeeds only if all the annotations specified exists.
	// +optional
	WithAnnotations map[string]string `json:"withAnnotations,omitempty"`
	// WithAnnotations are the annotations whose absence is checked in the object.
	// The query succeeds only if all the annotations specified do not exist.
	// +optional
	WithoutAnnotations map[string]string `json:"withoutAnnotations,omitempty"`
}

QueryObject represents any runtime.Object that could exist in a cluster with the ability to check for annotations.

func (*QueryObject) DeepCopy

func (in *QueryObject) DeepCopy() *QueryObject

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

func (*QueryObject) DeepCopyInto

func (in *QueryObject) DeepCopyInto(out *QueryObject)

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

type QueryPartialSchema

type QueryPartialSchema struct {
	// Name is the unique name of the query.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength:=1
	Name string `json:"name"`
	// PartialSchema is the partial OpenAPI schema that will be matched in a cluster.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength:=1
	PartialSchema string `json:"partialSchema"`
}

QueryPartialSchema queries for any OpenAPI schema that may exist on a cluster.

func (*QueryPartialSchema) DeepCopy

func (in *QueryPartialSchema) DeepCopy() *QueryPartialSchema

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

func (*QueryPartialSchema) DeepCopyInto

func (in *QueryPartialSchema) DeepCopyInto(out *QueryPartialSchema)

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

type QueryResult

type QueryResult struct {
	// Name is the name of the query in spec whose result this struct represents.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength:=1
	Name string `json:"name"`
	// Found is a boolean which indicates if the query condition succeeded.
	// +optional
	Found bool `json:"found"`
	// Error indicates if an error occurred while processing the query.
	// +optional
	Error bool `json:"error,omitempty"`
	// ErrorDetail represents the error detail, if an error occurred.
	// +optional
	ErrorDetail string `json:"errorDetail,omitempty"`
	// NotFoundReason provides the reason if the query condition fails.
	// This is non-empty when Found is false.
	// +optional
	NotFoundReason string `json:"notFoundReason,omitempty"`
}

QueryResult represents the result of a single query.

func (*QueryResult) DeepCopy

func (in *QueryResult) DeepCopy() *QueryResult

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

func (*QueryResult) DeepCopyInto

func (in *QueryResult) DeepCopyInto(out *QueryResult)

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

type Readiness

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

	Spec   ReadinessSpec   `json:"spec,omitempty"`
	Status ReadinessStatus `json:"status,omitempty"`
}

Readiness is the Schema for the readinesses API

func (*Readiness) DeepCopy

func (in *Readiness) DeepCopy() *Readiness

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

func (*Readiness) DeepCopyInto

func (in *Readiness) DeepCopyInto(out *Readiness)

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

func (*Readiness) DeepCopyObject

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

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

type ReadinessCheckType

type ReadinessCheckType string

ReadinessCheckType defines the current state of the provider

type ReadinessConditionState

type ReadinessConditionState string

ReadinessConditionState defines the state of indvidual conditions in a readiness provider

type ReadinessConditionStatus

type ReadinessConditionStatus struct {
	// Name is the name of the readiness condition
	Name string `json:"name"`

	// State is the computed state of the condition
	// +kubebuilder:validation:Enum=success;failure;inprogress
	State ReadinessConditionState `json:"state"`

	// Message is the field that provides information about the condition evaluation
	Message string `json:"message"`
}

func (*ReadinessConditionStatus) DeepCopy

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

func (*ReadinessConditionStatus) DeepCopyInto

func (in *ReadinessConditionStatus) DeepCopyInto(out *ReadinessConditionStatus)

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

type ReadinessList

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

ReadinessList contains a list of Readiness

func (*ReadinessList) DeepCopy

func (in *ReadinessList) DeepCopy() *ReadinessList

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

func (*ReadinessList) DeepCopyInto

func (in *ReadinessList) DeepCopyInto(out *ReadinessList)

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

func (*ReadinessList) DeepCopyObject

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

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

type ReadinessProvider

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

	Spec   ReadinessProviderSpec   `json:"spec,omitempty"`
	Status ReadinessProviderStatus `json:"status,omitempty"`
}

ReadinessProvider is the Schema for the readinessproviders API

func (*ReadinessProvider) DeepCopy

func (in *ReadinessProvider) DeepCopy() *ReadinessProvider

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

func (*ReadinessProvider) DeepCopyInto

func (in *ReadinessProvider) DeepCopyInto(out *ReadinessProvider)

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

func (*ReadinessProvider) DeepCopyObject

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

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

func (*ReadinessProvider) SetupWebhookWithManager

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

SetupWebhookWithManager adds the webhook to the manager.

func (*ReadinessProvider) ValidateCreate

func (r *ReadinessProvider) ValidateCreate() error

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

func (*ReadinessProvider) ValidateDelete

func (r *ReadinessProvider) ValidateDelete() error

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

func (*ReadinessProvider) ValidateUpdate

func (r *ReadinessProvider) ValidateUpdate(_ runtime.Object) error

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

type ReadinessProviderCondition

type ReadinessProviderCondition struct {
	// Name is the name of the condition
	Name string `json:"name"`

	// ResourceExistenceCondition is the condition that checks for the presence of a certain resource in the cluster
	//+kubebuilder:validation:Optional
	ResourceExistenceCondition *ResourceExistenceCondition `json:"resourceExistenceCondition"`
}

ReadinessProviderCondition defines the readiness provider condition

func (*ReadinessProviderCondition) DeepCopy

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

func (*ReadinessProviderCondition) DeepCopyInto

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

type ReadinessProviderList

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

ReadinessProviderList contains a list of ReadinessProvider

func (*ReadinessProviderList) DeepCopy

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

func (*ReadinessProviderList) DeepCopyInto

func (in *ReadinessProviderList) DeepCopyInto(out *ReadinessProviderList)

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

func (*ReadinessProviderList) DeepCopyObject

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

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

type ReadinessProviderSpec

type ReadinessProviderSpec struct {
	// CheckRefs contains names of the checks that the current provider satisfies
	CheckRefs []string `json:"checkRefs"`

	// Conditions is the set of checks that must be evaluated to true to mark the provider as ready
	Conditions []ReadinessProviderCondition `json:"conditions"`

	// ServiceAccountRef represents the service account to be used
	// to make requests to the API server for evaluating conditions.
	// If not provided, it uses the default service account
	// of the readiness provider controller,
	// which may not have appropriate RBAC for evaluating conditions.
	//+kubebuilder:validation:Optional
	ServiceAccountRef *ServiceAccountRef `json:"serviceAccountRef"`
}

ReadinessProviderSpec defines the desired state of ReadinessProvider

func (*ReadinessProviderSpec) DeepCopy

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

func (*ReadinessProviderSpec) DeepCopyInto

func (in *ReadinessProviderSpec) DeepCopyInto(out *ReadinessProviderSpec)

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

type ReadinessProviderState

type ReadinessProviderState string

ReadinessProviderState defines the current state of the provider

type ReadinessProviderStatus

type ReadinessProviderStatus struct {
	// State is the computed state of the provider. The state will be success if all the conditions pass;
	// The state will be failure if any of the conditions fail. Otherwise, the state will be in-progress.
	// +kubebuilder:validation:Enum=success;failure;inprogress
	State ReadinessProviderState `json:"state"`

	// Message provides information about the ReadinessProvider state
	Message string `json:"message"`

	// Conditions is the set of ReadinessConditions that are being evaluated
	Conditions []ReadinessConditionStatus `json:"conditions"`
}

ReadinessProviderStatus defines the observed state of ReadinessProvider

func (*ReadinessProviderStatus) DeepCopy

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

func (*ReadinessProviderStatus) DeepCopyInto

func (in *ReadinessProviderStatus) DeepCopyInto(out *ReadinessProviderStatus)

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

type ReadinessSpec

type ReadinessSpec struct {
	// Checks is the set of checks that are required to mark the readiness
	Checks []Check `json:"checks"`
}

ReadinessSpec defines the desired state of Readiness

func (*ReadinessSpec) DeepCopy

func (in *ReadinessSpec) DeepCopy() *ReadinessSpec

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

func (*ReadinessSpec) DeepCopyInto

func (in *ReadinessSpec) DeepCopyInto(out *ReadinessSpec)

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

type ReadinessStatus

type ReadinessStatus struct {
	// CheckStatus presents the status of check defined in the spec
	CheckStatus []CheckStatus `json:"checkStatus"`

	// Ready is the flag that denotes if the defined readiness is ready.
	// The readiness is marked ready if all the checks are satisfied.
	Ready bool `json:"ready"`
}

ReadinessStatus defines the observed state of Readiness

func (*ReadinessStatus) DeepCopy

func (in *ReadinessStatus) DeepCopy() *ReadinessStatus

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

func (*ReadinessStatus) DeepCopyInto

func (in *ReadinessStatus) DeepCopyInto(out *ReadinessStatus)

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

type ResourceExistenceCondition

type ResourceExistenceCondition struct {
	// APIVersion is the API version of the resource that is being checked.
	// This should be provided in <group>/<version> format.
	// More info: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#resources
	APIVersion string `json:"apiVersion"`

	// Kind is the API kind of the resource that is being checked
	// More info: More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
	Kind string `json:"kind"`

	// Namespace is the namespace of the resource that is being checked; if the Namespace is nil,
	// the resource is assumed to be cluster scoped. Empty string for the namespace will throw error.
	//+kubebuilder:validation:Optional
	Namespace *string `json:"namespace"`
	Name      string  `json:"name"`
}

ResourceExistenceCondition is a type of readiness provider condition that checks for existence of given resource

func (*ResourceExistenceCondition) DeepCopy

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

func (*ResourceExistenceCondition) DeepCopyInto

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

type Result

type Result struct {
	// Name is the unique name of the query.
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength:=1
	Name string `json:"name"`
	// GroupVersionResources represents results of GVR queries in spec.
	// +listType=map
	// +listMapKey=name
	// +optional
	GroupVersionResources []QueryResult `json:"groupVersionResources,omitempty"`
	// Objects represents results of Object queries in spec.
	// +listType=map
	// +listMapKey=name
	// +optional
	Objects []QueryResult `json:"objects,omitempty"`
	// PartialSchemas represents results of PartialSchema queries in spec.
	// +listType=map
	// +listMapKey=name
	// +optional
	PartialSchemas []QueryResult `json:"partialSchemas,omitempty"`
}

Result represents the results of queries in Query.

func (*Result) DeepCopy

func (in *Result) DeepCopy() *Result

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

func (*Result) DeepCopyInto

func (in *Result) DeepCopyInto(out *Result)

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

type ServiceAccountRef

type ServiceAccountRef struct {
	// Namespace is the namespace containing the service account.
	Namespace string `json:"namespace"`

	// Name is the name of the service account to be used
	// to make requests to the API server for evaluating conditions.
	Name string `json:"name"`
}

func (*ServiceAccountRef) DeepCopy

func (in *ServiceAccountRef) DeepCopy() *ServiceAccountRef

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

func (*ServiceAccountRef) DeepCopyInto

func (in *ServiceAccountRef) DeepCopyInto(out *ServiceAccountRef)

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

type StabilityLevel

type StabilityLevel string

StabilityLevel indicates stability level of the feature.

const (
	WorkInProgress   StabilityLevel = "Work In Progress"
	Experimental     StabilityLevel = "Experimental"
	TechnicalPreview StabilityLevel = "Technical Preview"
	Stable           StabilityLevel = "Stable"
	Deprecated       StabilityLevel = "Deprecated"
)

Jump to

Keyboard shortcuts

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