Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the resize v1alpha1 API group. +kubebuilder:object:generate=true +groupName=resize.halje.ru
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( // GroupVersion is group version used to register these objects. GroupVersion = schema.GroupVersion{Group: "resize.halje.ru", 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 AlgorithmSpec ¶
type AlgorithmSpec struct {
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=300
// +kubebuilder:default=20
// +optional
HeadroomPercent int32 `json:"headroomPercent,omitempty"`
// +kubebuilder:default=false
// +optional
AllowDownscale bool `json:"allowDownscale,omitempty"`
}
func (*AlgorithmSpec) DeepCopy ¶
func (in *AlgorithmSpec) DeepCopy() *AlgorithmSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AlgorithmSpec.
func (*AlgorithmSpec) DeepCopyInto ¶
func (in *AlgorithmSpec) DeepCopyInto(out *AlgorithmSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type BoundsSpec ¶
type BoundsSpec struct {
// +optional
CPUMin *resource.Quantity `json:"cpuMin,omitempty"`
// +optional
CPUMax *resource.Quantity `json:"cpuMax,omitempty"`
// +optional
MemoryMin *resource.Quantity `json:"memoryMin,omitempty"`
// +optional
MemoryMax *resource.Quantity `json:"memoryMax,omitempty"`
// +optional
MinChangeCPU *resource.Quantity `json:"minChangeCPU,omitempty"`
// +optional
MinChangeMemory *resource.Quantity `json:"minChangeMemory,omitempty"`
}
func (*BoundsSpec) DeepCopy ¶
func (in *BoundsSpec) DeepCopy() *BoundsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new BoundsSpec.
func (*BoundsSpec) DeepCopyInto ¶
func (in *BoundsSpec) DeepCopyInto(out *BoundsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InPlacePodResize ¶
type InPlacePodResize struct {
metav1.TypeMeta `json:",inline"`
// +optional
metav1.ObjectMeta `json:"metadata,omitzero"`
Spec InPlacePodResizeSpec `json:"spec"`
// +optional
Status InPlacePodResizeStatus `json:"status,omitzero"`
}
func (*InPlacePodResize) DeepCopy ¶
func (in *InPlacePodResize) DeepCopy() *InPlacePodResize
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InPlacePodResize.
func (*InPlacePodResize) DeepCopyInto ¶
func (in *InPlacePodResize) DeepCopyInto(out *InPlacePodResize)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InPlacePodResize) DeepCopyObject ¶
func (in *InPlacePodResize) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InPlacePodResizeList ¶
type InPlacePodResizeList struct {
metav1.TypeMeta `json:",inline"`
metav1.ListMeta `json:"metadata,omitzero"`
Items []InPlacePodResize `json:"items"`
}
func (*InPlacePodResizeList) DeepCopy ¶
func (in *InPlacePodResizeList) DeepCopy() *InPlacePodResizeList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InPlacePodResizeList.
func (*InPlacePodResizeList) DeepCopyInto ¶
func (in *InPlacePodResizeList) DeepCopyInto(out *InPlacePodResizeList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*InPlacePodResizeList) DeepCopyObject ¶
func (in *InPlacePodResizeList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type InPlacePodResizeSpec ¶
type InPlacePodResizeSpec struct {
// +kubebuilder:default=true
// +optional
Enabled bool `json:"enabled,omitempty"`
NamespaceSelector NamespaceSelector `json:"namespaceSelector"`
// +optional
PodSelector *metav1.LabelSelector `json:"podSelector,omitempty"`
Resources ManagedResourcesSpec `json:"resources"`
// +optional
Algorithm AlgorithmSpec `json:"algorithm,omitempty"`
// +optional
Bounds BoundsSpec `json:"bounds,omitempty"`
// +optional
Thresholds ThresholdsSpec `json:"thresholds,omitempty"`
// +optional
Timing TimingSpec `json:"timing,omitempty"`
}
func (*InPlacePodResizeSpec) DeepCopy ¶
func (in *InPlacePodResizeSpec) DeepCopy() *InPlacePodResizeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InPlacePodResizeSpec.
func (*InPlacePodResizeSpec) DeepCopyInto ¶
func (in *InPlacePodResizeSpec) DeepCopyInto(out *InPlacePodResizeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type InPlacePodResizeStatus ¶
type InPlacePodResizeStatus struct {
// +optional
Conditions []metav1.Condition `json:"conditions,omitempty"`
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// +optional
LastRunTime *metav1.Time `json:"lastRunTime,omitempty"`
// +optional
LastCapabilityCheckTime *metav1.Time `json:"lastCapabilityCheckTime,omitempty"`
}
func (*InPlacePodResizeStatus) DeepCopy ¶
func (in *InPlacePodResizeStatus) DeepCopy() *InPlacePodResizeStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new InPlacePodResizeStatus.
func (*InPlacePodResizeStatus) DeepCopyInto ¶
func (in *InPlacePodResizeStatus) DeepCopyInto(out *InPlacePodResizeStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type LimitsMode ¶
type LimitsMode string
const ( LimitsModeUnchanged LimitsMode = "Unchanged" LimitsModeEqualRequests LimitsMode = "EqualRequests" )
type ManagedResourcesSpec ¶
type ManagedResourcesSpec struct {
Requests ResourceToggles `json:"requests"`
// +kubebuilder:validation:Enum=Unchanged;EqualRequests
// +kubebuilder:default=Unchanged
// +optional
LimitsMode LimitsMode `json:"limitsMode,omitempty"`
}
func (*ManagedResourcesSpec) DeepCopy ¶
func (in *ManagedResourcesSpec) DeepCopy() *ManagedResourcesSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ManagedResourcesSpec.
func (*ManagedResourcesSpec) DeepCopyInto ¶
func (in *ManagedResourcesSpec) DeepCopyInto(out *ManagedResourcesSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NamespaceMatchType ¶
type NamespaceMatchType string
const ( NamespaceMatchTypeGlob NamespaceMatchType = "Glob" NamespaceMatchTypeRegexp NamespaceMatchType = "Regexp" )
type NamespaceSelector ¶
type NamespaceSelector struct {
// +kubebuilder:validation:Enum=Glob;Regexp
// +kubebuilder:default=Glob
// +optional
MatchType NamespaceMatchType `json:"matchType,omitempty"`
// +optional
Include []string `json:"include,omitempty"`
// +optional
Exclude []string `json:"exclude,omitempty"`
}
func (*NamespaceSelector) DeepCopy ¶
func (in *NamespaceSelector) DeepCopy() *NamespaceSelector
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceSelector.
func (*NamespaceSelector) DeepCopyInto ¶
func (in *NamespaceSelector) DeepCopyInto(out *NamespaceSelector)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceToggles ¶
type ResourceToggles struct {
// +optional
CPU bool `json:"cpu,omitempty"`
// +optional
Memory bool `json:"memory,omitempty"`
}
func (*ResourceToggles) DeepCopy ¶
func (in *ResourceToggles) DeepCopy() *ResourceToggles
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceToggles.
func (*ResourceToggles) DeepCopyInto ¶
func (in *ResourceToggles) DeepCopyInto(out *ResourceToggles)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ThresholdsSpec ¶
type ThresholdsSpec struct {
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=1000
// +kubebuilder:default=20
// +optional
UpPercent int32 `json:"upPercent,omitempty"`
// +kubebuilder:validation:Minimum=0
// +kubebuilder:validation:Maximum=1000
// +kubebuilder:default=20
// +optional
DownPercent int32 `json:"downPercent,omitempty"`
}
func (*ThresholdsSpec) DeepCopy ¶
func (in *ThresholdsSpec) DeepCopy() *ThresholdsSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ThresholdsSpec.
func (*ThresholdsSpec) DeepCopyInto ¶
func (in *ThresholdsSpec) DeepCopyInto(out *ThresholdsSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type TimingSpec ¶
type TimingSpec struct {
// +kubebuilder:default:="1m"
// +optional
Interval metav1.Duration `json:"interval,omitempty"`
// +kubebuilder:default:="10m"
// +optional
Cooldown metav1.Duration `json:"cooldown,omitempty"`
// +kubebuilder:default:="5m"
// +optional
StabilizationWindow metav1.Duration `json:"stabilizationWindow,omitempty"`
// +kubebuilder:validation:Minimum=1
// +kubebuilder:default=20
// +optional
MaxPodsPerRun int32 `json:"maxPodsPerRun,omitempty"`
// +kubebuilder:validation:Minimum=1
// +kubebuilder:default=10
// +optional
MaxConcurrentPods int32 `json:"maxConcurrentPods,omitempty"`
// +optional
MaxTotalCPUIncrease *resource.Quantity `json:"maxTotalCPUIncrease,omitempty"`
// +optional
MaxTotalMemoryIncrease *resource.Quantity `json:"maxTotalMemoryIncrease,omitempty"`
// +kubebuilder:default:="1h"
// +optional
CapabilityCheckInterval metav1.Duration `json:"capabilityCheckInterval,omitempty"`
}
func (*TimingSpec) DeepCopy ¶
func (in *TimingSpec) DeepCopy() *TimingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TimingSpec.
func (*TimingSpec) DeepCopyInto ¶
func (in *TimingSpec) DeepCopyInto(out *TimingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.