v1alpha1

package
v0.29.0-rc.0 Latest Latest
Warning

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

Go to latest
Published: Oct 10, 2022 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Overview

+groupName=autoscaling.kubedb.com

Index

Constants

View Source
const (
	// Ignore change priority that is smaller than 10%.
	DefaultResourceDiffPercentage = 10

	// Pods that live for at least that long can be evicted even if their
	// request is within the [MinRecommended...MaxRecommended] range.
	DefaultPodLifeTimeThreshold = time.Hour * 12

	DefaultInMemoryStorageUsageThresholdPercentage = 70
	DefaultInMemoryStorageScalingFactorPercentage  = 50
)

Compute Autoscaler

View Source
const (
	DefaultStorageUsageThreshold   = 80
	DefaultStorageScalingThreshold = 50
)

Storage Autoscaler

View Source
const (
	Failure          = "Failure"
	CreateOpsRequest = "CreateOpsRequest"
)

List of possible condition types for an autoscaler

View Source
const (
	ResourceCodeElasticsearchAutoscaler     = "esscaler"
	ResourceKindElasticsearchAutoscaler     = "ElasticsearchAutoscaler"
	ResourceSingularElasticsearchAutoscaler = "elasticsearchautoscaler"
	ResourcePluralElasticsearchAutoscaler   = "elasticsearchautoscalers"
)
View Source
const (
	ResourceCodeEtcdAutoscaler     = "etcdscaler"
	ResourceKindEtcdAutoscaler     = "EtcdAutoscaler"
	ResourceSingularEtcdAutoscaler = "etcdautoscaler"
	ResourcePluralEtcdAutoscaler   = "etcdautoscalers"
)
View Source
const (
	ResourceCodeMariaDBAutoscaler     = "mdscaler"
	ResourceKindMariaDBAutoscaler     = "MariaDBAutoscaler"
	ResourceSingularMariaDBAutoscaler = "mariadbautoscaler"
	ResourcePluralMariaDBAutoscaler   = "mariadbautoscalers"
)
View Source
const (
	ResourceCodeMemcachedAutoscaler     = "mcscaler"
	ResourceKindMemcachedAutoscaler     = "MemcachedAutoscaler"
	ResourceSingularMemcachedAutoscaler = "memcachedautoscaler"
	ResourcePluralMemcachedAutoscaler   = "memcachedautoscalers"
)
View Source
const (
	ResourceCodeMongoDBAutoscaler     = "mgscaler"
	ResourceKindMongoDBAutoscaler     = "MongoDBAutoscaler"
	ResourceSingularMongoDBAutoscaler = "mongodbautoscaler"
	ResourcePluralMongoDBAutoscaler   = "mongodbautoscalers"
)
View Source
const (
	ResourceCodeMySQLAutoscaler     = "myscaler"
	ResourceKindMySQLAutoscaler     = "MySQLAutoscaler"
	ResourceSingularMySQLAutoscaler = "mysqlautoscaler"
	ResourcePluralMySQLAutoscaler   = "mysqlautoscalers"
)
View Source
const (
	ResourceCodePerconaXtraDBAutoscaler     = "pxcscaler"
	ResourceKindPerconaXtraDBAutoscaler     = "PerconaXtraDBAutoscaler"
	ResourceSingularPerconaXtraDBAutoscaler = "perconaxtradbautoscaler"
	ResourcePluralPerconaXtraDBAutoscaler   = "perconaxtradbautoscalers"
)
View Source
const (
	ResourceCodePgBouncerAutoscaler     = "pbscaler"
	ResourceKindPgBouncerAutoscaler     = "PgBouncerAutoscaler"
	ResourceSingularPgBouncerAutoscaler = "pgbouncerautoscaler"
	ResourcePluralPgBouncerAutoscaler   = "pgbouncerautoscalers"
)
View Source
const (
	ResourceCodePostgresAutoscaler     = "pgscaler"
	ResourceKindPostgresAutoscaler     = "PostgresAutoscaler"
	ResourceSingularPostgresAutoscaler = "postgresautoscaler"
	ResourcePluralPostgresAutoscaler   = "postgresautoscalers"
)
View Source
const (
	ResourceCodeProxySQLAutoscaler     = "pxscaler"
	ResourceKindProxySQLAutoscaler     = "ProxySQLAutoscaler"
	ResourceSingularProxySQLAutoscaler = "proxysqlautoscaler"
	ResourcePluralProxySQLAutoscaler   = "proxysqlautoscalers"
)
View Source
const (
	ResourceCodeRedisSentinelAutoscaler     = "rdsscaler"
	ResourceKindRedisSentinelAutoscaler     = "RedisSentinelAutoscaler"
	ResourceSingularRedisSentinelAutoscaler = "redissentinelautoscaler"
	ResourcePluralRedisSentinelAutoscaler   = "redissentinelautoscalers"
)
View Source
const (
	ResourceCodeRedisAutoscaler     = "rdscaler"
	ResourceKindRedisAutoscaler     = "RedisAutoscaler"
	ResourceSingularRedisAutoscaler = "redisautoscaler"
	ResourcePluralRedisAutoscaler   = "redisautoscalers"
)
View Source
const (
	// DefaultContainerResourcePolicy can be passed as
	// ContainerResourcePolicy.ContainerName to specify the default policy.
	DefaultContainerResourcePolicy = "*"
)

Variables

View Source
var (
	// TODO: move SchemeBuilder with zz_generated.deepcopy.go to k8s.io/api.
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	AddToScheme = localSchemeBuilder.AddToScheme
)
View Source
var SchemeGroupVersion = schema.GroupVersion{Group: autoscaling.GroupName, Version: "v1alpha1"}

Functions

func Kind

func Kind(kind string) schema.GroupKind

Kind takes an unqualified kind and returns a Group qualified GroupKind

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AutoscalerPhase

type AutoscalerPhase string

+kubebuilder:validation:Enum=InProgress;Current;Terminating;Failed

const (
	// AutoscalerPhaseInProgress is used when autoscaler is waiting for the initialization
	// if referred db is not found, It will also be in InProgress
	AutoscalerPhaseInProgress AutoscalerPhase = "InProgress"
	// AutoscalerPhaseCurrent is used as long as autoscaler is running properly
	AutoscalerPhaseCurrent AutoscalerPhase = "Current"
	// AutoscalerPhaseTerminating is used when an autoscaler object is being terminated
	AutoscalerPhaseTerminating AutoscalerPhase = "Terminating"
	// AutoscalerPhaseFailed is used when some unexpected error occurred
	AutoscalerPhaseFailed AutoscalerPhase = "Failed"
)

type AutoscalerStatus added in v0.28.0

type AutoscalerStatus struct {
	// Specifies the current phase of the autoscaler
	// +optional
	Phase AutoscalerPhase `json:"phase,omitempty"`

	// observedGeneration is the most recent generation observed by this autoscaler.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Conditions is the set of conditions required for this autoscaler to scale its target,
	// and indicates whether or not those conditions are met.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	Conditions []kmapi.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// This field is equivalent to this one:
	// https://github.com/kubernetes/autoscaler/blob/273e35b88cb50c5aac383c5eceb88fb337cb31b6/vertical-pod-autoscaler/pkg/apis/autoscaling.k8s.io/v1/types.go#L218-L230
	// +optional
	VPAs []VPAStatus `json:"vpas,omitempty"`

	// Checkpoints hold all the Checkpoint those are associated
	// with this Autoscaler object. Equivalent to :
	// https://github.com/kubernetes/autoscaler/blob/273e35b88cb50c5aac383c5eceb88fb337cb31b6/vertical-pod-autoscaler/pkg/apis/autoscaling.k8s.io/v1/types.go#L354-L378
	// +optional
	Checkpoints []Checkpoint `json:"checkpoints,omitempty"`
}

AutoscalerStatus describes the runtime state of the autoscaler.

func (*AutoscalerStatus) DeepCopy added in v0.28.0

func (in *AutoscalerStatus) DeepCopy() *AutoscalerStatus

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

func (*AutoscalerStatus) DeepCopyInto added in v0.28.0

func (in *AutoscalerStatus) DeepCopyInto(out *AutoscalerStatus)

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

type AutoscalerTrigger added in v0.16.0

type AutoscalerTrigger string

AutoscalerTrigger controls if autoscaler is enabled.

const (
	// AutoscalerTriggerOn means the autoscaler is enabled.
	AutoscalerTriggerOn AutoscalerTrigger = "On"
	// AutoscalerTriggerOff means the autoscaler is disabled.
	AutoscalerTriggerOff AutoscalerTrigger = "Off"
)

type BucketWeight added in v0.28.0

type BucketWeight struct {
	Index  int    `json:"index"`
	Weight uint32 `json:"weight"`
}

func (*BucketWeight) DeepCopy added in v0.28.0

func (in *BucketWeight) DeepCopy() *BucketWeight

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

func (*BucketWeight) DeepCopyInto added in v0.28.0

func (in *BucketWeight) DeepCopyInto(out *BucketWeight)

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

type Checkpoint added in v0.28.0

type Checkpoint struct {
	// Metedata of the checkpoint
	// It is used for the identification
	Ref CheckpointReference `json:"ref,omitempty"`
	// The time when the status was last refreshed.
	// +nullable
	LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty"`

	// Version of the format of the stored data.
	Version string `json:"version,omitempty"`

	// Checkpoint of histogram for consumption of CPU.
	CPUHistogram HistogramCheckpoint `json:"cpuHistogram,omitempty"`

	// Checkpoint of histogram for consumption of memory.
	MemoryHistogram HistogramCheckpoint `json:"memoryHistogram,omitempty"`

	// Timestamp of the fist sample from the histograms.
	// +nullable
	FirstSampleStart metav1.Time `json:"firstSampleStart,omitempty"`

	// Timestamp of the last sample from the histograms.
	// +nullable
	LastSampleStart metav1.Time `json:"lastSampleStart,omitempty"`

	// Total number of samples in the histograms.
	TotalSamplesCount int `json:"totalSamplesCount,omitempty"`
}

Checkpoint contains data of the checkpoint.

func (*Checkpoint) DeepCopy added in v0.28.0

func (in *Checkpoint) DeepCopy() *Checkpoint

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

func (*Checkpoint) DeepCopyInto added in v0.28.0

func (in *Checkpoint) DeepCopyInto(out *Checkpoint)

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

type CheckpointReference added in v0.28.0

type CheckpointReference struct {
	// Name of the VPA object that stored VerticalPodAutopilotCheckpoint object.
	VPAObjectName string `json:"vpaObjectName,omitempty"`

	// Name of the checkpointed container.
	ContainerName string `json:"containerName,omitempty"`
}

CheckpointReference is the metedata of the checkpoint.

func (*CheckpointReference) DeepCopy added in v0.28.0

func (in *CheckpointReference) DeepCopy() *CheckpointReference

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

func (*CheckpointReference) DeepCopyInto added in v0.28.0

func (in *CheckpointReference) DeepCopyInto(out *CheckpointReference)

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

type ComputeAutoscalerSpec added in v0.16.0

type ComputeAutoscalerSpec struct {
	// Whether compute autoscaler is enabled. The default is Off".
	Trigger AutoscalerTrigger `json:"trigger,omitempty"`
	// Specifies the minimal amount of resources that will be recommended.
	// The default is no minimum.
	// +optional
	MinAllowed core.ResourceList `json:"minAllowed,omitempty"`
	// Specifies the maximum amount of resources that will be recommended.
	// The default is no maximum.
	// +optional
	MaxAllowed core.ResourceList `json:"maxAllowed,omitempty"`

	// Specifies the type of recommendations that will be computed
	// (and possibly applied) by VPA.
	// If not specified, the default of [ResourceCPU, ResourceMemory] will be used.
	// +optional
	// +patchStrategy=merge
	ControlledResources []core.ResourceName `json:"controlledResources,omitempty" patchStrategy:"merge"`

	// Specifies which resource values should be controlled.
	// The default is "RequestsAndLimits".
	// +optional
	ContainerControlledValues *ContainerControlledValues `json:"containerControlledValues,omitempty"`

	// Specifies the minimum resource difference in percentage. The default is 10%.
	// If the difference between current & recommended resource is less than ResourceDiffPercentage,
	// Autoscaler Operator will ignore the updating.
	// +optional
	ResourceDiffPercentage int32 `json:"resourceDiffPercentage,omitempty"`

	// Specifies the minimum pod life time. The default is 12h.
	// If the resource Request is inside the recommended range & there is no quickOOM (out-of-memory),
	// we can still update the pod, if that pod's lifeTime is greater than this threshold.
	// +optional
	PodLifeTimeThreshold metav1.Duration `json:"podLifeTimeThreshold,omitempty"`

	// Specifies the dbStorage scaling when db data is stored in Memory
	InMemoryStorage *ComputeInMemoryStorageSpec `json:"inMemoryStorage,omitempty"`
}

