Documentation
¶
Overview ¶
+k8s:deepcopy-gen=package,register +k8s:openapi-gen=true +groupName=extensions.kubeblocks.io
Package v1alpha1 contains API Schema definitions for the extensions v1alpha1 API group +kubebuilder:object:generate=true +groupName=extensions.kubeblocks.io
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type Addon
- type AddonDefaultInstallSpecItem
- type AddonInstallExtraItem
- type AddonInstallSpec
- type AddonInstallSpecItem
- type AddonList
- type AddonPhase
- type AddonSelectorKey
- type AddonSpec
- type AddonStatus
- type AddonType
- type CliPlugin
- type DataObjectKeySelector
- type HelmInstallOptions
- type HelmInstallValues
- type HelmJSONValueMapType
- type HelmTypeInstallSpec
- func (r *HelmTypeInstallSpec) BuildContainerArgs(helmContainer *corev1.Container, installValues HelmInstallValues) error
- func (r *HelmTypeInstallSpec) BuildMergedValues(installSpec *AddonInstallSpec) HelmInstallValues
- func (in *HelmTypeInstallSpec) DeepCopy() *HelmTypeInstallSpec
- func (in *HelmTypeInstallSpec) DeepCopyInto(out *HelmTypeInstallSpec)
- type HelmValueMapType
- type HelmValuesMapping
- type HelmValuesMappingExtraItem
- type HelmValuesMappingItem
- type InstallableSpec
- type LineSelectorOperator
- type ResourceMappingItem
- func (in *ResourceMappingItem) DeepCopy() *ResourceMappingItem
- func (in *ResourceMappingItem) DeepCopyInto(out *ResourceMappingItem)
- func (r *ResourceMappingItem) HasCPULimMapping() bool
- func (r *ResourceMappingItem) HasCPUReqMapping() bool
- func (r *ResourceMappingItem) HasMemLimMapping() bool
- func (r *ResourceMappingItem) HasMemReqMapping() bool
- func (r *ResourceMappingItem) HasStorageMapping() bool
- type ResourceReqLimItem
- type ResourceRequirements
- type SelectorRequirement
Constants ¶
const ( // condition types ConditionTypeProgressing = "Progressing" ConditionTypeChecked = "InstallableChecked" ConditionTypeSucceed = "Succeed" ConditionTypeFailed = "Failed" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "extensions.kubeblocks.io", 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 )
var SchemeGroupVersion = GroupVersion
SchemeGroupVersion is group version used to register these objects.
Functions ¶
func Resource ¶ added in v0.6.0
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type Addon ¶
type Addon struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec AddonSpec `json:"spec,omitempty"`
Status AddonStatus `json:"status,omitempty"`
}
Addon is the Schema for the add-ons API.
func (*Addon) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Addon.
func (*Addon) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Addon) DeepCopyObject ¶ added in v0.6.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Addon) GetExtraNames ¶
GetExtraNames extracts extra items' name.
type AddonDefaultInstallSpecItem ¶
type AddonDefaultInstallSpecItem struct {
AddonInstallSpec `json:",inline"`
// Addon installs parameters selectors by default. If multiple selectors are provided,
// all selectors must evaluate to true.
// +optional
Selectors []SelectorRequirement `json:"selectors,omitempty"`
}
func (*AddonDefaultInstallSpecItem) DeepCopy ¶ added in v0.6.0
func (in *AddonDefaultInstallSpecItem) DeepCopy() *AddonDefaultInstallSpecItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonDefaultInstallSpecItem.
func (*AddonDefaultInstallSpecItem) DeepCopyInto ¶ added in v0.6.0
func (in *AddonDefaultInstallSpecItem) DeepCopyInto(out *AddonDefaultInstallSpecItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AddonDefaultInstallSpecItem) GetSelectorsStrings ¶
func (r AddonDefaultInstallSpecItem) GetSelectorsStrings() []string
GetSelectorsStrings extracts selectors to string representations.
type AddonInstallExtraItem ¶
type AddonInstallExtraItem struct {
AddonInstallSpecItem `json:",inline"`
// Name of the item.
// +kubebuilder:validation:Required
Name string `json:"name"`
}
func (*AddonInstallExtraItem) DeepCopy ¶ added in v0.6.0
func (in *AddonInstallExtraItem) DeepCopy() *AddonInstallExtraItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonInstallExtraItem.
func (*AddonInstallExtraItem) DeepCopyInto ¶ added in v0.6.0
func (in *AddonInstallExtraItem) DeepCopyInto(out *AddonInstallExtraItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddonInstallSpec ¶
type AddonInstallSpec struct {
AddonInstallSpecItem `json:",inline"`
// enabled can be set if there are no specific installation attributes to be set.
// +optional
Enabled bool `json:"enabled,omitempty"`
// Installs spec. for extra items.
// +patchMergeKey=name
// +patchStrategy=merge,retainKeys
// +listType=map
// +listMapKey=name
// +optional
ExtraItems []AddonInstallExtraItem `json:"extras,omitempty"`
}
func (*AddonInstallSpec) DeepCopy ¶ added in v0.6.0
func (in *AddonInstallSpec) DeepCopy() *AddonInstallSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonInstallSpec.
func (*AddonInstallSpec) DeepCopyInto ¶ added in v0.6.0
func (in *AddonInstallSpec) DeepCopyInto(out *AddonInstallSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonInstallSpec) GetEnabled ¶
func (r *AddonInstallSpec) GetEnabled() bool
GetEnabled provides the Enabled property getter.
func (*AddonInstallSpec) HasSetValues ¶
func (r *AddonInstallSpec) HasSetValues() bool
func (*AddonInstallSpec) IsDisabled ¶
func (r *AddonInstallSpec) IsDisabled() bool
type AddonInstallSpecItem ¶
type AddonInstallSpecItem struct {
// Replicas value.
// +optional
Replicas *int32 `json:"replicas,omitempty"`
// Persistent Volume Enabled value.
// +optional
PVEnabled *bool `json:"persistentVolumeEnabled,omitempty"`
// Storage class name.
// +optional
StorageClass string `json:"storageClass,omitempty"`
// Tolerations JSON array string value.
// +optional
Tolerations string `json:"tolerations,omitempty"`
// Resource requirements.
// +optional
Resources ResourceRequirements `json:"resources,omitempty"`
}
func NewAddonInstallSpecItem ¶
func NewAddonInstallSpecItem() AddonInstallSpecItem
NewAddonInstallSpecItem creates an initialized AddonInstallSpecItem object.
func (*AddonInstallSpecItem) DeepCopy ¶ added in v0.6.0
func (in *AddonInstallSpecItem) DeepCopy() *AddonInstallSpecItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonInstallSpecItem.
func (*AddonInstallSpecItem) DeepCopyInto ¶ added in v0.6.0
func (in *AddonInstallSpecItem) DeepCopyInto(out *AddonInstallSpecItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AddonInstallSpecItem) IsEmpty ¶
func (r AddonInstallSpecItem) IsEmpty() bool
type AddonList ¶
type AddonList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitempty"`
Items []Addon `json:"items"`
}
AddonList contains a list of add-ons.
func (*AddonList) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonList.
func (*AddonList) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AddonList) DeepCopyObject ¶ added in v0.6.0
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AddonPhase ¶
type AddonPhase string
AddonPhase defines addon phases. +enum
const ( AddonDisabled AddonPhase = "Disabled" AddonEnabled AddonPhase = "Enabled" AddonFailed AddonPhase = "Failed" AddonEnabling AddonPhase = "Enabling" AddonDisabling AddonPhase = "Disabling" )
type AddonSelectorKey ¶
type AddonSelectorKey string
AddonSelectorKey are selector requirement key types. +enum +kubebuilder:validation:Enum={KubeGitVersion,KubeVersion,KubeProvider}
const ( KubeGitVersion AddonSelectorKey = "KubeGitVersion" KubeVersion AddonSelectorKey = "KubeVersion" KubeProvider AddonSelectorKey = "KubeProvider" )
type AddonSpec ¶
type AddonSpec struct {
// Addon description.
// +optional
Description string `json:"description,omitempty"`
// Add-on type. The valid value is helm.
// +unionDiscriminator
// +kubebuilder:validation:Required
Type AddonType `json:"type"`
// Helm installation spec. It's processed only when type=helm.
// +optional
Helm *HelmTypeInstallSpec `json:"helm,omitempty"`
// Default installation parameters.
// +kubebuilder:validation:Required
// +kubebuilder:validation:MinItems=1
DefaultInstallValues []AddonDefaultInstallSpecItem `json:"defaultInstallValues"`
// Installation parameters.
// +optional
InstallSpec *AddonInstallSpec `json:"install,omitempty"`
// Addon installable spec. It provides selector and auto-install settings.
// +optional
Installable *InstallableSpec `json:"installable,omitempty"`
// Plugin installation spec.
// +optional
CliPlugins []CliPlugin `json:"cliPlugins,omitempty"`
}
AddonSpec defines the desired state of an add-on. +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Helm' ? has(self.helm) : !has(self.helm)",message="spec.helm is required when spec.type is Helm, and forbidden otherwise"
func (*AddonSpec) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonSpec.
func (*AddonSpec) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (AddonSpec) GetSortedDefaultInstallValues ¶
func (r AddonSpec) GetSortedDefaultInstallValues() []AddonDefaultInstallSpecItem
GetSortedDefaultInstallValues returns DefaultInstallValues items with items that have a provided selector first.
type AddonStatus ¶
type AddonStatus struct {
// Add-on installation phases. Valid values are Disabled, Enabled, Failed, Enabling, Disabling.
// +kubebuilder:validation:Enum={Disabled,Enabled,Failed,Enabling,Disabling}
Phase AddonPhase `json:"phase,omitempty"`
// Describes the current state of add-on API installation conditions.
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// observedGeneration is the most recent generation observed for this
// add-on. It corresponds to the add-on's generation, which is
// updated on mutation by the API Server.
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
}
AddonStatus defines the observed state of an add-on.
func (*AddonStatus) DeepCopy ¶ added in v0.6.0
func (in *AddonStatus) DeepCopy() *AddonStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AddonStatus.
func (*AddonStatus) DeepCopyInto ¶ added in v0.6.0
func (in *AddonStatus) DeepCopyInto(out *AddonStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AddonType ¶
type AddonType string
AddonType defines the addon types. +enum +kubebuilder:validation:Enum={Helm}
const (
HelmType AddonType = "Helm"
)
type CliPlugin ¶ added in v0.6.0
type CliPlugin struct {
// Name of the plugin.
// +kubebuilder:validation:Required
Name string `json:"name"`
// The index repository of the plugin.
// +kubebuilder:validation:Required
IndexRepository string `json:"indexRepository"`
// The description of the plugin.
// +optional
Description string `json:"description,omitempty"`
}
func (*CliPlugin) DeepCopy ¶ added in v0.6.0
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CliPlugin.
func (*CliPlugin) DeepCopyInto ¶ added in v0.6.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DataObjectKeySelector ¶
type DataObjectKeySelector struct {
// Object name of the referent.
// +kubebuilder:validation:Required
// +kubebuilder:validation:Pattern:=`^[a-z0-9]([a-z0-9\.\-]*[a-z0-9])?$`
Name string `json:"name"` // need corev1.LocalObjectReference
// The key to select.
// +kubebuilder:validation:Required
Key string `json:"key"`
}
func (*DataObjectKeySelector) DeepCopy ¶ added in v0.6.0
func (in *DataObjectKeySelector) DeepCopy() *DataObjectKeySelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DataObjectKeySelector.
func (*DataObjectKeySelector) DeepCopyInto ¶ added in v0.6.0
func (in *DataObjectKeySelector) DeepCopyInto(out *DataObjectKeySelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmInstallOptions ¶
func (HelmInstallOptions) DeepCopy ¶ added in v0.6.0
func (in HelmInstallOptions) DeepCopy() HelmInstallOptions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmInstallOptions.
func (HelmInstallOptions) DeepCopyInto ¶ added in v0.6.0
func (in HelmInstallOptions) DeepCopyInto(out *HelmInstallOptions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmInstallValues ¶
type HelmInstallValues struct {
// +optional
URLs []string `json:"urls,omitempty"`
// Selects a key of a ConfigMap item list. The value of ConfigMap can be
// a JSON or YAML string content. Use a key name with ".json" or ".yaml" or ".yml"
// extension name to specify a content type.
// +optional
ConfigMapRefs []DataObjectKeySelector `json:"configMapRefs,omitempty"`
// Selects a key of a Secrets item list. The value of Secrets can be
// a JSON or YAML string content. Use a key name with ".json" or ".yaml" or ".yml"
// extension name to specify a content type.
// +optional
SecretRefs []DataObjectKeySelector `json:"secretRefs,omitempty"`
// Helm install set values. It can specify multiple or separate values with commas(key1=val1,key2=val2).
// +optional
SetValues []string `json:"setValues,omitempty"`
// Helm install set JSON values. It can specify multiple or separate values with commas(key1=jsonval1,key2=jsonval2).
// +optional
SetJSONValues []string `json:"setJSONValues,omitempty"`
}
func (*HelmInstallValues) DeepCopy ¶ added in v0.6.0
func (in *HelmInstallValues) DeepCopy() *HelmInstallValues
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmInstallValues.
func (*HelmInstallValues) DeepCopyInto ¶ added in v0.6.0
func (in *HelmInstallValues) DeepCopyInto(out *HelmInstallValues)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmJSONValueMapType ¶
type HelmJSONValueMapType struct {
// tolerations sets the toleration mapping key.
// +optional
Tolerations string `json:"tolerations,omitempty"`
}
func (*HelmJSONValueMapType) DeepCopy ¶ added in v0.6.0
func (in *HelmJSONValueMapType) DeepCopy() *HelmJSONValueMapType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmJSONValueMapType.
func (*HelmJSONValueMapType) DeepCopyInto ¶ added in v0.6.0
func (in *HelmJSONValueMapType) DeepCopyInto(out *HelmJSONValueMapType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmTypeInstallSpec ¶
type HelmTypeInstallSpec struct {
// A Helm Chart location URL.
// +kubebuilder:validation:Required
ChartLocationURL string `json:"chartLocationURL"`
// installOptions defines Helm release installation options.
// +optional
InstallOptions HelmInstallOptions `json:"installOptions,omitempty"`
// HelmInstallValues defines Helm release installation set values.
// +optional
InstallValues HelmInstallValues `json:"installValues,omitempty"`
// valuesMapping defines add-on normalized resources parameters mapped to Helm values' keys.
// +optional
ValuesMapping HelmValuesMapping `json:"valuesMapping,omitempty"`
// chartsImage defines the image of Helm charts.
// +optional
ChartsImage string `json:"chartsImage,omitempty"`
// chartsPathInImage defines the path of Helm charts in the image. It's used to copy
// Helm charts from the image to the shared volume.
// +kubeBuilder:default="/charts"
// +optional
ChartsPathInImage string `json:"chartsPathInImage,omitempty"`
}
HelmTypeInstallSpec defines the Helm installation spec. +kubebuilder:validation:XValidation:rule="self.chartLocationURL.startsWith('file://') ? has(self.chartsImage) : true",message="chartsImage is required when chartLocationURL starts with 'file://'"
func (*HelmTypeInstallSpec) BuildContainerArgs ¶
func (r *HelmTypeInstallSpec) BuildContainerArgs(helmContainer *corev1.Container, installValues HelmInstallValues) error
BuildContainerArgs derives helm container args.
func (*HelmTypeInstallSpec) BuildMergedValues ¶
func (r *HelmTypeInstallSpec) BuildMergedValues(installSpec *AddonInstallSpec) HelmInstallValues
BuildMergedValues merges values from a AddonInstallSpec and pre-set values.
func (*HelmTypeInstallSpec) DeepCopy ¶ added in v0.6.0
func (in *HelmTypeInstallSpec) DeepCopy() *HelmTypeInstallSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmTypeInstallSpec.
func (*HelmTypeInstallSpec) DeepCopyInto ¶ added in v0.6.0
func (in *HelmTypeInstallSpec) DeepCopyInto(out *HelmTypeInstallSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmValueMapType ¶
type HelmValueMapType struct {
// replicaCount sets the replicaCount value mapping key.
// +optional
ReplicaCount string `json:"replicaCount,omitempty"`
// persistentVolumeEnabled sets the persistent volume enabled mapping key.
// +optional
PVEnabled string `json:"persistentVolumeEnabled,omitempty"`
// storageClass sets the storageClass mapping key.
// +optional
StorageClass string `json:"storageClass,omitempty"`
}
func (*HelmValueMapType) DeepCopy ¶ added in v0.6.0
func (in *HelmValueMapType) DeepCopy() *HelmValueMapType
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmValueMapType.
func (*HelmValueMapType) DeepCopyInto ¶ added in v0.6.0
func (in *HelmValueMapType) DeepCopyInto(out *HelmValueMapType)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmValuesMapping ¶
type HelmValuesMapping struct {
HelmValuesMappingItem `json:",inline"`
// Helm value mapping items for extra items.
// +patchMergeKey=name
// +patchStrategy=merge,retainKeys
// +listType=map
// +listMapKey=name
// +optional
ExtraItems []HelmValuesMappingExtraItem `json:"extras,omitempty"`
}
func (*HelmValuesMapping) DeepCopy ¶ added in v0.6.0
func (in *HelmValuesMapping) DeepCopy() *HelmValuesMapping
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmValuesMapping.
func (*HelmValuesMapping) DeepCopyInto ¶ added in v0.6.0
func (in *HelmValuesMapping) DeepCopyInto(out *HelmValuesMapping)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmValuesMappingExtraItem ¶
type HelmValuesMappingExtraItem struct {
HelmValuesMappingItem `json:",inline"`
// Name of the item.
// +kubebuilder:validation:Required
Name string `json:"name"`
}
func (*HelmValuesMappingExtraItem) DeepCopy ¶ added in v0.6.0
func (in *HelmValuesMappingExtraItem) DeepCopy() *HelmValuesMappingExtraItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmValuesMappingExtraItem.
func (*HelmValuesMappingExtraItem) DeepCopyInto ¶ added in v0.6.0
func (in *HelmValuesMappingExtraItem) DeepCopyInto(out *HelmValuesMappingExtraItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type HelmValuesMappingItem ¶
type HelmValuesMappingItem struct {
// valueMap define the "key" mapping values. Valid keys are replicaCount,
// persistentVolumeEnabled, and storageClass. Enum values explained:
// `"replicaCount"` sets the replicaCount value mapping key.
// `"persistentVolumeEnabled"` sets the persistent volume enabled mapping key.
// `"storageClass"` sets the storageClass mapping key.
// +optional
HelmValueMap HelmValueMapType `json:"valueMap,omitempty"`
// jsonMap defines the "key" mapping values. The valid key is tolerations.
// Enum values explained:
// `"tolerations"` sets the toleration mapping key.
// +optional
HelmJSONMap HelmJSONValueMapType `json:"jsonMap,omitempty"`
// resources sets resources related mapping keys.
// +optional
ResourcesMapping *ResourceMappingItem `json:"resources,omitempty"`
}
func (*HelmValuesMappingItem) DeepCopy ¶ added in v0.6.0
func (in *HelmValuesMappingItem) DeepCopy() *HelmValuesMappingItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new HelmValuesMappingItem.
func (*HelmValuesMappingItem) DeepCopyInto ¶ added in v0.6.0
func (in *HelmValuesMappingItem) DeepCopyInto(out *HelmValuesMappingItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InstallableSpec ¶
type InstallableSpec struct {
// Add-on installable selectors. If multiple selectors are provided,
// all selectors must evaluate to true.
// +optional
Selectors []SelectorRequirement `json:"selectors,omitempty"`
// autoInstall defines an add-on should be installed automatically.
// +kubebuilder:default=false
AutoInstall bool `json:"autoInstall"`
}
func (*InstallableSpec) DeepCopy ¶ added in v0.6.0
func (in *InstallableSpec) DeepCopy() *InstallableSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InstallableSpec.
func (*InstallableSpec) DeepCopyInto ¶ added in v0.6.0
func (in *InstallableSpec) DeepCopyInto(out *InstallableSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InstallableSpec) GetSelectorsStrings ¶
func (r *InstallableSpec) GetSelectorsStrings() []string
GetSelectorsStrings extracts selectors to string representations.
type LineSelectorOperator ¶
type LineSelectorOperator string
LineSelectorOperator defines line selector operators. +enum +kubebuilder:validation:Enum={Contains,DoesNotContain,MatchRegex,DoesNotMatchRegex}
const ( Contains LineSelectorOperator = "Contains" DoesNotContain LineSelectorOperator = "DoesNotContain" MatchRegex LineSelectorOperator = "MatchRegex" DoesNotMatchRegex LineSelectorOperator = "DoesNotMatchRegex" )
type ResourceMappingItem ¶
type ResourceMappingItem struct {
// storage sets the storage size value mapping key.
// +optional
Storage string `json:"storage,omitempty"`
// cpu sets CPU requests and limits mapping keys.
// +optional
CPU *ResourceReqLimItem `json:"cpu,omitempty"`
// memory sets Memory requests and limits mapping keys.
// +optional
Memory *ResourceReqLimItem `json:"memory,omitempty"`
}
func (*ResourceMappingItem) DeepCopy ¶ added in v0.6.0
func (in *ResourceMappingItem) DeepCopy() *ResourceMappingItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceMappingItem.
func (*ResourceMappingItem) DeepCopyInto ¶ added in v0.6.0
func (in *ResourceMappingItem) DeepCopyInto(out *ResourceMappingItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ResourceMappingItem) HasCPULimMapping ¶
func (r *ResourceMappingItem) HasCPULimMapping() bool
func (*ResourceMappingItem) HasCPUReqMapping ¶
func (r *ResourceMappingItem) HasCPUReqMapping() bool
func (*ResourceMappingItem) HasMemLimMapping ¶
func (r *ResourceMappingItem) HasMemLimMapping() bool
func (*ResourceMappingItem) HasMemReqMapping ¶
func (r *ResourceMappingItem) HasMemReqMapping() bool
func (*ResourceMappingItem) HasStorageMapping ¶
func (r *ResourceMappingItem) HasStorageMapping() bool
type ResourceReqLimItem ¶
type ResourceReqLimItem struct {
// Requests value mapping key.
// +optional
Requests string `json:"requests,omitempty"`
// Limits value mapping key.
// +optional
Limits string `json:"limits,omitempty"`
}
func (*ResourceReqLimItem) DeepCopy ¶ added in v0.6.0
func (in *ResourceReqLimItem) DeepCopy() *ResourceReqLimItem
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReqLimItem.
func (*ResourceReqLimItem) DeepCopyInto ¶ added in v0.6.0
func (in *ResourceReqLimItem) DeepCopyInto(out *ResourceReqLimItem)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceRequirements ¶
type ResourceRequirements struct {
// Limits describes the maximum amount of compute resources allowed.
// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/.
// +optional
Limits corev1.ResourceList `json:"limits,omitempty"`
// Requests describes the minimum amount of compute resources required.
// If Requests is omitted for a container, it defaults to Limits if that is explicitly specified;
// otherwise, it defaults to an implementation-defined value.
// More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/.
// +optional
Requests corev1.ResourceList `json:"requests,omitempty"`
}
func (*ResourceRequirements) DeepCopy ¶ added in v0.6.0
func (in *ResourceRequirements) DeepCopy() *ResourceRequirements
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceRequirements.
func (*ResourceRequirements) DeepCopyInto ¶ added in v0.6.0
func (in *ResourceRequirements) DeepCopyInto(out *ResourceRequirements)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SelectorRequirement ¶
type SelectorRequirement struct {
// The selector key. Valid values are KubeVersion, KubeGitVersion and KubeProvider.
// "KubeVersion" the semver expression of Kubernetes versions, i.e., v1.24.
// "KubeGitVersion" may contain distro. info., i.e., v1.24.4+eks.
// "KubeProvider" the Kubernetes provider, i.e., aws,gcp,azure,huaweiCloud,tencentCloud etc.
// +kubebuilder:validation:Required
Key AddonSelectorKey `json:"key"`
// Represents a key's relationship to a set of values.
// Valid operators are Contains, NotIn, DoesNotContain, MatchRegex, and DoesNoteMatchRegex.
//
// Possible enum values:
// `"Contains"` line contains a string.
// `"DoesNotContain"` line does not contain a string.
// `"MatchRegex"` line contains a match to the regular expression.
// `"DoesNotMatchRegex"` line does not contain a match to the regular expression.
// +kubebuilder:validation:Required
Operator LineSelectorOperator `json:"operator"`
// An array of string values. It serves as an "OR" expression to the operator.
// +optional
Values []string `json:"values,omitempty" protobuf:"bytes,3,rep,name=values"`
}
func (*SelectorRequirement) DeepCopy ¶ added in v0.6.0
func (in *SelectorRequirement) DeepCopy() *SelectorRequirement
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SelectorRequirement.
func (*SelectorRequirement) DeepCopyInto ¶ added in v0.6.0
func (in *SelectorRequirement) DeepCopyInto(out *SelectorRequirement)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (SelectorRequirement) MatchesFromConfig ¶
func (r SelectorRequirement) MatchesFromConfig() bool
MatchesFromConfig matches the selector requirement value.
func (SelectorRequirement) String ¶
func (r SelectorRequirement) String() string