func (*ComputeAutoscalerSpec) DeepCopy added in v0.16.0

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

func (*ComputeAutoscalerSpec) DeepCopyInto added in v0.16.0

func (in *ComputeAutoscalerSpec) DeepCopyInto(out *ComputeAutoscalerSpec)

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

type ComputeInMemoryStorageSpec added in v0.28.0

type ComputeInMemoryStorageSpec struct {
	// For InMemory storageType, if db uses more than UsageThresholdPercentage of the total memory() ,
	// memoryStorage should be increased by ScalingThreshold percent
	// Default is 70%
	// +optional
	UsageThresholdPercentage int32 `json:"usageThresholdPercentage,omitempty"`

	// For InMemory storageType, if db uses more than UsageThresholdPercentage
	// of the total memory() memoryStorage should be increased by ScalingFactor percent
	// Default is 50%
	// +optional
	ScalingFactorPercentage int32 `json:"scalingFactorPercentage,omitempty"`
}

func (*ComputeInMemoryStorageSpec) DeepCopy added in v0.28.0

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

func (*ComputeInMemoryStorageSpec) DeepCopyInto added in v0.28.0

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

type ContainerControlledValues

type ContainerControlledValues string

ContainerControlledValues controls which resource value should be autoscaled. +kubebuilder:validation:Enum=RequestsAndLimits;RequestsOnly

const (
	// ContainerControlledValuesRequestsAndLimits means resource request and limits
	// are scaled automatically. The limit is scaled proportionally to the request.
	ContainerControlledValuesRequestsAndLimits ContainerControlledValues = "RequestsAndLimits"
	// ContainerControlledValuesRequestsOnly means only requested resource is autoscaled.
	ContainerControlledValuesRequestsOnly ContainerControlledValues = "RequestsOnly"
)

type ContainerResourcePolicy

type ContainerResourcePolicy struct {
	// Name of the container or DefaultContainerResourcePolicy, in which
	// case the policy is used by the containers that don't have their own
	// policy specified.
	ContainerName string `json:"containerName,omitempty"`
	// Whether autopilot is enabled for the container. The default is "Auto".
	// +optional
	Mode *ContainerScalingMode `json:"mode,omitempty"`
}

ContainerResourcePolicy controls how autopilot computes the recommended resources for a specific container.

func (*ContainerResourcePolicy) DeepCopy

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

func (*ContainerResourcePolicy) DeepCopyInto

func (in *ContainerResourcePolicy) DeepCopyInto(out *ContainerResourcePolicy)

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

type ContainerScalingMode

type ContainerScalingMode string

ContainerScalingMode controls whether autopilot is enabled for a specific container. +kubebuilder:validation:Enum=Auto;Off

const (
	// ContainerScalingModeAuto means autopilot is enabled for a container.
	ContainerScalingModeAuto ContainerScalingMode = "Auto"
	// ContainerScalingModeOff means autopilot is disabled for a container.
	ContainerScalingModeOff ContainerScalingMode = "Off"
)

type ElasticsearchAutoscaler

type ElasticsearchAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the specification for the behaviour of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
	// +optional
	Spec ElasticsearchAutoscalerSpec `json:"spec,omitempty"`

	// status is the current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=elasticsearchautoscalers,singular=elasticsearchautoscaler,shortName=esscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (ElasticsearchAutoscaler) CustomResourceDefinition

func (_ ElasticsearchAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*ElasticsearchAutoscaler) DeepCopy

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

func (*ElasticsearchAutoscaler) DeepCopyInto

func (in *ElasticsearchAutoscaler) DeepCopyInto(out *ElasticsearchAutoscaler)

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

func (*ElasticsearchAutoscaler) DeepCopyObject

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

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

func (*ElasticsearchAutoscaler) Default added in v0.28.0

func (in *ElasticsearchAutoscaler) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*ElasticsearchAutoscaler) GetStatus added in v0.28.0

func (ElasticsearchAutoscaler) ResourceFQN added in v0.16.0

func (e ElasticsearchAutoscaler) ResourceFQN() string

func (ElasticsearchAutoscaler) ResourceKind

func (e ElasticsearchAutoscaler) ResourceKind() string

func (ElasticsearchAutoscaler) ResourcePlural

func (e ElasticsearchAutoscaler) ResourcePlural() string

func (ElasticsearchAutoscaler) ResourceShortCode

func (e ElasticsearchAutoscaler) ResourceShortCode() string

func (ElasticsearchAutoscaler) ResourceSingular

func (e ElasticsearchAutoscaler) ResourceSingular() string

func (*ElasticsearchAutoscaler) SetStatus added in v0.28.0

func (e *ElasticsearchAutoscaler) SetStatus(s AutoscalerStatus)

func (*ElasticsearchAutoscaler) SetupWebhookWithManager added in v0.28.0

func (in *ElasticsearchAutoscaler) SetupWebhookWithManager(mgr manager.Manager) error

func (*ElasticsearchAutoscaler) ValidateCreate added in v0.28.0

func (in *ElasticsearchAutoscaler) ValidateCreate() error

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

func (ElasticsearchAutoscaler) ValidateDelete added in v0.28.0

func (_ ElasticsearchAutoscaler) ValidateDelete() error

func (*ElasticsearchAutoscaler) ValidateFields added in v0.28.0

func (in *ElasticsearchAutoscaler) ValidateFields(es *dbapi.Elasticsearch) error

func (ElasticsearchAutoscaler) ValidateSpecs

func (e ElasticsearchAutoscaler) ValidateSpecs() error

func (*ElasticsearchAutoscaler) ValidateUpdate added in v0.28.0

func (in *ElasticsearchAutoscaler) ValidateUpdate(old runtime.Object) error

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

type ElasticsearchAutoscalerList

type ElasticsearchAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata"`

	// items is the list of elasticsearch database autoscaler objects.
	Items []ElasticsearchAutoscaler `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object ElasticsearchAutoscalerList is a list of ElasticsearchAutoscaler objects.

func (*ElasticsearchAutoscalerList) DeepCopy

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

func (*ElasticsearchAutoscalerList) DeepCopyInto

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

func (*ElasticsearchAutoscalerList) DeepCopyObject

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

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

type ElasticsearchAutoscalerSpec

type ElasticsearchAutoscalerSpec struct {
	DatabaseRef *core.LocalObjectReference `json:"databaseRef"`

	// This field will be used to control the behaviour of ops-manager
	OpsRequestOptions *ElasticsearchOpsRequestOptions `json:"opsRequestOptions,omitempty"`

	Compute *ElasticsearchComputeAutoscalerSpec `json:"compute,omitempty"`
	Storage *ElasticsearchStorageAutoscalerSpec `json:"storage,omitempty"`
}

ElasticsearchAutoscalerSpec is the specification of the behavior of the autoscaler.

func (*ElasticsearchAutoscalerSpec) DeepCopy

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

func (*ElasticsearchAutoscalerSpec) DeepCopyInto

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

type ElasticsearchComputeAutoscalerSpec added in v0.16.0

type ElasticsearchComputeAutoscalerSpec struct {
	Node     *ComputeAutoscalerSpec                      `json:"node,omitempty"`
	Topology *ElasticsearchComputeTopologyAutoscalerSpec `json:"topology,omitempty"`
}

func (*ElasticsearchComputeAutoscalerSpec) DeepCopy added in v0.16.0

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

func (*ElasticsearchComputeAutoscalerSpec) DeepCopyInto added in v0.16.0

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

type ElasticsearchComputeTopologyAutoscalerSpec added in v0.16.0

type ElasticsearchComputeTopologyAutoscalerSpec struct {
	Master *ComputeAutoscalerSpec `json:"master,omitempty"`
	Data   *ComputeAutoscalerSpec `json:"data,omitempty"`
	Ingest *ComputeAutoscalerSpec `json:"ingest,omitempty"`
}

func (*ElasticsearchComputeTopologyAutoscalerSpec) DeepCopy added in v0.16.0

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

func (*ElasticsearchComputeTopologyAutoscalerSpec) DeepCopyInto added in v0.16.0

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

type ElasticsearchOpsRequestOptions added in v0.29.0

type ElasticsearchOpsRequestOptions struct {
	// Specifies the Readiness Criteria
	ReadinessCriteria *opsapi.ElasticsearchReplicaReadinessCriteria `json:"readinessCriteria,omitempty"`

	// Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure.
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// ApplyOption is to control the execution of OpsRequest depending on the database state.
	// +kubebuilder:default="IfReady"
	Apply opsapi.ApplyOption `json:"apply,omitempty"`
}

func (*ElasticsearchOpsRequestOptions) DeepCopy added in v0.29.0

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

func (*ElasticsearchOpsRequestOptions) DeepCopyInto added in v0.29.0

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

type ElasticsearchStorageAutoscalerSpec added in v0.16.0

type ElasticsearchStorageAutoscalerSpec struct {
	Node     *StorageAutoscalerSpec                      `json:"node,omitempty"`
	Topology *ElasticsearchStorageTopologyAutoscalerSpec `json:"topology,omitempty"`
}

func (*ElasticsearchStorageAutoscalerSpec) DeepCopy added in v0.16.0

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

func (*ElasticsearchStorageAutoscalerSpec) DeepCopyInto added in v0.16.0

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

type ElasticsearchStorageTopologyAutoscalerSpec added in v0.16.0

type ElasticsearchStorageTopologyAutoscalerSpec struct {
	Master *StorageAutoscalerSpec `json:"master,omitempty"`
	Data   *StorageAutoscalerSpec `json:"data,omitempty"`
	Ingest *StorageAutoscalerSpec `json:"ingest,omitempty"`
}

func (*ElasticsearchStorageTopologyAutoscalerSpec) DeepCopy added in v0.16.0

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

func (*ElasticsearchStorageTopologyAutoscalerSpec) DeepCopyInto added in v0.16.0

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

type EtcdAutoscaler

type EtcdAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the specification for the behaviour of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
	// +optional
	Spec EtcdAutoscalerSpec `json:"spec,omitempty"`

	// status is the current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=etcdautoscalers,singular=etcdautoscaler,shortName=etcdscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (EtcdAutoscaler) CustomResourceDefinition

func (_ EtcdAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*EtcdAutoscaler) DeepCopy

func (in *EtcdAutoscaler) DeepCopy() *EtcdAutoscaler

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

func (*EtcdAutoscaler) DeepCopyInto

func (in *EtcdAutoscaler) DeepCopyInto(out *EtcdAutoscaler)

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

func (*EtcdAutoscaler) DeepCopyObject

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

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

func (*EtcdAutoscaler) GetStatus added in v0.28.0

func (e *EtcdAutoscaler) GetStatus() AutoscalerStatus

func (EtcdAutoscaler) ResourceFQN added in v0.16.0

func (e EtcdAutoscaler) ResourceFQN() string

func (EtcdAutoscaler) ResourceKind

func (e EtcdAutoscaler) ResourceKind() string

func (EtcdAutoscaler) ResourcePlural

func (e EtcdAutoscaler) ResourcePlural() string

func (EtcdAutoscaler) ResourceShortCode

func (e EtcdAutoscaler) ResourceShortCode() string

func (EtcdAutoscaler) ResourceSingular

func (e EtcdAutoscaler) ResourceSingular() string

func (*EtcdAutoscaler) SetStatus added in v0.28.0

func (e *EtcdAutoscaler) SetStatus(s AutoscalerStatus)

func (EtcdAutoscaler) ValidateSpecs

func (e EtcdAutoscaler) ValidateSpecs() error

type EtcdAutoscalerBehavior

type EtcdAutoscalerBehavior struct {
	// scaleUp is scaling policy for scaling Up.
	// If not set, the default value is the higher of:
	//   * increase no more than 4 pods per 60 seconds
	//   * double the number of pods per 60 seconds
	// No stabilization is used.
	// +optional
	ScaleUp *EtcdScalingRules `json:"scaleUp,omitempty"`
	// scaleDown is scaling policy for scaling Down.
	// If not set, the default value is to allow to scale down to minReplicas pods, with a
	// 300 second stabilization window (i.e., the highest recommendation for
	// the last 300sec is used).
	// +optional
	ScaleDown *EtcdScalingRules `json:"scaleDown,omitempty"`
}

EtcdAutoscalerBehavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively).

func (*EtcdAutoscalerBehavior) DeepCopy

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

func (*EtcdAutoscalerBehavior) DeepCopyInto

func (in *EtcdAutoscalerBehavior) DeepCopyInto(out *EtcdAutoscalerBehavior)

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

type EtcdAutoscalerList

type EtcdAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is the list of horizontal pod autoscaler objects.
	Items []EtcdAutoscaler `json:"items"`
}

EtcdAutoscalerList is a list of horizontal pod autoscaler objects.

func (*EtcdAutoscalerList) DeepCopy

func (in *EtcdAutoscalerList) DeepCopy() *EtcdAutoscalerList

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

func (*EtcdAutoscalerList) DeepCopyInto

func (in *EtcdAutoscalerList) DeepCopyInto(out *EtcdAutoscalerList)

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

func (*EtcdAutoscalerList) DeepCopyObject

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

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

type EtcdAutoscalerSpec

type EtcdAutoscalerSpec struct {
	// scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics
	// should be collected, as well as to actually change the replica count.
	ScaleTargetRef core.LocalObjectReference `json:"scaleTargetRef"`
	// minReplicas is the lower limit for the number of replicas to which the autoscaler
	// can scale down.  It defaults to 1 pod.  minReplicas is allowed to be 0 if the
	// alpha feature gate HPAScaleToZero is enabled and at least one Object or External
	// metric is configured.  Scaling is active as long as at least one metric value is
	// available.
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
	// It cannot be less that minReplicas.
	MaxReplicas int32 `json:"maxReplicas"`
	// metrics contains the specifications for which to use to calculate the
	// desired replica count (the maximum replica count across all metrics will
	// be used).  The desired replica count is calculated multiplying the
	// ratio between the target value and the current value by the current
	// number of pods.  Ergo, metrics used must decrease as the pod count is
	// increased, and vice-versa.  See the individual metric source types for
	// more information about how each type of metric must respond.
	// If not set, the default metric will be set to 80% average CPU utilization.
	// +optional
	Metrics []v2beta2.MetricSpec `json:"metrics,omitempty"`

	// behavior configures the scaling behavior of the target
	// in both Up and Down directions (scaleUp and scaleDown fields respectively).
	// If not set, the default EtcdScalingRules for scale up and scale down are used.
	// +optional
	Behavior *EtcdAutoscalerBehavior `json:"behavior,omitempty"`
}

EtcdAutoscalerSpec describes the desired functionality of the EtcdAutoscaler.

func (*EtcdAutoscalerSpec) DeepCopy

func (in *EtcdAutoscalerSpec) DeepCopy() *EtcdAutoscalerSpec

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

func (*EtcdAutoscalerSpec) DeepCopyInto

func (in *EtcdAutoscalerSpec) DeepCopyInto(out *EtcdAutoscalerSpec)

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

type EtcdScalingPolicy

type EtcdScalingPolicy struct {
	// Type is used to specify the scaling policy.
	Type v2beta2.HPAScalingPolicyType `json:"type"`
	// Value contains the amount of change which is permitted by the policy.
	// It must be greater than zero
	Value int32 `json:"value"`
	// PeriodSeconds specifies the window of time for which the policy should hold true.
	// PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).
	PeriodSeconds int32 `json:"periodSeconds"`
}

EtcdScalingPolicy is a single policy which must hold true for a specified past interval.

func (*EtcdScalingPolicy) DeepCopy

func (in *EtcdScalingPolicy) DeepCopy() *EtcdScalingPolicy

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

func (*EtcdScalingPolicy) DeepCopyInto

func (in *EtcdScalingPolicy) DeepCopyInto(out *EtcdScalingPolicy)

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

type EtcdScalingRules

type EtcdScalingRules struct {
	// StabilizationWindowSeconds is the number of seconds for which past recommendations should be
	// considered while scaling up or scaling down.
	// StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour).
	// If not set, use the default values:
	// - For scale up: 0 (i.e. no stabilization is done).
	// - For scale down: 300 (i.e. the stabilization window is 300 seconds long).
	// +optional
	StabilizationWindowSeconds *int32 `json:"stabilizationWindowSeconds"`
	// selectPolicy is used to specify which policy should be used.
	// If not set, the default value MaxPolicySelect is used.
	// +optional
	SelectPolicy *v2beta2.ScalingPolicySelect `json:"selectPolicy,omitempty"`
	// policies is a list of potential scaling polices which can be used during scaling.
	// At least one policy must be specified, otherwise the EtcdScalingRules will be discarded as invalid
	// +optional
	Policies []EtcdScalingPolicy `json:"policies,omitempty"`
}

EtcdScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.

func (*EtcdScalingRules) DeepCopy

func (in *EtcdScalingRules) DeepCopy() *EtcdScalingRules

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

func (*EtcdScalingRules) DeepCopyInto

func (in *EtcdScalingRules) DeepCopyInto(out *EtcdScalingRules)

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

type HistogramCheckpoint

type HistogramCheckpoint struct {
	// Reference timestamp for samples collected within this histogram.
	// +nullable
	ReferenceTimestamp metav1.Time `json:"referenceTimestamp,omitempty"`

	// Map from bucket index to bucket weight.
	// +kubebuilder:validation:XPreserveUnknownFields
	BucketWeights []BucketWeight `json:"bucketWeights,omitempty"`

	// Sum of samples to be used as denominator for weights from BucketWeights.
	TotalWeight float64 `json:"totalWeight,omitempty"`
}

HistogramCheckpoint contains data needed to reconstruct the histogram.

func (*HistogramCheckpoint) DeepCopy

func (in *HistogramCheckpoint) DeepCopy() *HistogramCheckpoint

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

func (*HistogramCheckpoint) DeepCopyInto

func (in *HistogramCheckpoint) DeepCopyInto(out *HistogramCheckpoint)

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

type MariaDBAutoscaler

type MariaDBAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the behavior of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
	Spec MariaDBAutoscalerSpec `json:"spec"`

	// Current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=mariadbautoscalers,singular=mariadbautoscaler,shortName=mdscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (MariaDBAutoscaler) CustomResourceDefinition

func (_ MariaDBAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*MariaDBAutoscaler) DeepCopy

func (in *MariaDBAutoscaler) DeepCopy() *MariaDBAutoscaler

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

func (*MariaDBAutoscaler) DeepCopyInto

func (in *MariaDBAutoscaler) DeepCopyInto(out *MariaDBAutoscaler)

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

func (*MariaDBAutoscaler) DeepCopyObject

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

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

func (*MariaDBAutoscaler) Default added in v0.28.0

func (in *MariaDBAutoscaler) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*MariaDBAutoscaler) GetStatus added in v0.28.0

func (e *MariaDBAutoscaler) GetStatus() AutoscalerStatus

func (MariaDBAutoscaler) ResourceFQN added in v0.16.0

func (m MariaDBAutoscaler) ResourceFQN() string

func (MariaDBAutoscaler) ResourceKind

func (m MariaDBAutoscaler) ResourceKind() string

func (MariaDBAutoscaler) ResourcePlural

func (m MariaDBAutoscaler) ResourcePlural() string

func (MariaDBAutoscaler) ResourceShortCode

func (m MariaDBAutoscaler) ResourceShortCode() string

func (MariaDBAutoscaler) ResourceSingular

func (m MariaDBAutoscaler) ResourceSingular() string

func (*MariaDBAutoscaler) SetStatus added in v0.28.0

func (e *MariaDBAutoscaler) SetStatus(s AutoscalerStatus)

func (*MariaDBAutoscaler) SetupWebhookWithManager added in v0.28.0

func (in *MariaDBAutoscaler) SetupWebhookWithManager(mgr manager.Manager) error

func (*MariaDBAutoscaler) ValidateCreate added in v0.28.0

func (in *MariaDBAutoscaler) ValidateCreate() error

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

func (MariaDBAutoscaler) ValidateDelete added in v0.28.0

func (_ MariaDBAutoscaler) ValidateDelete() error

func (MariaDBAutoscaler) ValidateSpecs

func (m MariaDBAutoscaler) ValidateSpecs() error

func (*MariaDBAutoscaler) ValidateUpdate added in v0.28.0

func (in *MariaDBAutoscaler) ValidateUpdate(old runtime.Object) error

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

type MariaDBAutoscalerList

type MariaDBAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata"`

	// items is the list of mariadb database autoscaler objects.
	Items []MariaDBAutoscaler `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object MariaDBAutoscalerList is a list of MariaDBAutoscaler objects.

func (*MariaDBAutoscalerList) DeepCopy

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

func (*MariaDBAutoscalerList) DeepCopyInto

func (in *MariaDBAutoscalerList) DeepCopyInto(out *MariaDBAutoscalerList)

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

func (*MariaDBAutoscalerList) DeepCopyObject

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

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

type MariaDBAutoscalerSpec

type MariaDBAutoscalerSpec struct {
	DatabaseRef *core.LocalObjectReference `json:"databaseRef"`

	// This field will be used to control the behaviour of ops-manager
	OpsRequestOptions *MariaDBOpsRequestOptions `json:"opsRequestOptions,omitempty"`

	Compute *MariaDBComputeAutoscalerSpec `json:"compute,omitempty"`
	Storage *MariaDBStorageAutoscalerSpec `json:"storage,omitempty"`
}

MariaDBAutoscalerSpec is the specification of the behavior of the autoscaler.

func (*MariaDBAutoscalerSpec) DeepCopy

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

func (*MariaDBAutoscalerSpec) DeepCopyInto

func (in *MariaDBAutoscalerSpec) DeepCopyInto(out *MariaDBAutoscalerSpec)

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

type MariaDBComputeAutoscalerSpec added in v0.25.0

type MariaDBComputeAutoscalerSpec struct {
	MariaDB *ComputeAutoscalerSpec `json:"mariadb,omitempty"`
}

func (*MariaDBComputeAutoscalerSpec) DeepCopy added in v0.25.0

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

func (*MariaDBComputeAutoscalerSpec) DeepCopyInto added in v0.25.0

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

type MariaDBOpsRequestOptions added in v0.29.0

type MariaDBOpsRequestOptions struct {
	// Specifies the Readiness Criteria
	ReadinessCriteria *opsapi.MariaDBReplicaReadinessCriteria `json:"readinessCriteria,omitempty"`

	// Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure.
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// ApplyOption is to control the execution of OpsRequest depending on the database state.
	// +kubebuilder:default="IfReady"
	Apply opsapi.ApplyOption `json:"apply,omitempty"`
}

func (*MariaDBOpsRequestOptions) DeepCopy added in v0.29.0

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

func (*MariaDBOpsRequestOptions) DeepCopyInto added in v0.29.0

func (in *MariaDBOpsRequestOptions) DeepCopyInto(out *MariaDBOpsRequestOptions)

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

type MariaDBStorageAutoscalerSpec added in v0.25.0

type MariaDBStorageAutoscalerSpec struct {
	MariaDB *StorageAutoscalerSpec `json:"mariadb,omitempty"`
}

func (*MariaDBStorageAutoscalerSpec) DeepCopy added in v0.25.0

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

func (*MariaDBStorageAutoscalerSpec) DeepCopyInto added in v0.25.0

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

type MemcachedAutoscaler

type MemcachedAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the specification for the behaviour of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
	// +optional
	Spec MemcachedAutoscalerSpec `json:"spec,omitempty"`

	// status is the current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=memcachedautoscalers,singular=memcachedautoscaler,shortName=mcscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (MemcachedAutoscaler) CustomResourceDefinition

func (_ MemcachedAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*MemcachedAutoscaler) DeepCopy

func (in *MemcachedAutoscaler) DeepCopy() *MemcachedAutoscaler

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

func (*MemcachedAutoscaler) DeepCopyInto

func (in *MemcachedAutoscaler) DeepCopyInto(out *MemcachedAutoscaler)

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

func (*MemcachedAutoscaler) DeepCopyObject

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

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

func (*MemcachedAutoscaler) GetStatus added in v0.28.0

func (e *MemcachedAutoscaler) GetStatus() AutoscalerStatus

func (MemcachedAutoscaler) ResourceFQN added in v0.16.0

func (m MemcachedAutoscaler) ResourceFQN() string

func (MemcachedAutoscaler) ResourceKind

func (m MemcachedAutoscaler) ResourceKind() string

func (MemcachedAutoscaler) ResourcePlural

func (m MemcachedAutoscaler) ResourcePlural() string

func (MemcachedAutoscaler) ResourceShortCode

func (m MemcachedAutoscaler) ResourceShortCode() string

func (MemcachedAutoscaler) ResourceSingular

func (m MemcachedAutoscaler) ResourceSingular() string

func (*MemcachedAutoscaler) SetStatus added in v0.28.0

func (e *MemcachedAutoscaler) SetStatus(s AutoscalerStatus)

func (MemcachedAutoscaler) ValidateSpecs

func (m MemcachedAutoscaler) ValidateSpecs() error

type MemcachedAutoscalerBehavior

type MemcachedAutoscalerBehavior struct {
	// scaleUp is scaling policy for scaling Up.
	// If not set, the default value is the higher of:
	//   * increase no more than 4 pods per 60 seconds
	//   * double the number of pods per 60 seconds
	// No stabilization is used.
	// +optional
	ScaleUp *MemcachedScalingRules `json:"scaleUp,omitempty"`
	// scaleDown is scaling policy for scaling Down.
	// If not set, the default value is to allow to scale down to minReplicas pods, with a
	// 300 second stabilization window (i.e., the highest recommendation for
	// the last 300sec is used).
	// +optional
	ScaleDown *MemcachedScalingRules `json:"scaleDown,omitempty"`
}

MemcachedAutoscalerBehavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively).

func (*MemcachedAutoscalerBehavior) DeepCopy

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

func (*MemcachedAutoscalerBehavior) DeepCopyInto

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

type MemcachedAutoscalerList

type MemcachedAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is the list of horizontal pod autoscaler objects.
	Items []MemcachedAutoscaler `json:"items"`
}

MemcachedAutoscalerList is a list of horizontal pod autoscaler objects.

func (*MemcachedAutoscalerList) DeepCopy

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

func (*MemcachedAutoscalerList) DeepCopyInto

func (in *MemcachedAutoscalerList) DeepCopyInto(out *MemcachedAutoscalerList)

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

func (*MemcachedAutoscalerList) DeepCopyObject

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

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

type MemcachedAutoscalerSpec

type MemcachedAutoscalerSpec struct {
	// scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics
	// should be collected, as well as to actually change the replica count.
	ScaleTargetRef core.LocalObjectReference `json:"scaleTargetRef"`
	// minReplicas is the lower limit for the number of replicas to which the autoscaler
	// can scale down.  It defaults to 1 pod.  minReplicas is allowed to be 0 if the
	// alpha feature gate HPAScaleToZero is enabled and at least one Object or External
	// metric is configured.  Scaling is active as long as at least one metric value is
	// available.
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
	// It cannot be less that minReplicas.
	MaxReplicas int32 `json:"maxReplicas"`
	// metrics contains the specifications for which to use to calculate the
	// desired replica count (the maximum replica count across all metrics will
	// be used).  The desired replica count is calculated multiplying the
	// ratio between the target value and the current value by the current
	// number of pods.  Ergo, metrics used must decrease as the pod count is
	// increased, and vice-versa.  See the individual metric source types for
	// more information about how each type of metric must respond.
	// If not set, the default metric will be set to 80% average CPU utilization.
	// +optional
	Metrics []v2beta2.MetricSpec `json:"metrics,omitempty"`

	// behavior configures the scaling behavior of the target
	// in both Up and Down directions (scaleUp and scaleDown fields respectively).
	// If not set, the default MemcachedScalingRules for scale up and scale down are used.
	// +optional
	Behavior *MemcachedAutoscalerBehavior `json:"behavior,omitempty"`
}

MemcachedAutoscalerSpec describes the desired functionality of the MemcachedAutoscaler.

func (*MemcachedAutoscalerSpec) DeepCopy

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

func (*MemcachedAutoscalerSpec) DeepCopyInto

func (in *MemcachedAutoscalerSpec) DeepCopyInto(out *MemcachedAutoscalerSpec)

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

type MemcachedScalingPolicy

type MemcachedScalingPolicy struct {
	// Type is used to specify the scaling policy.
	Type v2beta2.HPAScalingPolicyType `json:"type"`
	// Value contains the amount of change which is permitted by the policy.
	// It must be greater than zero
	Value int32 `json:"value"`
	// PeriodSeconds specifies the window of time for which the policy should hold true.
	// PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).
	PeriodSeconds int32 `json:"periodSeconds"`
}

MemcachedScalingPolicy is a single policy which must hold true for a specified past interval.

func (*MemcachedScalingPolicy) DeepCopy

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

func (*MemcachedScalingPolicy) DeepCopyInto

func (in *MemcachedScalingPolicy) DeepCopyInto(out *MemcachedScalingPolicy)

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

type MemcachedScalingRules

type MemcachedScalingRules struct {
	// StabilizationWindowSeconds is the number of seconds for which past recommendations should be
	// considered while scaling up or scaling down.
	// StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour).
	// If not set, use the default values:
	// - For scale up: 0 (i.e. no stabilization is done).
	// - For scale down: 300 (i.e. the stabilization window is 300 seconds long).
	// +optional
	StabilizationWindowSeconds *int32 `json:"stabilizationWindowSeconds"`
	// selectPolicy is used to specify which policy should be used.
	// If not set, the default value MaxPolicySelect is used.
	// +optional
	SelectPolicy *v2beta2.ScalingPolicySelect `json:"selectPolicy,omitempty"`
	// policies is a list of potential scaling polices which can be used during scaling.
	// At least one policy must be specified, otherwise the MemcachedScalingRules will be discarded as invalid
	// +optional
	Policies []MemcachedScalingPolicy `json:"policies,omitempty"`
}

MemcachedScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.

func (*MemcachedScalingRules) DeepCopy

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

func (*MemcachedScalingRules) DeepCopyInto

func (in *MemcachedScalingRules) DeepCopyInto(out *MemcachedScalingRules)

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

type MongoDBAutoscaler

type MongoDBAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the behavior of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
	Spec MongoDBAutoscalerSpec `json:"spec"`

	// Current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=mongodbautoscalers,singular=mongodbautoscaler,shortName=mgscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (MongoDBAutoscaler) CustomResourceDefinition

func (_ MongoDBAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*MongoDBAutoscaler) DeepCopy

func (in *MongoDBAutoscaler) DeepCopy() *MongoDBAutoscaler

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

func (*MongoDBAutoscaler) DeepCopyInto

func (in *MongoDBAutoscaler) DeepCopyInto(out *MongoDBAutoscaler)

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

func (*MongoDBAutoscaler) DeepCopyObject

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

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

func (*MongoDBAutoscaler) Default added in v0.28.0

func (in *MongoDBAutoscaler) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*MongoDBAutoscaler) GetStatus added in v0.28.0

func (e *MongoDBAutoscaler) GetStatus() AutoscalerStatus

func (MongoDBAutoscaler) ResourceFQN added in v0.16.0

func (m MongoDBAutoscaler) ResourceFQN() string

func (MongoDBAutoscaler) ResourceKind

func (m MongoDBAutoscaler) ResourceKind() string

func (MongoDBAutoscaler) ResourcePlural

func (m MongoDBAutoscaler) ResourcePlural() string

func (MongoDBAutoscaler) ResourceShortCode

func (m MongoDBAutoscaler) ResourceShortCode() string

func (MongoDBAutoscaler) ResourceSingular

func (m MongoDBAutoscaler) ResourceSingular() string

func (*MongoDBAutoscaler) SetDefaults added in v0.28.0

func (in *MongoDBAutoscaler) SetDefaults(db *dbapi.MongoDB)

func (*MongoDBAutoscaler) SetStatus added in v0.28.0

func (e *MongoDBAutoscaler) SetStatus(s AutoscalerStatus)

func (*MongoDBAutoscaler) SetupWebhookWithManager added in v0.28.0

func (in *MongoDBAutoscaler) SetupWebhookWithManager(mgr manager.Manager) error

func (*MongoDBAutoscaler) ValidateCreate added in v0.28.0

func (in *MongoDBAutoscaler) ValidateCreate() error

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

func (MongoDBAutoscaler) ValidateDelete added in v0.28.0

func (_ MongoDBAutoscaler) ValidateDelete() error

func (*MongoDBAutoscaler) ValidateFields added in v0.28.0

func (in *MongoDBAutoscaler) ValidateFields(mg *dbapi.MongoDB) error

func (MongoDBAutoscaler) ValidateSpecs

func (m MongoDBAutoscaler) ValidateSpecs() error

func (*MongoDBAutoscaler) ValidateUpdate added in v0.28.0

func (in *MongoDBAutoscaler) ValidateUpdate(old runtime.Object) error

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

type MongoDBAutoscalerList

type MongoDBAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata"`

	// items is the list of mongodb database autoscaler objects.
	Items []MongoDBAutoscaler `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object MongoDBAutoscalerList is a list of MongoDBAutoscaler objects.

func (*MongoDBAutoscalerList) DeepCopy

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

func (*MongoDBAutoscalerList) DeepCopyInto

func (in *MongoDBAutoscalerList) DeepCopyInto(out *MongoDBAutoscalerList)

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

func (*MongoDBAutoscalerList) DeepCopyObject

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

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

type MongoDBAutoscalerSpec

type MongoDBAutoscalerSpec struct {
	DatabaseRef *core.LocalObjectReference `json:"databaseRef"`

	// This field will be used to control the behaviour of ops-manager
	OpsRequestOptions *MongoDBOpsRequestOptions `json:"opsRequestOptions,omitempty"`

	Compute *MongoDBComputeAutoscalerSpec `json:"compute,omitempty"`
	Storage *MongoDBStorageAutoscalerSpec `json:"storage,omitempty"`
}

MongoDBAutoscalerSpec is the specification of the behavior of the autoscaler.

func (*MongoDBAutoscalerSpec) DeepCopy

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

func (*MongoDBAutoscalerSpec) DeepCopyInto

func (in *MongoDBAutoscalerSpec) DeepCopyInto(out *MongoDBAutoscalerSpec)

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

type MongoDBComputeAutoscalerSpec added in v0.16.0

type MongoDBComputeAutoscalerSpec struct {
	Standalone   *ComputeAutoscalerSpec `json:"standalone,omitempty"`
	ReplicaSet   *ComputeAutoscalerSpec `json:"replicaSet,omitempty"`
	ConfigServer *ComputeAutoscalerSpec `json:"configServer,omitempty"`
	Shard        *ComputeAutoscalerSpec `json:"shard,omitempty"`
	Mongos       *ComputeAutoscalerSpec `json:"mongos,omitempty"`
	Arbiter      *ComputeAutoscalerSpec `json:"arbiter,omitempty"`
	Hidden       *ComputeAutoscalerSpec `json:"hidden,omitempty"`
}

func (*MongoDBComputeAutoscalerSpec) DeepCopy added in v0.16.0

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

func (*MongoDBComputeAutoscalerSpec) DeepCopyInto added in v0.16.0

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

type MongoDBOpsRequestOptions added in v0.28.0

type MongoDBOpsRequestOptions struct {
	// Specifies the Readiness Criteria
	ReadinessCriteria *opsapi.MongoDBReplicaReadinessCriteria `json:"readinessCriteria,omitempty"`

	// Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure.
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// ApplyOption is to control the execution of OpsRequest depending on the database state.
	// +kubebuilder:default="IfReady"
	Apply opsapi.ApplyOption `json:"apply,omitempty"`
}

func (*MongoDBOpsRequestOptions) DeepCopy added in v0.28.0

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

func (*MongoDBOpsRequestOptions) DeepCopyInto added in v0.28.0

func (in *MongoDBOpsRequestOptions) DeepCopyInto(out *MongoDBOpsRequestOptions)

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

type MongoDBStorageAutoscalerSpec added in v0.16.0

type MongoDBStorageAutoscalerSpec struct {
	Standalone   *StorageAutoscalerSpec `json:"standalone,omitempty"`
	ReplicaSet   *StorageAutoscalerSpec `json:"replicaSet,omitempty"`
	ConfigServer *StorageAutoscalerSpec `json:"configServer,omitempty"`
	Shard        *StorageAutoscalerSpec `json:"shard,omitempty"`
	Hidden       *StorageAutoscalerSpec `json:"hidden,omitempty"`
}

func (*MongoDBStorageAutoscalerSpec) DeepCopy added in v0.16.0

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

func (*MongoDBStorageAutoscalerSpec) DeepCopyInto added in v0.16.0

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

type MySQLAutoscaler

type MySQLAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the specification for the behaviour of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
	// +optional
	Spec MySQLAutoscalerSpec `json:"spec,omitempty"`

	// status is the current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=mysqlautoscalers,singular=mysqlautoscaler,shortName=myscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (MySQLAutoscaler) CustomResourceDefinition

func (_ MySQLAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*MySQLAutoscaler) DeepCopy

func (in *MySQLAutoscaler) DeepCopy() *MySQLAutoscaler

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

func (*MySQLAutoscaler) DeepCopyInto

func (in *MySQLAutoscaler) DeepCopyInto(out *MySQLAutoscaler)

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

func (*MySQLAutoscaler) DeepCopyObject

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

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

func (*MySQLAutoscaler) Default added in v0.29.0

func (in *MySQLAutoscaler) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*MySQLAutoscaler) GetStatus added in v0.28.0

func (e *MySQLAutoscaler) GetStatus() AutoscalerStatus

func (MySQLAutoscaler) ResourceFQN added in v0.16.0

func (m MySQLAutoscaler) ResourceFQN() string

func (MySQLAutoscaler) ResourceKind

func (m MySQLAutoscaler) ResourceKind() string

func (MySQLAutoscaler) ResourcePlural

func (m MySQLAutoscaler) ResourcePlural() string

func (MySQLAutoscaler) ResourceShortCode

func (m MySQLAutoscaler) ResourceShortCode() string

func (MySQLAutoscaler) ResourceSingular

func (m MySQLAutoscaler) ResourceSingular() string

func (*MySQLAutoscaler) SetDefaults added in v0.29.0

func (in *MySQLAutoscaler) SetDefaults()

func (*MySQLAutoscaler) SetStatus added in v0.28.0

func (e *MySQLAutoscaler) SetStatus(s AutoscalerStatus)

func (*MySQLAutoscaler) SetupWebhookWithManager added in v0.29.0

func (in *MySQLAutoscaler) SetupWebhookWithManager(mgr manager.Manager) error

func (*MySQLAutoscaler) ValidateCreate added in v0.29.0

func (in *MySQLAutoscaler) ValidateCreate() error

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

func (MySQLAutoscaler) ValidateDelete added in v0.29.0

func (_ MySQLAutoscaler) ValidateDelete() error

func (*MySQLAutoscaler) ValidateFields added in v0.29.0

func (in *MySQLAutoscaler) ValidateFields() error

func (MySQLAutoscaler) ValidateSpecs

func (m MySQLAutoscaler) ValidateSpecs() error

func (*MySQLAutoscaler) ValidateUpdate added in v0.29.0

func (in *MySQLAutoscaler) ValidateUpdate(old runtime.Object) error

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

type MySQLAutoscalerList

type MySQLAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is the list of horizontal pod autoscaler objects.
	Items []MySQLAutoscaler `json:"items"`
}

MySQLAutoscalerList is a list of horizontal pod autoscaler objects.

func (*MySQLAutoscalerList) DeepCopy

func (in *MySQLAutoscalerList) DeepCopy() *MySQLAutoscalerList

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

func (*MySQLAutoscalerList) DeepCopyInto

func (in *MySQLAutoscalerList) DeepCopyInto(out *MySQLAutoscalerList)

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

func (*MySQLAutoscalerList) DeepCopyObject

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

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

type MySQLAutoscalerSpec

type MySQLAutoscalerSpec struct {
	DatabaseRef *core.LocalObjectReference `json:"databaseRef"`

	// This field will be used to control the behaviour of ops-manager
	OpsRequestOptions *MySQLOpsRequestOptions `json:"opsRequestOptions,omitempty"`

	Compute *MySQLComputeAutoscalerSpec `json:"compute,omitempty"`
	Storage *MySQLStorageAutoscalerSpec `json:"storage,omitempty"`
}

MySQLAutoscalerSpec describes the desired functionality of the MySQLAutoscaler.

func (*MySQLAutoscalerSpec) DeepCopy

func (in *MySQLAutoscalerSpec) DeepCopy() *MySQLAutoscalerSpec

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

func (*MySQLAutoscalerSpec) DeepCopyInto

func (in *MySQLAutoscalerSpec) DeepCopyInto(out *MySQLAutoscalerSpec)

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

type MySQLComputeAutoscalerSpec added in v0.29.0

type MySQLComputeAutoscalerSpec struct {
	MySQL *ComputeAutoscalerSpec `json:"mysql,omitempty"`
}

func (*MySQLComputeAutoscalerSpec) DeepCopy added in v0.29.0

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

func (*MySQLComputeAutoscalerSpec) DeepCopyInto added in v0.29.0

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

type MySQLOpsRequestOptions added in v0.29.0

type MySQLOpsRequestOptions struct {
	// Specifies the Readiness Criteria
	ReadinessCriteria *opsapi.MySQLReplicaReadinessCriteria `json:"readinessCriteria,omitempty"`

	// Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure.
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// ApplyOption is to control the execution of OpsRequest depending on the database state.
	// +kubebuilder:default="IfReady"
	Apply opsapi.ApplyOption `json:"apply,omitempty"`
}

func (*MySQLOpsRequestOptions) DeepCopy added in v0.29.0

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

func (*MySQLOpsRequestOptions) DeepCopyInto added in v0.29.0

func (in *MySQLOpsRequestOptions) DeepCopyInto(out *MySQLOpsRequestOptions)

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

type MySQLStorageAutoscalerSpec added in v0.29.0

type MySQLStorageAutoscalerSpec struct {
	MySQL *StorageAutoscalerSpec `json:"mysql,omitempty"`
}

func (*MySQLStorageAutoscalerSpec) DeepCopy added in v0.29.0

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

func (*MySQLStorageAutoscalerSpec) DeepCopyInto added in v0.29.0

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

type PerconaXtraDBAutoscaler

type PerconaXtraDBAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// Specification of the behavior of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status.
	Spec PerconaXtraDBAutoscalerSpec `json:"spec"`

	// Current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=perconaxtradbautoscalers,singular=perconaxtradbautoscaler,shortName=pxcscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (PerconaXtraDBAutoscaler) CustomResourceDefinition

func (_ PerconaXtraDBAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*PerconaXtraDBAutoscaler) DeepCopy

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

func (*PerconaXtraDBAutoscaler) DeepCopyInto

func (in *PerconaXtraDBAutoscaler) DeepCopyInto(out *PerconaXtraDBAutoscaler)

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

func (*PerconaXtraDBAutoscaler) DeepCopyObject

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

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

func (*PerconaXtraDBAutoscaler) Default added in v0.29.0

func (in *PerconaXtraDBAutoscaler) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*PerconaXtraDBAutoscaler) GetStatus added in v0.28.0

func (PerconaXtraDBAutoscaler) ResourceFQN added in v0.16.0

func (p PerconaXtraDBAutoscaler) ResourceFQN() string

func (PerconaXtraDBAutoscaler) ResourceKind

func (p PerconaXtraDBAutoscaler) ResourceKind() string

func (PerconaXtraDBAutoscaler) ResourcePlural

func (p PerconaXtraDBAutoscaler) ResourcePlural() string

func (PerconaXtraDBAutoscaler) ResourceShortCode

func (p PerconaXtraDBAutoscaler) ResourceShortCode() string

func (PerconaXtraDBAutoscaler) ResourceSingular

func (p PerconaXtraDBAutoscaler) ResourceSingular() string

func (*PerconaXtraDBAutoscaler) SetStatus added in v0.28.0

func (e *PerconaXtraDBAutoscaler) SetStatus(s AutoscalerStatus)

func (*PerconaXtraDBAutoscaler) SetupWebhookWithManager added in v0.29.0

func (in *PerconaXtraDBAutoscaler) SetupWebhookWithManager(mgr manager.Manager) error

func (*PerconaXtraDBAutoscaler) ValidateCreate added in v0.29.0

func (in *PerconaXtraDBAutoscaler) ValidateCreate() error

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

func (PerconaXtraDBAutoscaler) ValidateDelete added in v0.29.0

func (_ PerconaXtraDBAutoscaler) ValidateDelete() error

func (PerconaXtraDBAutoscaler) ValidateSpecs

func (p PerconaXtraDBAutoscaler) ValidateSpecs() error

func (*PerconaXtraDBAutoscaler) ValidateUpdate added in v0.29.0

func (in *PerconaXtraDBAutoscaler) ValidateUpdate(old runtime.Object) error

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

type PerconaXtraDBAutoscalerList

type PerconaXtraDBAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata"`

	// items is the list of perconaxtradb autoscaler objects.
	Items []PerconaXtraDBAutoscaler `json:"items"`
}

+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object PerconaXtraDBAutoscalerList is a list of PerconaXtraDBAutoscaler objects.

func (*PerconaXtraDBAutoscalerList) DeepCopy

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

func (*PerconaXtraDBAutoscalerList) DeepCopyInto

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

func (*PerconaXtraDBAutoscalerList) DeepCopyObject

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

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

type PerconaXtraDBAutoscalerSpec

type PerconaXtraDBAutoscalerSpec struct {
	DatabaseRef *core.LocalObjectReference `json:"databaseRef"`

	// This field will be used to control the behaviour of ops-manager
	OpsRequestOptions *PerconaXtraDBOpsRequestOptions `json:"opsRequestOptions,omitempty"`

	Compute *PerconaXtraDBComputeAutoscalerSpec `json:"compute,omitempty"`
	Storage *PerconaXtraDBStorageAutoscalerSpec `json:"storage,omitempty"`
}

PerconaXtraDBAutoscalerSpec is the specification of the behavior of the autoscaler.

func (*PerconaXtraDBAutoscalerSpec) DeepCopy

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

func (*PerconaXtraDBAutoscalerSpec) DeepCopyInto

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

type PerconaXtraDBComputeAutoscalerSpec added in v0.29.0

type PerconaXtraDBComputeAutoscalerSpec struct {
	PerconaXtraDB *ComputeAutoscalerSpec `json:"perconaxtradb,omitempty"`
}

func (*PerconaXtraDBComputeAutoscalerSpec) DeepCopy added in v0.29.0

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

func (*PerconaXtraDBComputeAutoscalerSpec) DeepCopyInto added in v0.29.0

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

type PerconaXtraDBOpsRequestOptions added in v0.29.0

type PerconaXtraDBOpsRequestOptions struct {
	// Specifies the Readiness Criteria
	ReadinessCriteria *opsapi.PerconaXtraDBReplicaReadinessCriteria `json:"readinessCriteria,omitempty"`

	// Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure.
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// ApplyOption is to control the execution of OpsRequest depending on the database state.
	// +kubebuilder:default="IfReady"
	Apply opsapi.ApplyOption `json:"apply,omitempty"`
}

func (*PerconaXtraDBOpsRequestOptions) DeepCopy added in v0.29.0

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

func (*PerconaXtraDBOpsRequestOptions) DeepCopyInto added in v0.29.0

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

type PerconaXtraDBStorageAutoscalerSpec added in v0.29.0

type PerconaXtraDBStorageAutoscalerSpec struct {
	PerconaXtraDB *StorageAutoscalerSpec `json:"perconaxtradb,omitempty"`
}

func (*PerconaXtraDBStorageAutoscalerSpec) DeepCopy added in v0.29.0

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

func (*PerconaXtraDBStorageAutoscalerSpec) DeepCopyInto added in v0.29.0

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

type PgBouncerAutoscaler

type PgBouncerAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the specification for the behaviour of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
	// +optional
	Spec PgBouncerAutoscalerSpec `json:"spec,omitempty"`

	// status is the current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=pgbouncerautoscalers,singular=pgbouncerautoscaler,shortName=pbscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (PgBouncerAutoscaler) CustomResourceDefinition

func (_ PgBouncerAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*PgBouncerAutoscaler) DeepCopy

func (in *PgBouncerAutoscaler) DeepCopy() *PgBouncerAutoscaler

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

func (*PgBouncerAutoscaler) DeepCopyInto

func (in *PgBouncerAutoscaler) DeepCopyInto(out *PgBouncerAutoscaler)

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

func (*PgBouncerAutoscaler) DeepCopyObject

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

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

func (*PgBouncerAutoscaler) GetStatus added in v0.28.0

func (e *PgBouncerAutoscaler) GetStatus() AutoscalerStatus

func (PgBouncerAutoscaler) ResourceFQN added in v0.16.0

func (p PgBouncerAutoscaler) ResourceFQN() string

func (PgBouncerAutoscaler) ResourceKind

func (p PgBouncerAutoscaler) ResourceKind() string

func (PgBouncerAutoscaler) ResourcePlural

func (p PgBouncerAutoscaler) ResourcePlural() string

func (PgBouncerAutoscaler) ResourceShortCode

func (p PgBouncerAutoscaler) ResourceShortCode() string

func (PgBouncerAutoscaler) ResourceSingular

func (p PgBouncerAutoscaler) ResourceSingular() string

func (*PgBouncerAutoscaler) SetStatus added in v0.28.0

func (e *PgBouncerAutoscaler) SetStatus(s AutoscalerStatus)

func (PgBouncerAutoscaler) ValidateSpecs

func (p PgBouncerAutoscaler) ValidateSpecs() error

type PgBouncerAutoscalerBehavior

type PgBouncerAutoscalerBehavior struct {
	// scaleUp is scaling policy for scaling Up.
	// If not set, the default value is the higher of:
	//   * increase no more than 4 pods per 60 seconds
	//   * double the number of pods per 60 seconds
	// No stabilization is used.
	// +optional
	ScaleUp *PgBouncerScalingRules `json:"scaleUp,omitempty"`
	// scaleDown is scaling policy for scaling Down.
	// If not set, the default value is to allow to scale down to minReplicas pods, with a
	// 300 second stabilization window (i.e., the highest recommendation for
	// the last 300sec is used).
	// +optional
	ScaleDown *PgBouncerScalingRules `json:"scaleDown,omitempty"`
}

PgBouncerAutoscalerBehavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively).

func (*PgBouncerAutoscalerBehavior) DeepCopy

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

func (*PgBouncerAutoscalerBehavior) DeepCopyInto

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

type PgBouncerAutoscalerList

type PgBouncerAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is the list of horizontal pod autoscaler objects.
	Items []PgBouncerAutoscaler `json:"items"`
}

PgBouncerAutoscalerList is a list of horizontal pod autoscaler objects.

func (*PgBouncerAutoscalerList) DeepCopy

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

func (*PgBouncerAutoscalerList) DeepCopyInto

func (in *PgBouncerAutoscalerList) DeepCopyInto(out *PgBouncerAutoscalerList)

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

func (*PgBouncerAutoscalerList) DeepCopyObject

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

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

type PgBouncerAutoscalerSpec

type PgBouncerAutoscalerSpec struct {
	// scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics
	// should be collected, as well as to actually change the replica count.
	ScaleTargetRef core.LocalObjectReference `json:"scaleTargetRef"`
	// minReplicas is the lower limit for the number of replicas to which the autoscaler
	// can scale down.  It defaults to 1 pod.  minReplicas is allowed to be 0 if the
	// alpha feature gate HPAScaleToZero is enabled and at least one Object or External
	// metric is configured.  Scaling is active as long as at least one metric value is
	// available.
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
	// It cannot be less that minReplicas.
	MaxReplicas int32 `json:"maxReplicas"`
	// metrics contains the specifications for which to use to calculate the
	// desired replica count (the maximum replica count across all metrics will
	// be used).  The desired replica count is calculated multiplying the
	// ratio between the target value and the current value by the current
	// number of pods.  Ergo, metrics used must decrease as the pod count is
	// increased, and vice-versa.  See the individual metric source types for
	// more information about how each type of metric must respond.
	// If not set, the default metric will be set to 80% average CPU utilization.
	// +optional
	Metrics []v2beta2.MetricSpec `json:"metrics,omitempty"`

	// behavior configures the scaling behavior of the target
	// in both Up and Down directions (scaleUp and scaleDown fields respectively).
	// If not set, the default PgBouncerScalingRules for scale up and scale down are used.
	// +optional
	Behavior *PgBouncerAutoscalerBehavior `json:"behavior,omitempty"`
}

PgBouncerAutoscalerSpec describes the desired functionality of the PgBouncerAutoscaler.

func (*PgBouncerAutoscalerSpec) DeepCopy

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

func (*PgBouncerAutoscalerSpec) DeepCopyInto

func (in *PgBouncerAutoscalerSpec) DeepCopyInto(out *PgBouncerAutoscalerSpec)

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

type PgBouncerScalingPolicy

type PgBouncerScalingPolicy struct {
	// Type is used to specify the scaling policy.
	Type v2beta2.HPAScalingPolicyType `json:"type"`
	// Value contains the amount of change which is permitted by the policy.
	// It must be greater than zero
	Value int32 `json:"value"`
	// PeriodSeconds specifies the window of time for which the policy should hold true.
	// PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).
	PeriodSeconds int32 `json:"periodSeconds"`
}

PgBouncerScalingPolicy is a single policy which must hold true for a specified past interval.

func (*PgBouncerScalingPolicy) DeepCopy

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

func (*PgBouncerScalingPolicy) DeepCopyInto

func (in *PgBouncerScalingPolicy) DeepCopyInto(out *PgBouncerScalingPolicy)

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

type PgBouncerScalingRules

type PgBouncerScalingRules struct {
	// StabilizationWindowSeconds is the number of seconds for which past recommendations should be
	// considered while scaling up or scaling down.
	// StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour).
	// If not set, use the default values:
	// - For scale up: 0 (i.e. no stabilization is done).
	// - For scale down: 300 (i.e. the stabilization window is 300 seconds long).
	// +optional
	StabilizationWindowSeconds *int32 `json:"stabilizationWindowSeconds"`
	// selectPolicy is used to specify which policy should be used.
	// If not set, the default value MaxPolicySelect is used.
	// +optional
	SelectPolicy *v2beta2.ScalingPolicySelect `json:"selectPolicy,omitempty"`
	// policies is a list of potential scaling polices which can be used during scaling.
	// At least one policy must be specified, otherwise the PgBouncerScalingRules will be discarded as invalid
	// +optional
	Policies []PgBouncerScalingPolicy `json:"policies,omitempty"`
}

PgBouncerScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.

func (*PgBouncerScalingRules) DeepCopy

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

func (*PgBouncerScalingRules) DeepCopyInto

func (in *PgBouncerScalingRules) DeepCopyInto(out *PgBouncerScalingRules)

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

type PodResourcePolicy

type PodResourcePolicy struct {
	// Per-container resource policies.
	// +optional
	// +patchMergeKey=containerName
	// +patchStrategy=merge
	ContainerPolicies []ContainerResourcePolicy `json:"containerPolicies,omitempty" patchStrategy:"merge" patchMergeKey:"containerName"`
}

PodResourcePolicy controls how autopilot computes the recommended resources for containers belonging to the pod. There can be at most one entry for every named container and optionally a single wildcard entry with `containerName` = '*', which handles all containers that don't have individual policies.

func (*PodResourcePolicy) DeepCopy

func (in *PodResourcePolicy) DeepCopy() *PodResourcePolicy

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

func (*PodResourcePolicy) DeepCopyInto

func (in *PodResourcePolicy) DeepCopyInto(out *PodResourcePolicy)

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

type PodUpdatePolicy

type PodUpdatePolicy struct {
	// Controls when autopilot applies changes to the pod resources.
	// The default is 'Auto'.
	// +optional
	UpdateMode *UpdateMode `json:"updateMode,omitempty"`

	// Minimal number of replicas which need to be alive for Updater to attempt
	// pod eviction (pending other checks like PDB). Only positive values are
	// allowed. Overrides global '--min-replicas' flag.
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
}

PodUpdatePolicy describes the rules on how changes are applied to the pods.

func (*PodUpdatePolicy) DeepCopy

func (in *PodUpdatePolicy) DeepCopy() *PodUpdatePolicy

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

func (*PodUpdatePolicy) DeepCopyInto

func (in *PodUpdatePolicy) DeepCopyInto(out *PodUpdatePolicy)

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

type PostgresAutoscaler

type PostgresAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the specification for the behaviour of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
	// +optional
	Spec PostgresAutoscalerSpec `json:"spec,omitempty"`

	// status is the current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=postgresautoscalers,singular=postgresautoscaler,shortName=pgscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (PostgresAutoscaler) CustomResourceDefinition

func (_ PostgresAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*PostgresAutoscaler) DeepCopy

func (in *PostgresAutoscaler) DeepCopy() *PostgresAutoscaler

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

func (*PostgresAutoscaler) DeepCopyInto

func (in *PostgresAutoscaler) DeepCopyInto(out *PostgresAutoscaler)

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

func (*PostgresAutoscaler) DeepCopyObject

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

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

func (*PostgresAutoscaler) Default added in v0.29.0

func (in *PostgresAutoscaler) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*PostgresAutoscaler) GetStatus added in v0.28.0

func (e *PostgresAutoscaler) GetStatus() AutoscalerStatus

func (PostgresAutoscaler) ResourceFQN added in v0.16.0

func (p PostgresAutoscaler) ResourceFQN() string

func (PostgresAutoscaler) ResourceKind

func (p PostgresAutoscaler) ResourceKind() string

func (PostgresAutoscaler) ResourcePlural

func (p PostgresAutoscaler) ResourcePlural() string

func (PostgresAutoscaler) ResourceShortCode

func (p PostgresAutoscaler) ResourceShortCode() string

func (PostgresAutoscaler) ResourceSingular

func (p PostgresAutoscaler) ResourceSingular() string

func (*PostgresAutoscaler) SetDefaults added in v0.29.0

func (in *PostgresAutoscaler) SetDefaults()

func (*PostgresAutoscaler) SetStatus added in v0.28.0

func (e *PostgresAutoscaler) SetStatus(s AutoscalerStatus)

func (*PostgresAutoscaler) SetupWebhookWithManager added in v0.29.0

func (in *PostgresAutoscaler) SetupWebhookWithManager(mgr manager.Manager) error

func (*PostgresAutoscaler) ValidateCreate added in v0.29.0

func (in *PostgresAutoscaler) ValidateCreate() error

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

func (PostgresAutoscaler) ValidateDelete added in v0.29.0

func (_ PostgresAutoscaler) ValidateDelete() error

func (*PostgresAutoscaler) ValidateFields added in v0.29.0

func (in *PostgresAutoscaler) ValidateFields() error

func (PostgresAutoscaler) ValidateSpecs

func (p PostgresAutoscaler) ValidateSpecs() error

func (*PostgresAutoscaler) ValidateUpdate added in v0.29.0

func (in *PostgresAutoscaler) ValidateUpdate(old runtime.Object) error

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

type PostgresAutoscalerList

type PostgresAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is the list of horizontal pod autoscaler objects.
	Items []PostgresAutoscaler `json:"items"`
}

PostgresAutoscalerList is a list of horizontal pod autoscaler objects.

func (*PostgresAutoscalerList) DeepCopy

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

func (*PostgresAutoscalerList) DeepCopyInto

func (in *PostgresAutoscalerList) DeepCopyInto(out *PostgresAutoscalerList)

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

func (*PostgresAutoscalerList) DeepCopyObject

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

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

type PostgresAutoscalerSpec

type PostgresAutoscalerSpec struct {
	DatabaseRef *core.LocalObjectReference `json:"databaseRef"`

	// This field will be used to control the behaviour of ops-manager
	OpsRequestOptions *PostgresOpsRequestOptions `json:"opsRequestOptions,omitempty"`

	Compute *PostgresComputeAutoscalerSpec `json:"compute,omitempty"`
	Storage *PostgresStorageAutoscalerSpec `json:"storage,omitempty"`
}

PostgresAutoscalerSpec describes the desired functionality of the PostgresAutoscaler.

func (*PostgresAutoscalerSpec) DeepCopy

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

func (*PostgresAutoscalerSpec) DeepCopyInto

func (in *PostgresAutoscalerSpec) DeepCopyInto(out *PostgresAutoscalerSpec)

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

type PostgresComputeAutoscalerSpec added in v0.29.0

type PostgresComputeAutoscalerSpec struct {
	Postgres *ComputeAutoscalerSpec `json:"postgres,omitempty"`
}

func (*PostgresComputeAutoscalerSpec) DeepCopy added in v0.29.0

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

func (*PostgresComputeAutoscalerSpec) DeepCopyInto added in v0.29.0

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

type PostgresOpsRequestOptions added in v0.29.0

type PostgresOpsRequestOptions struct {
	// Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure.
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// ApplyOption is to control the execution of OpsRequest depending on the database state.
	// +kubebuilder:default="IfReady"
	Apply opsapi.ApplyOption `json:"apply,omitempty"`
}

func (*PostgresOpsRequestOptions) DeepCopy added in v0.29.0

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

func (*PostgresOpsRequestOptions) DeepCopyInto added in v0.29.0

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

type PostgresStorageAutoscalerSpec added in v0.29.0

type PostgresStorageAutoscalerSpec struct {
	Postgres *StorageAutoscalerSpec `json:"postgres,omitempty"`
}

func (*PostgresStorageAutoscalerSpec) DeepCopy added in v0.29.0

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

func (*PostgresStorageAutoscalerSpec) DeepCopyInto added in v0.29.0

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

type ProxySQLAutoscaler

type ProxySQLAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the specification for the behaviour of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
	// +optional
	Spec ProxySQLAutoscalerSpec `json:"spec,omitempty"`

	// status is the current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=proxysqlautoscalers,singular=proxysqlautoscaler,shortName=pxscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (ProxySQLAutoscaler) CustomResourceDefinition

func (_ ProxySQLAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*ProxySQLAutoscaler) DeepCopy

func (in *ProxySQLAutoscaler) DeepCopy() *ProxySQLAutoscaler

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

func (*ProxySQLAutoscaler) DeepCopyInto

func (in *ProxySQLAutoscaler) DeepCopyInto(out *ProxySQLAutoscaler)

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

func (*ProxySQLAutoscaler) DeepCopyObject

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

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

func (*ProxySQLAutoscaler) GetStatus added in v0.28.0

func (e *ProxySQLAutoscaler) GetStatus() AutoscalerStatus

func (ProxySQLAutoscaler) ResourceFQN added in v0.16.0

func (p ProxySQLAutoscaler) ResourceFQN() string

func (ProxySQLAutoscaler) ResourceKind

func (p ProxySQLAutoscaler) ResourceKind() string

func (ProxySQLAutoscaler) ResourcePlural

func (p ProxySQLAutoscaler) ResourcePlural() string

func (ProxySQLAutoscaler) ResourceShortCode

func (p ProxySQLAutoscaler) ResourceShortCode() string

func (ProxySQLAutoscaler) ResourceSingular

func (p ProxySQLAutoscaler) ResourceSingular() string

func (*ProxySQLAutoscaler) SetStatus added in v0.28.0

func (e *ProxySQLAutoscaler) SetStatus(s AutoscalerStatus)

type ProxySQLAutoscalerBehavior

type ProxySQLAutoscalerBehavior struct {
	// scaleUp is scaling policy for scaling Up.
	// If not set, the default value is the higher of:
	//   * increase no more than 4 pods per 60 seconds
	//   * double the number of pods per 60 seconds
	// No stabilization is used.
	// +optional
	ScaleUp *ProxySQLScalingRules `json:"scaleUp,omitempty"`
	// scaleDown is scaling policy for scaling Down.
	// If not set, the default value is to allow to scale down to minReplicas pods, with a
	// 300 second stabilization window (i.e., the highest recommendation for
	// the last 300sec is used).
	// +optional
	ScaleDown *ProxySQLScalingRules `json:"scaleDown,omitempty"`
}

ProxySQLAutoscalerBehavior configures the scaling behavior of the target in both Up and Down directions (scaleUp and scaleDown fields respectively).

func (*ProxySQLAutoscalerBehavior) DeepCopy

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

func (*ProxySQLAutoscalerBehavior) DeepCopyInto

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

type ProxySQLAutoscalerList

type ProxySQLAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is the list of horizontal pod autoscaler objects.
	Items []ProxySQLAutoscaler `json:"items"`
}

ProxySQLAutoscalerList is a list of horizontal pod autoscaler objects.

func (*ProxySQLAutoscalerList) DeepCopy

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

func (*ProxySQLAutoscalerList) DeepCopyInto

func (in *ProxySQLAutoscalerList) DeepCopyInto(out *ProxySQLAutoscalerList)

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

func (*ProxySQLAutoscalerList) DeepCopyObject

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

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

type ProxySQLAutoscalerSpec

type ProxySQLAutoscalerSpec struct {
	// scaleTargetRef points to the target resource to scale, and is used to the pods for which metrics
	// should be collected, as well as to actually change the replica count.
	ScaleTargetRef core.LocalObjectReference `json:"scaleTargetRef"`
	// minReplicas is the lower limit for the number of replicas to which the autoscaler
	// can scale down.  It defaults to 1 pod.  minReplicas is allowed to be 0 if the
	// alpha feature gate HPAScaleToZero is enabled and at least one Object or External
	// metric is configured.  Scaling is active as long as at least one metric value is
	// available.
	// +optional
	MinReplicas *int32 `json:"minReplicas,omitempty"`
	// maxReplicas is the upper limit for the number of replicas to which the autoscaler can scale up.
	// It cannot be less that minReplicas.
	MaxReplicas int32 `json:"maxReplicas"`
	// metrics contains the specifications for which to use to calculate the
	// desired replica count (the maximum replica count across all metrics will
	// be used).  The desired replica count is calculated multiplying the
	// ratio between the target value and the current value by the current
	// number of pods.  Ergo, metrics used must decrease as the pod count is
	// increased, and vice-versa.  See the individual metric source types for
	// more information about how each type of metric must respond.
	// If not set, the default metric will be set to 80% average CPU utilization.
	// +optional
	Metrics []v2beta2.MetricSpec `json:"metrics,omitempty"`

	// behavior configures the scaling behavior of the target
	// in both Up and Down directions (scaleUp and scaleDown fields respectively).
	// If not set, the default ProxySQLScalingRules for scale up and scale down are used.
	// +optional
	Behavior *ProxySQLAutoscalerBehavior `json:"behavior,omitempty"`
}

ProxySQLAutoscalerSpec describes the desired functionality of the ProxySQLAutoscaler.

func (*ProxySQLAutoscalerSpec) DeepCopy

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

func (*ProxySQLAutoscalerSpec) DeepCopyInto

func (in *ProxySQLAutoscalerSpec) DeepCopyInto(out *ProxySQLAutoscalerSpec)

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

type ProxySQLScalingPolicy

type ProxySQLScalingPolicy struct {
	// Type is used to specify the scaling policy.
	Type v2beta2.HPAScalingPolicyType `json:"type"`
	// Value contains the amount of change which is permitted by the policy.
	// It must be greater than zero
	Value int32 `json:"value"`
	// PeriodSeconds specifies the window of time for which the policy should hold true.
	// PeriodSeconds must be greater than zero and less than or equal to 1800 (30 min).
	PeriodSeconds int32 `json:"periodSeconds"`
}

ProxySQLScalingPolicy is a single policy which must hold true for a specified past interval.

func (*ProxySQLScalingPolicy) DeepCopy

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

func (*ProxySQLScalingPolicy) DeepCopyInto

func (in *ProxySQLScalingPolicy) DeepCopyInto(out *ProxySQLScalingPolicy)

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

type ProxySQLScalingRules

type ProxySQLScalingRules struct {
	// StabilizationWindowSeconds is the number of seconds for which past recommendations should be
	// considered while scaling up or scaling down.
	// StabilizationWindowSeconds must be greater than or equal to zero and less than or equal to 3600 (one hour).
	// If not set, use the default values:
	// - For scale up: 0 (i.e. no stabilization is done).
	// - For scale down: 300 (i.e. the stabilization window is 300 seconds long).
	// +optional
	StabilizationWindowSeconds *int32 `json:"stabilizationWindowSeconds"`
	// selectPolicy is used to specify which policy should be used.
	// If not set, the default value MaxPolicySelect is used.
	// +optional
	SelectPolicy *v2beta2.ScalingPolicySelect `json:"selectPolicy,omitempty"`
	// policies is a list of potential scaling polices which can be used during scaling.
	// At least one policy must be specified, otherwise the ProxySQLScalingRules will be discarded as invalid
	// +optional
	Policies []ProxySQLScalingPolicy `json:"policies,omitempty"`
}

ProxySQLScalingRules configures the scaling behavior for one direction. These Rules are applied after calculating DesiredReplicas from metrics for the HPA. They can limit the scaling velocity by specifying scaling policies. They can prevent flapping by specifying the stabilization window, so that the number of replicas is not set instantly, instead, the safest value from the stabilization window is chosen.

func (*ProxySQLScalingRules) DeepCopy

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

func (*ProxySQLScalingRules) DeepCopyInto

func (in *ProxySQLScalingRules) DeepCopyInto(out *ProxySQLScalingRules)

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

type RecommendedContainerResources

type RecommendedContainerResources struct {
	// Name of the container.
	ContainerName string `json:"containerName,omitempty" `
	// Recommended amount of resources. Observes ContainerResourcePolicy.
	Target v1.ResourceList `json:"target" `
	// Minimum recommended amount of resources. Observes ContainerResourcePolicy.
	// This amount is not guaranteed to be sufficient for the application to operate in a stable way, however
	// running with less resources is likely to have significant impact on performance/availability.
	// +optional
	LowerBound v1.ResourceList `json:"lowerBound,omitempty"`
	// Maximum recommended amount of resources. Observes ContainerResourcePolicy.
	// Any resources allocated beyond this value are likely wasted. This value may be larger than the maximum
	// amount of application is actually capable of consuming.
	// +optional
	UpperBound v1.ResourceList `json:"upperBound,omitempty"`
	// The most recent recommended resources target computed by the autopilot
	// for the controlled pods, based only on actual resource usage, not taking
	// into account the ContainerResourcePolicy.
	// May differ from the Recommendation if the actual resource usage causes
	// the target to violate the ContainerResourcePolicy (lower than MinAllowed
	// or higher that MaxAllowed).
	// Used only as status indication, will not affect actual resource assignment.
	// +optional
	UncappedTarget v1.ResourceList `json:"uncappedTarget,omitempty"`
}

RecommendedContainerResources is the recommendation of resources computed by autopilot for a specific container. Respects the container resource policy if present in the spec. In particular the recommendation is not produced for containers with `ContainerScalingMode` set to 'Off'.

func (*RecommendedContainerResources) DeepCopy

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

func (*RecommendedContainerResources) DeepCopyInto

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

type RecommendedPodResources

type RecommendedPodResources struct {
	// Resources recommended by the autopilot for each container.
	// +optional
	ContainerRecommendations []RecommendedContainerResources `json:"containerRecommendations,omitempty"`
}

RecommendedPodResources is the recommendation of resources computed by autopilot. It contains a recommendation for each container in the pod (except for those with `ContainerScalingMode` set to 'Off').

func (*RecommendedPodResources) DeepCopy

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

func (*RecommendedPodResources) DeepCopyInto

func (in *RecommendedPodResources) DeepCopyInto(out *RecommendedPodResources)

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

type RedisAutoscaler

type RedisAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the specification for the behaviour of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
	// +optional
	Spec RedisAutoscalerSpec `json:"spec,omitempty"`

	// status is the current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=redisautoscalers,singular=redisautoscaler,shortName=rdscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (RedisAutoscaler) CustomResourceDefinition

func (_ RedisAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*RedisAutoscaler) DeepCopy

func (in *RedisAutoscaler) DeepCopy() *RedisAutoscaler

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

func (*RedisAutoscaler) DeepCopyInto

func (in *RedisAutoscaler) DeepCopyInto(out *RedisAutoscaler)

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

func (*RedisAutoscaler) DeepCopyObject

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

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

func (*RedisAutoscaler) Default added in v0.29.0

func (in *RedisAutoscaler) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*RedisAutoscaler) GetStatus added in v0.28.0

func (e *RedisAutoscaler) GetStatus() AutoscalerStatus

func (RedisAutoscaler) ResourceFQN added in v0.16.0

func (r RedisAutoscaler) ResourceFQN() string

func (RedisAutoscaler) ResourceKind

func (r RedisAutoscaler) ResourceKind() string

func (RedisAutoscaler) ResourcePlural

func (r RedisAutoscaler) ResourcePlural() string

func (RedisAutoscaler) ResourceShortCode

func (r RedisAutoscaler) ResourceShortCode() string

func (RedisAutoscaler) ResourceSingular

func (r RedisAutoscaler) ResourceSingular() string

func (*RedisAutoscaler) SetDefaults added in v0.29.0

func (in *RedisAutoscaler) SetDefaults()

func (*RedisAutoscaler) SetStatus added in v0.28.0

func (e *RedisAutoscaler) SetStatus(s AutoscalerStatus)

func (*RedisAutoscaler) SetupWebhookWithManager added in v0.29.0

func (in *RedisAutoscaler) SetupWebhookWithManager(mgr manager.Manager) error

func (*RedisAutoscaler) ValidateCreate added in v0.29.0

func (in *RedisAutoscaler) ValidateCreate() error

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

func (RedisAutoscaler) ValidateDelete added in v0.29.0

func (_ RedisAutoscaler) ValidateDelete() error

func (*RedisAutoscaler) ValidateFields added in v0.29.0

func (in *RedisAutoscaler) ValidateFields(rd *dbapi.Redis) error

func (RedisAutoscaler) ValidateSpecs

func (r RedisAutoscaler) ValidateSpecs() error

func (*RedisAutoscaler) ValidateUpdate added in v0.29.0

func (in *RedisAutoscaler) ValidateUpdate(old runtime.Object) error

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

type RedisAutoscalerList

type RedisAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is the list of horizontal pod autoscaler objects.
	Items []RedisAutoscaler `json:"items"`
}

RedisAutoscalerList is a list of horizontal pod autoscaler objects.

func (*RedisAutoscalerList) DeepCopy

func (in *RedisAutoscalerList) DeepCopy() *RedisAutoscalerList

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

func (*RedisAutoscalerList) DeepCopyInto

func (in *RedisAutoscalerList) DeepCopyInto(out *RedisAutoscalerList)

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

func (*RedisAutoscalerList) DeepCopyObject

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

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

type RedisAutoscalerSpec

type RedisAutoscalerSpec struct {
	DatabaseRef *core.LocalObjectReference `json:"databaseRef"`

	// This field will be used to control the behaviour of ops-manager
	OpsRequestOptions *RedisOpsRequestOptions `json:"opsRequestOptions,omitempty"`

	Compute *RedisComputeAutoscalerSpec `json:"compute,omitempty"`
	Storage *RedisStorageAutoscalerSpec `json:"storage,omitempty"`
}

RedisAutoscalerSpec is the specification of the behavior of the autoscaler.

func (*RedisAutoscalerSpec) DeepCopy

func (in *RedisAutoscalerSpec) DeepCopy() *RedisAutoscalerSpec

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

func (*RedisAutoscalerSpec) DeepCopyInto

func (in *RedisAutoscalerSpec) DeepCopyInto(out *RedisAutoscalerSpec)

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

type RedisComputeAutoscalerSpec added in v0.29.0

type RedisComputeAutoscalerSpec struct {
	Standalone *ComputeAutoscalerSpec `json:"standalone,omitempty"`
	Cluster    *ComputeAutoscalerSpec `json:"cluster,omitempty"`
	Sentinel   *ComputeAutoscalerSpec `json:"sentinel,omitempty"`
}

func (*RedisComputeAutoscalerSpec) DeepCopy added in v0.29.0

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

func (*RedisComputeAutoscalerSpec) DeepCopyInto added in v0.29.0

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

type RedisOpsRequestOptions added in v0.29.0

type RedisOpsRequestOptions struct {
	// Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure.
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// ApplyOption is to control the execution of OpsRequest depending on the database state.
	// +kubebuilder:default="IfReady"
	Apply opsapi.ApplyOption `json:"apply,omitempty"`
}

func (*RedisOpsRequestOptions) DeepCopy added in v0.29.0

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

func (*RedisOpsRequestOptions) DeepCopyInto added in v0.29.0

func (in *RedisOpsRequestOptions) DeepCopyInto(out *RedisOpsRequestOptions)

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

type RedisSentinelAutoscaler added in v0.29.0

type RedisSentinelAutoscaler struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard object metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	// +optional
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// spec is the specification for the behaviour of the autoscaler.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status.
	// +optional
	Spec RedisSentinelAutoscalerSpec `json:"spec,omitempty"`

	// status is the current information about the autoscaler.
	// +optional
	Status AutoscalerStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:resource:path=redissentinelautoscalers,singular=redissentinelautoscaler,shortName=rdsscaler,categories={datastore,kubedb,appscode} +kubebuilder:subresource:status

func (RedisSentinelAutoscaler) CustomResourceDefinition added in v0.29.0

func (_ RedisSentinelAutoscaler) CustomResourceDefinition() *apiextensions.CustomResourceDefinition

func (*RedisSentinelAutoscaler) DeepCopy added in v0.29.0

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

func (*RedisSentinelAutoscaler) DeepCopyInto added in v0.29.0

func (in *RedisSentinelAutoscaler) DeepCopyInto(out *RedisSentinelAutoscaler)

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

func (*RedisSentinelAutoscaler) DeepCopyObject added in v0.29.0

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

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

func (*RedisSentinelAutoscaler) Default added in v0.29.0

func (in *RedisSentinelAutoscaler) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*RedisSentinelAutoscaler) GetStatus added in v0.29.0

func (RedisSentinelAutoscaler) ResourceFQN added in v0.29.0

func (r RedisSentinelAutoscaler) ResourceFQN() string

func (RedisSentinelAutoscaler) ResourceKind added in v0.29.0

func (r RedisSentinelAutoscaler) ResourceKind() string

func (RedisSentinelAutoscaler) ResourcePlural added in v0.29.0

func (r RedisSentinelAutoscaler) ResourcePlural() string

func (RedisSentinelAutoscaler) ResourceShortCode added in v0.29.0

func (r RedisSentinelAutoscaler) ResourceShortCode() string

func (RedisSentinelAutoscaler) ResourceSingular added in v0.29.0

func (r RedisSentinelAutoscaler) ResourceSingular() string

func (*RedisSentinelAutoscaler) SetDefaults added in v0.29.0

func (in *RedisSentinelAutoscaler) SetDefaults()

func (*RedisSentinelAutoscaler) SetStatus added in v0.29.0

func (e *RedisSentinelAutoscaler) SetStatus(s AutoscalerStatus)

func (*RedisSentinelAutoscaler) SetupWebhookWithManager added in v0.29.0

func (in *RedisSentinelAutoscaler) SetupWebhookWithManager(mgr manager.Manager) error

func (*RedisSentinelAutoscaler) ValidateCreate added in v0.29.0

func (in *RedisSentinelAutoscaler) ValidateCreate() error

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

func (RedisSentinelAutoscaler) ValidateDelete added in v0.29.0

func (_ RedisSentinelAutoscaler) ValidateDelete() error

func (*RedisSentinelAutoscaler) ValidateFields added in v0.29.0

func (in *RedisSentinelAutoscaler) ValidateFields() error

func (RedisSentinelAutoscaler) ValidateSpecs added in v0.29.0

func (r RedisSentinelAutoscaler) ValidateSpecs() error

func (*RedisSentinelAutoscaler) ValidateUpdate added in v0.29.0

func (in *RedisSentinelAutoscaler) ValidateUpdate(old runtime.Object) error

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

type RedisSentinelAutoscalerList added in v0.29.0

type RedisSentinelAutoscalerList struct {
	metav1.TypeMeta `json:",inline"`
	// metadata is the standard list metadata.
	// +optional
	metav1.ListMeta `json:"metadata,omitempty"`

	// items is the list of horizontal pod autoscaler objects.
	Items []RedisSentinelAutoscaler `json:"items"`
}

RedisSentinelAutoscalerList is a list of horizontal pod autoscaler objects.

func (*RedisSentinelAutoscalerList) DeepCopy added in v0.29.0

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

func (*RedisSentinelAutoscalerList) DeepCopyInto added in v0.29.0

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

func (*RedisSentinelAutoscalerList) DeepCopyObject added in v0.29.0

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

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

type RedisSentinelAutoscalerSpec added in v0.29.0

type RedisSentinelAutoscalerSpec struct {
	DatabaseRef *core.LocalObjectReference `json:"databaseRef"`

	// This field will be used to control the behaviour of ops-manager
	OpsRequestOptions *RedisSentinelOpsRequestOptions `json:"opsRequestOptions,omitempty"`

	Compute *RedisSentinelComputeAutoscalerSpec `json:"compute,omitempty"`
}

RedisSentinelAutoscalerSpec is the specification of the behavior of the autoscaler.

func (*RedisSentinelAutoscalerSpec) DeepCopy added in v0.29.0

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

func (*RedisSentinelAutoscalerSpec) DeepCopyInto added in v0.29.0

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

type RedisSentinelComputeAutoscalerSpec added in v0.29.0

type RedisSentinelComputeAutoscalerSpec struct {
	Sentinel *ComputeAutoscalerSpec `json:"sentinel,omitempty"`
}

func (*RedisSentinelComputeAutoscalerSpec) DeepCopy added in v0.29.0

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

func (*RedisSentinelComputeAutoscalerSpec) DeepCopyInto added in v0.29.0

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

type RedisSentinelOpsRequestOptions added in v0.29.0

type RedisSentinelOpsRequestOptions struct {
	// Timeout for each step of the ops request in second. If a step doesn't finish within the specified timeout, the ops request will result in failure.
	Timeout *metav1.Duration `json:"timeout,omitempty"`

	// ApplyOption is to control the execution of OpsRequest depending on the database state.
	// +kubebuilder:default="IfReady"
	Apply opsapi.ApplyOption `json:"apply,omitempty"`
}

func (*RedisSentinelOpsRequestOptions) DeepCopy added in v0.29.0

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

func (*RedisSentinelOpsRequestOptions) DeepCopyInto added in v0.29.0

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

type RedisStorageAutoscalerSpec added in v0.29.0

type RedisStorageAutoscalerSpec struct {
	Standalone *StorageAutoscalerSpec `json:"standalone,omitempty"`
	Cluster    *StorageAutoscalerSpec `json:"cluster,omitempty"`
	Sentinel   *StorageAutoscalerSpec `json:"sentinel,omitempty"`
}

func (*RedisStorageAutoscalerSpec) DeepCopy added in v0.29.0

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

func (*RedisStorageAutoscalerSpec) DeepCopyInto added in v0.29.0

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

type StatusAccessor added in v0.28.0

type StatusAccessor interface {
	GetStatus() AutoscalerStatus
	SetStatus(_ AutoscalerStatus)
}

type StorageAutoscalerSpec added in v0.16.0

type StorageAutoscalerSpec struct {
	// Whether storage autoscaler is enabled. The default is Off".
	Trigger AutoscalerTrigger `json:"trigger,omitempty"`

	// If PVC usage percentage is less than the UsageThreshold,
	// we don't need to scale it. The Default is 80%
	UsageThreshold int32 `json:"usageThreshold,omitempty"`

	// If PVC usage percentage >= UsageThreshold,
	// we need to scale that by ScalingThreshold percentage. The Default is 50%
	ScalingThreshold int32 `json:"scalingThreshold,omitempty"`

	// ExpansionMode can be `Online` or `Offline`
	// Default VolumeExpansionMode is `Online`
	ExpansionMode *opsapi.VolumeExpansionMode `json:"expansionMode,omitempty"`
}

func (*StorageAutoscalerSpec) DeepCopy added in v0.16.0

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

func (*StorageAutoscalerSpec) DeepCopyInto added in v0.16.0

func (in *StorageAutoscalerSpec) DeepCopyInto(out *StorageAutoscalerSpec)

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

type UpdateMode

type UpdateMode string

UpdateMode controls when autopilot applies changes to the pod resoures. +kubebuilder:validation:Enum=Off;Initial;Recreate;Auto

const (
	// UpdateModeOff means that autopilot never changes Pod resources.
	// The recommender still sets the recommended resources in the
	// VerticalPodAutopilot object. This can be used for a "dry run".
	UpdateModeOff UpdateMode = "Off"
	// UpdateModeInitial means that autopilot only assigns resources on pod
	// creation and does not change them during the lifetime of the pod.
	UpdateModeInitial UpdateMode = "Initial"
	// UpdateModeRecreate means that autopilot assigns resources on pod
	// creation and additionally can update them during the lifetime of the
	// pod by deleting and recreating the pod.
	UpdateModeRecreate UpdateMode = "Recreate"
	// UpdateModeAuto means that autopilot assigns resources on pod creation
	// and additionally can update them during the lifetime of the pod,
	// using any available update method. Currently this is equivalent to
	// Recreate, which is the only available update method.
	UpdateModeAuto UpdateMode = "Auto"
)

type VPAStatus added in v0.28.0

type VPAStatus struct {
	// The name of the VerticalPodAutoscaler.
	// This field will help us to get the corresponding vpa.
	VPAName string `json:"vpaName,omitempty"`

	// The most recently computed amount of resources recommended by the
	// autopilot for the controlled pods.
	// +optional
	Recommendation *RecommendedPodResources `json:"recommendation,omitempty"`

	// Conditions is the set of conditions required for this autopilot to scale its target,
	// and indicates whether or not those conditions are met.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	Conditions []VerticalPodAutopilotCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

VPAStatus describes the runtime state of the autopilot.

func (*VPAStatus) DeepCopy added in v0.28.0

func (in *VPAStatus) DeepCopy() *VPAStatus

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

func (*VPAStatus) DeepCopyInto added in v0.28.0

func (in *VPAStatus) DeepCopyInto(out *VPAStatus)

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

type VerticalPodAutopilotCondition added in v0.28.0

type VerticalPodAutopilotCondition struct {
	// type describes the current condition
	Type VerticalPodAutopilotConditionType `json:"type" `
	// status is the status of the condition (True, False, Unknown)
	Status v1.ConditionStatus `json:"status"`
	// lastTransitionTime is the last time the condition transitioned from
	// one status to another
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`
	// reason is the reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`
	// message is a human-readable explanation containing details about
	// the transition
	// +optional
	Message string `json:"message,omitempty"`
}

VerticalPodAutopilotCondition describes the state of a VerticalPodAutopilot at a certain point.

func (*VerticalPodAutopilotCondition) DeepCopy added in v0.28.0

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

func (*VerticalPodAutopilotCondition) DeepCopyInto added in v0.28.0

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

type VerticalPodAutopilotConditionType added in v0.28.0

type VerticalPodAutopilotConditionType string

VerticalPodAutopilotConditionType are the valid conditions of a VerticalPodAutopilot.

var (
	// RecommendationProvided indicates whether the VPA recommender was able to calculate a recommendation.
	RecommendationProvided VerticalPodAutopilotConditionType = "RecommendationProvided"
	// LowConfidence indicates whether the VPA recommender has low confidence in the recommendation for
	// some of containers.
	LowConfidence VerticalPodAutopilotConditionType = "LowConfidence"
	// NoPodsMatched indicates that label selector used with VPA object didn't match any pods.
	NoPodsMatched VerticalPodAutopilotConditionType = "NoPodsMatched"
	// FetchingHistory indicates that VPA recommender is in the process of loading additional history samples.
	FetchingHistory VerticalPodAutopilotConditionType = "FetchingHistory"
	// ConfigDeprecated indicates that this VPA configuration is deprecated
	// and will stop being supported soon.
	ConfigDeprecated VerticalPodAutopilotConditionType = "ConfigDeprecated"
	// ConfigUnsupported indicates that this VPA configuration is unsupported
	// and recommendations will not be provided for it.
	ConfigUnsupported VerticalPodAutopilotConditionType = "ConfigUnsupported"
)

type VerticalPodAutopilotRecommenderSelector added in v0.28.0

type VerticalPodAutopilotRecommenderSelector struct {
	// Name of the recommender responsible for generating recommendation for this object.
	Name string `json:"name"`
}

VerticalPodAutopilotRecommenderSelector points to a specific Vertical Pod autopilot recommender. In the future it might pass parameters to the recommender.

func (*VerticalPodAutopilotRecommenderSelector) DeepCopy added in v0.28.0

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

func (*VerticalPodAutopilotRecommenderSelector) DeepCopyInto added in v0.28.0

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