Documentation
¶
Index ¶
- Constants
- type AgentContainerName
- type DatadogPodAutoscalerCondition
- type DatadogPodAutoscalerConditionType
- type DatadogPodAutoscalerConstraints
- type DatadogPodAutoscalerContainerConstraints
- type DatadogPodAutoscalerContainerResourceConstraints
- type DatadogPodAutoscalerContainerResourceObjective
- type DatadogPodAutoscalerContainerResources
- type DatadogPodAutoscalerHorizontalAction
- type DatadogPodAutoscalerHorizontalStatus
- type DatadogPodAutoscalerHorizontalTargetStatus
- type DatadogPodAutoscalerObjective
- type DatadogPodAutoscalerObjectiveType
- type DatadogPodAutoscalerObjectiveValue
- type DatadogPodAutoscalerObjectiveValueType
- type DatadogPodAutoscalerOwner
- type DatadogPodAutoscalerPodResourceObjective
- type DatadogPodAutoscalerScalingPolicy
- type DatadogPodAutoscalerScalingRule
- type DatadogPodAutoscalerScalingRuleType
- type DatadogPodAutoscalerScalingStrategySelect
- type DatadogPodAutoscalerStatus
- type DatadogPodAutoscalerUpdatePolicy
- type DatadogPodAutoscalerUpdateStrategy
- type DatadogPodAutoscalerValueSource
- type DatadogPodAutoscalerVerticalAction
- type DatadogPodAutoscalerVerticalActionType
- type DatadogPodAutoscalerVerticalStatus
- type DatadogPodAutoscalerVerticalTargetStatus
- type RollingUpdate
- type UpdateStrategy
Constants ¶
const ( // AgentDeploymentNameLabelKey label key use to link a Resource to a DatadogAgent AgentDeploymentNameLabelKey = "agent.datadoghq.com/name" // AgentDeploymentComponentLabelKey label key use to know with component is it AgentDeploymentComponentLabelKey = "agent.datadoghq.com/component" )
// Labels
const (
CreateStrategyEnabled = "DD_DAP_CREATE_STRATEGY_ENABLED"
)
DatadogAgentProfile env var names
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentContainerName ¶
type AgentContainerName string
AgentContainerName is the name of a container inside an Agent component
const ( // InitVolumeContainerName is the name of the Init Volume init container InitVolumeContainerName AgentContainerName = "init-volume" // InitConfigContainerName is the name of the Init config Volume init container InitConfigContainerName AgentContainerName = "init-config" // SeccompSetupContainerName is the name of the Seccomp Setup init container SeccompSetupContainerName AgentContainerName = "seccomp-setup" // UnprivilegedSingleAgentContainerName is the name of a container which may run // any combination of Core, Trace and Process Agent processes in a single container. UnprivilegedSingleAgentContainerName AgentContainerName = "unprivileged-single-agent" // CoreAgentContainerName is the name of the Core Agent container CoreAgentContainerName AgentContainerName = "agent" // TraceAgentContainerName is the name of the Trace Agent container TraceAgentContainerName AgentContainerName = "trace-agent" // ProcessAgentContainerName is the name of the Process Agent container ProcessAgentContainerName AgentContainerName = "process-agent" // SecurityAgentContainerName is the name of the Security Agent container SecurityAgentContainerName AgentContainerName = "security-agent" // SystemProbeContainerName is the name of the System Probe container SystemProbeContainerName AgentContainerName = "system-probe" // OtelAgent is the name of the OTel container OtelAgent AgentContainerName = "otel-agent" // AgentDataPlaneContainerName is the name of the Agent Data Plane container AgentDataPlaneContainerName AgentContainerName = "agent-data-plane" // AllContainers is used internally to reference all containers in the pod AllContainers AgentContainerName = "all" // ClusterAgentContainerName is the name of the Cluster Agent container ClusterAgentContainerName AgentContainerName = "cluster-agent" // ClusterChecksRunnersContainerName is the name of the Agent container in Cluster Checks Runners ClusterChecksRunnersContainerName AgentContainerName = "agent" // FIPSProxyContainerName is the name of the FIPS Proxy container FIPSProxyContainerName AgentContainerName = "fips-proxy" )
type DatadogPodAutoscalerCondition ¶
type DatadogPodAutoscalerCondition struct { // DatadogPodAutoscalerConditionType is the type of DatadogPodAutoscaler condition. Type DatadogPodAutoscalerConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // The reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // A human readable message indicating details about the transition. // +optional Message string `json:"message,omitempty"` }
DatadogPodAutoscalerCondition describes the state of DatadogPodAutoscaler. +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerCondition) DeepCopy ¶
func (in *DatadogPodAutoscalerCondition) DeepCopy() *DatadogPodAutoscalerCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerCondition.
func (*DatadogPodAutoscalerCondition) DeepCopyInto ¶
func (in *DatadogPodAutoscalerCondition) DeepCopyInto(out *DatadogPodAutoscalerCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerConditionType ¶
type DatadogPodAutoscalerConditionType string
DatadogPodAutoscalerConditionType is the type used to represent a DatadogPodAutoscaler condition
const ( // DatadogPodAutoscalerErrorCondition is true when a global error is encountered processing this DatadogPodAutoscaler. DatadogPodAutoscalerErrorCondition DatadogPodAutoscalerConditionType = "Error" // DatadogPodAutoscalerActiveCondition is true when the DatadogPodAutoscaler can be used for autoscaling. DatadogPodAutoscalerActiveCondition DatadogPodAutoscalerConditionType = "Active" // DatadogPodAutoscalerHorizontalAbleToRecommendCondition is true when a horizontal recommendation can be received from Datadog. DatadogPodAutoscalerHorizontalAbleToRecommendCondition DatadogPodAutoscalerConditionType = "HorizontalAbleToRecommend" // DatadogPodAutoscalerHorizontalAbleToScaleCondition is true when horizontal scaling is working correctly. DatadogPodAutoscalerHorizontalAbleToScaleCondition DatadogPodAutoscalerConditionType = "HorizontalAbleToScale" // DatadogPodAutoscalerHorizontalScalingLimitedCondition is true when horizontal scaling is limited by constraints. DatadogPodAutoscalerHorizontalScalingLimitedCondition DatadogPodAutoscalerConditionType = "HorizontalScalingLimited" // DatadogPodAutoscalerVerticalAbleToRecommendCondition is true when a vertical recommendation can be received from Datadog. DatadogPodAutoscalerVerticalAbleToRecommendCondition DatadogPodAutoscalerConditionType = "VerticalAbleToRecommend" // DatadogPodAutoscalerVerticalAbleToApply is true when the targetRef can be rolled out to pick up new resources. DatadogPodAutoscalerVerticalAbleToApply DatadogPodAutoscalerConditionType = "VerticalAbleToApply" )
type DatadogPodAutoscalerConstraints ¶
type DatadogPodAutoscalerConstraints struct { // MinReplicas is the lower limit for the number of pod replicas. Needs to be >= 1. Defaults to 1. // +kubebuilder:validation:Minimum=1 MinReplicas *int32 `json:"minReplicas,omitempty"` // MaxReplicas is the upper limit for the number of POD replicas. Needs to be >= minReplicas. MaxReplicas int32 `json:"maxReplicas"` // Containers defines constraints for the containers. Containers []DatadogPodAutoscalerContainerConstraints `json:"containers,omitempty"` }
DatadogPodAutoscalerConstraints defines constraints that should always be respected. +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerConstraints) DeepCopy ¶
func (in *DatadogPodAutoscalerConstraints) DeepCopy() *DatadogPodAutoscalerConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerConstraints.
func (*DatadogPodAutoscalerConstraints) DeepCopyInto ¶
func (in *DatadogPodAutoscalerConstraints) DeepCopyInto(out *DatadogPodAutoscalerConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerContainerConstraints ¶
type DatadogPodAutoscalerContainerConstraints struct { // Name is the name of the container. Can be "*" to apply to all containers. Name string `json:"name"` // Enabled, if false, allows one to disable resource autoscaling for the container. Defaults to true. Enabled *bool `json:"enabled,omitempty"` // Requests defines the constraints for the requests of the container. Requests *DatadogPodAutoscalerContainerResourceConstraints `json:"requests,omitempty"` }
DatadogPodAutoscalerContainerConstraints defines constraints that should always be respected for a container. If no constraints are set, it enables resource scaling for all containers without any constraints. +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerContainerConstraints) DeepCopy ¶
func (in *DatadogPodAutoscalerContainerConstraints) DeepCopy() *DatadogPodAutoscalerContainerConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerContainerConstraints.
func (*DatadogPodAutoscalerContainerConstraints) DeepCopyInto ¶
func (in *DatadogPodAutoscalerContainerConstraints) DeepCopyInto(out *DatadogPodAutoscalerContainerConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerContainerResourceConstraints ¶
type DatadogPodAutoscalerContainerResourceConstraints struct { // MinAllowed is the lower limit for the requests of the container. // +optional MinAllowed corev1.ResourceList `json:"minAllowed,omitempty"` // MaxAllowed is the upper limit for the requests of the container. // +optional MaxAllowed corev1.ResourceList `json:"maxAllowed,omitempty"` }
DatadogPodAutoscalerContainerResourceConstraints defines constraints for the resources recommended for a container. +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerContainerResourceConstraints) DeepCopy ¶
func (in *DatadogPodAutoscalerContainerResourceConstraints) DeepCopy() *DatadogPodAutoscalerContainerResourceConstraints
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerContainerResourceConstraints.
func (*DatadogPodAutoscalerContainerResourceConstraints) DeepCopyInto ¶
func (in *DatadogPodAutoscalerContainerResourceConstraints) DeepCopyInto(out *DatadogPodAutoscalerContainerResourceConstraints)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerContainerResourceObjective ¶
type DatadogPodAutoscalerContainerResourceObjective struct { // Name is the name of the resource. // +kubebuilder:validation:Enum:=cpu Name corev1.ResourceName `json:"name"` // Value is the value of the objective Value DatadogPodAutoscalerObjectiveValue `json:"value"` // Container is the name of the container. Container string `json:"container"` }
DatadogPodAutoscalerContainerResourceObjective defines a container-level resource objective (for instance, CPU Utilization for container named "foo" at 80%) +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerContainerResourceObjective) DeepCopy ¶
func (in *DatadogPodAutoscalerContainerResourceObjective) DeepCopy() *DatadogPodAutoscalerContainerResourceObjective
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerContainerResourceObjective.
func (*DatadogPodAutoscalerContainerResourceObjective) DeepCopyInto ¶
func (in *DatadogPodAutoscalerContainerResourceObjective) DeepCopyInto(out *DatadogPodAutoscalerContainerResourceObjective)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerContainerResources ¶
type DatadogPodAutoscalerContainerResources struct { // Name is the name of the container Name string `json:"name"` // Limits describes the maximum amount of compute resources allowed. // +optional Limits corev1.ResourceList `json:"limits,omitempty"` // Requests describes the requested amount of compute resources. // +optional Requests corev1.ResourceList `json:"requests,omitempty"` }
+kubebuilder:object:generate=true
func (*DatadogPodAutoscalerContainerResources) DeepCopy ¶
func (in *DatadogPodAutoscalerContainerResources) DeepCopy() *DatadogPodAutoscalerContainerResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerContainerResources.
func (*DatadogPodAutoscalerContainerResources) DeepCopyInto ¶
func (in *DatadogPodAutoscalerContainerResources) DeepCopyInto(out *DatadogPodAutoscalerContainerResources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerHorizontalAction ¶
type DatadogPodAutoscalerHorizontalAction struct { // Time is the timestamp of the action Time metav1.Time `json:"time"` // FromReplicas is the number of replicas before the action FromReplicas int32 `json:"replicas"` // ToReplicas is the effective number of replicas after the action ToReplicas int32 `json:"toReplicas"` // RecommendedReplicas is the original number of replicas recommended by Datadog RecommendedReplicas *int32 `json:"recommendedReplicas,omitempty"` // LimitedReason is the reason why the action was limited (that is ToReplicas != RecommendedReplicas) LimitedReason *string `json:"limitedReason,omitempty"` }
DatadogPodAutoscalerHorizontalAction represents a horizontal action done by the controller +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerHorizontalAction) DeepCopy ¶
func (in *DatadogPodAutoscalerHorizontalAction) DeepCopy() *DatadogPodAutoscalerHorizontalAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerHorizontalAction.
func (*DatadogPodAutoscalerHorizontalAction) DeepCopyInto ¶
func (in *DatadogPodAutoscalerHorizontalAction) DeepCopyInto(out *DatadogPodAutoscalerHorizontalAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerHorizontalStatus ¶
type DatadogPodAutoscalerHorizontalStatus struct { // Target is the current target of the horizontal scaling Target *DatadogPodAutoscalerHorizontalTargetStatus `json:"target,omitempty"` // LastActions are the last successful actions done by the controller LastActions []DatadogPodAutoscalerHorizontalAction `json:"lastActions,omitempty"` }
DatadogPodAutoscalerHorizontalStatus defines the status of the horizontal scaling +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerHorizontalStatus) DeepCopy ¶
func (in *DatadogPodAutoscalerHorizontalStatus) DeepCopy() *DatadogPodAutoscalerHorizontalStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerHorizontalStatus.
func (*DatadogPodAutoscalerHorizontalStatus) DeepCopyInto ¶
func (in *DatadogPodAutoscalerHorizontalStatus) DeepCopyInto(out *DatadogPodAutoscalerHorizontalStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerHorizontalTargetStatus ¶
type DatadogPodAutoscalerHorizontalTargetStatus struct { // Source is the source of the value used to scale the target workload Source DatadogPodAutoscalerValueSource `json:"source"` // GeneratedAt is the timestamp at which the recommendation was generated GeneratedAt metav1.Time `json:"generatedAt,omitempty"` // Replicas is the desired number of replicas for the workload Replicas int32 `json:"desiredReplicas"` }
DatadogPodAutoscalerHorizontalTargetStatus defines the current target of the horizontal scaling +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerHorizontalTargetStatus) DeepCopy ¶
func (in *DatadogPodAutoscalerHorizontalTargetStatus) DeepCopy() *DatadogPodAutoscalerHorizontalTargetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerHorizontalTargetStatus.
func (*DatadogPodAutoscalerHorizontalTargetStatus) DeepCopyInto ¶
func (in *DatadogPodAutoscalerHorizontalTargetStatus) DeepCopyInto(out *DatadogPodAutoscalerHorizontalTargetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerObjective ¶
type DatadogPodAutoscalerObjective struct { // Type sets the type of the objective. Type DatadogPodAutoscalerObjectiveType `json:"type"` // PodResource allows to set a pod-level resource objective. PodResource *DatadogPodAutoscalerPodResourceObjective `json:"podResource,omitempty"` // ContainerResource allows to set a container-level resource objective. ContainerResource *DatadogPodAutoscalerContainerResourceObjective `json:"containerResource,omitempty"` }
DatadogPodAutoscalerObjective defines the objectives to reach and maintain for the target workload. +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerObjective) DeepCopy ¶
func (in *DatadogPodAutoscalerObjective) DeepCopy() *DatadogPodAutoscalerObjective
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerObjective.
func (*DatadogPodAutoscalerObjective) DeepCopyInto ¶
func (in *DatadogPodAutoscalerObjective) DeepCopyInto(out *DatadogPodAutoscalerObjective)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerObjectiveType ¶
type DatadogPodAutoscalerObjectiveType string
DatadogPodAutoscalerObjectiveType defines the type of the objective. +kubebuilder:validation:Enum:=PodResource;ContainerResource
const ( // DatadogPodAutoscalerPodResourceObjectiveType allows to set pod-level resource objectives. DatadogPodAutoscalerPodResourceObjectiveType DatadogPodAutoscalerObjectiveType = "PodResource" // DatadogPodAutoscalerContainerResourceObjectiveType allows to set container-level resource objectives. DatadogPodAutoscalerContainerResourceObjectiveType DatadogPodAutoscalerObjectiveType = "ContainerResource" )
type DatadogPodAutoscalerObjectiveValue ¶
type DatadogPodAutoscalerObjectiveValue struct { // Type specifies how the value is expressed (possible values: Utilization). Type DatadogPodAutoscalerObjectiveValueType `json:"type"` // Utilization defines a percentage of the target compared to requested workload // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=100 Utilization *int32 `json:"utilization,omitempty"` }
DatadogPodAutoscalerObjectiveValue defines the target value of the objective. +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerObjectiveValue) DeepCopy ¶
func (in *DatadogPodAutoscalerObjectiveValue) DeepCopy() *DatadogPodAutoscalerObjectiveValue
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerObjectiveValue.
func (*DatadogPodAutoscalerObjectiveValue) DeepCopyInto ¶
func (in *DatadogPodAutoscalerObjectiveValue) DeepCopyInto(out *DatadogPodAutoscalerObjectiveValue)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerObjectiveValueType ¶
type DatadogPodAutoscalerObjectiveValueType string
DatadogPodAutoscalerObjectiveValueType specifies the type of objective value. kubebuilder:validation:Enum:=Utilization
const ( // DatadogPodAutoscalerUtilizationObjectiveValueType declares an objective based on a Utilization (percentage, 0-100). DatadogPodAutoscalerUtilizationObjectiveValueType DatadogPodAutoscalerObjectiveValueType = "Utilization" )
type DatadogPodAutoscalerOwner ¶
type DatadogPodAutoscalerOwner string
DatadogPodAutoscalerOwner defines the source of truth for this object (local or remote) +kubebuilder:validation:Enum:=Local;Remote
const ( // DatadogPodAutoscalerLocalOwner states that this `DatadogPodAutoscaler` object is created/managed outside of the Datadog app. DatadogPodAutoscalerLocalOwner DatadogPodAutoscalerOwner = "Local" // DatadogPodAutoscalerRemoteOwner states that this `DatadogPodAutoscaler` object is created/managed in the Datadog app. DatadogPodAutoscalerRemoteOwner DatadogPodAutoscalerOwner = "Remote" )
type DatadogPodAutoscalerPodResourceObjective ¶
type DatadogPodAutoscalerPodResourceObjective struct { // Name is the name of the resource. // +kubebuilder:validation:Enum:=cpu Name corev1.ResourceName `json:"name"` // Value is the value of the objective. Value DatadogPodAutoscalerObjectiveValue `json:"value"` }
DatadogPodAutoscalerPodResourceObjective defines a pod-level resource objective (for instance, CPU Utilization at 80%) For pod-level objectives, resources are the sum of all containers resources. Utilization is computed from sum(usage) / sum(requests). +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerPodResourceObjective) DeepCopy ¶
func (in *DatadogPodAutoscalerPodResourceObjective) DeepCopy() *DatadogPodAutoscalerPodResourceObjective
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerPodResourceObjective.
func (*DatadogPodAutoscalerPodResourceObjective) DeepCopyInto ¶
func (in *DatadogPodAutoscalerPodResourceObjective) DeepCopyInto(out *DatadogPodAutoscalerPodResourceObjective)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerScalingPolicy ¶
type DatadogPodAutoscalerScalingPolicy struct { // Strategy is used to specify which policy should be used. // If not set, the default value Max is used. // +optional Strategy *DatadogPodAutoscalerScalingStrategySelect `json:"strategy,omitempty"` // Rules is a list of potential scaling polices which can be used during scaling. // At least one policy must be specified, otherwise the DatadogPodAutoscalerScalingPolicy will be discarded as invalid // +listType=atomic // +optional Rules []DatadogPodAutoscalerScalingRule `json:"rules,omitempty"` // StabilizationWindowSeconds is the number of seconds the controller should lookback at previous recommendations // before deciding to apply a new one. Defaults to 0. // +optional // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=1800 StabilizationWindowSeconds int32 `json:"stabilizationWindowSeconds,omitempty"` }
DatadogPodAutoscalerScalingPolicy defines the policy to scale the target workload. +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerScalingPolicy) DeepCopy ¶
func (in *DatadogPodAutoscalerScalingPolicy) DeepCopy() *DatadogPodAutoscalerScalingPolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerScalingPolicy.
func (*DatadogPodAutoscalerScalingPolicy) DeepCopyInto ¶
func (in *DatadogPodAutoscalerScalingPolicy) DeepCopyInto(out *DatadogPodAutoscalerScalingPolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerScalingRule ¶
type DatadogPodAutoscalerScalingRule struct { // Type is used to specify the scaling policy. Type DatadogPodAutoscalerScalingRuleType `json:"type"` // Value contains the amount of change which is permitted by the policy. // Setting it to 0 will prevent any scaling in this direction. // +kubebuilder:validation:Minimum=0 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). // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=1800 PeriodSeconds int32 `json:"periodSeconds"` }
DatadogPodAutoscalerScalingRule defines rules for horizontal scaling that should be true for a certain amount of time. +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerScalingRule) DeepCopy ¶
func (in *DatadogPodAutoscalerScalingRule) DeepCopy() *DatadogPodAutoscalerScalingRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerScalingRule.
func (*DatadogPodAutoscalerScalingRule) DeepCopyInto ¶
func (in *DatadogPodAutoscalerScalingRule) DeepCopyInto(out *DatadogPodAutoscalerScalingRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerScalingRuleType ¶
type DatadogPodAutoscalerScalingRuleType string
DatadogPodAutoscalerScalingRuleType defines how a scaling rule value should be interpreted. +kubebuilder:validation:Enum:=Pods;Percent
const ( // DatadogPodAutoscalerPodsScalingRuleType specifies a change in the absolute number of pods compared to the starting number of pods. DatadogPodAutoscalerPodsScalingRuleType DatadogPodAutoscalerScalingRuleType = "Pods" // DatadogPodAutoscalerPercentScalingRuleType specifies a relative amount of change compared to the starting number of pods. DatadogPodAutoscalerPercentScalingRuleType DatadogPodAutoscalerScalingRuleType = "Percent" )
type DatadogPodAutoscalerScalingStrategySelect ¶
type DatadogPodAutoscalerScalingStrategySelect string
DatadogPodAutoscalerScalingStrategySelect is used to specify which policy should be used while scaling in a certain direction +kubebuilder:validation:Enum:=Max;Min;Disabled
const ( // DatadogPodAutoscalerMaxChangeStrategySelect selects the policy with the highest possible change. DatadogPodAutoscalerMaxChangeStrategySelect DatadogPodAutoscalerScalingStrategySelect = "Max" // DatadogPodAutoscalerMinChangeStrategySelect selects the policy with the lowest possible change. DatadogPodAutoscalerMinChangeStrategySelect DatadogPodAutoscalerScalingStrategySelect = "Min" // DatadogPodAutoscalerDisabledStrategySelect disables the scaling in this direction. DatadogPodAutoscalerDisabledStrategySelect DatadogPodAutoscalerScalingStrategySelect = "Disabled" )
type DatadogPodAutoscalerStatus ¶
type DatadogPodAutoscalerStatus struct { // Vertical is the status of the vertical scaling, if activated. // +optional Vertical *DatadogPodAutoscalerVerticalStatus `json:"vertical,omitempty"` // Horizontal is the status of the horizontal scaling, if activated. // +optional Horizontal *DatadogPodAutoscalerHorizontalStatus `json:"horizontal,omitempty"` // CurrentReplicas is the current number of pods for the targetRef observed by the controller. // +optional CurrentReplicas *int32 `json:"currentReplicas,omitempty"` // Conditions describe the current state of the DatadogPodAutoscaler operations. // +patchMergeKey=type // +patchStrategy=merge // +listType=map // +listMapKey=type // +optional Conditions []DatadogPodAutoscalerCondition `json:"conditions,omitempty"` }
DatadogPodAutoscalerStatus defines the observed state of DatadogPodAutoscaler +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerStatus) DeepCopy ¶
func (in *DatadogPodAutoscalerStatus) DeepCopy() *DatadogPodAutoscalerStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerStatus.
func (*DatadogPodAutoscalerStatus) DeepCopyInto ¶
func (in *DatadogPodAutoscalerStatus) DeepCopyInto(out *DatadogPodAutoscalerStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerUpdatePolicy ¶
type DatadogPodAutoscalerUpdatePolicy struct { // Strategy defines the mode of the update policy. Strategy DatadogPodAutoscalerUpdateStrategy `json:"strategy,omitempty"` }
DatadogPodAutoscalerUpdatePolicy defines the policy to update the target workload. +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerUpdatePolicy) DeepCopy ¶
func (in *DatadogPodAutoscalerUpdatePolicy) DeepCopy() *DatadogPodAutoscalerUpdatePolicy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerUpdatePolicy.
func (*DatadogPodAutoscalerUpdatePolicy) DeepCopyInto ¶
func (in *DatadogPodAutoscalerUpdatePolicy) DeepCopyInto(out *DatadogPodAutoscalerUpdatePolicy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerUpdateStrategy ¶
type DatadogPodAutoscalerUpdateStrategy string
DatadogPodAutoscalerUpdateStrategy defines the mode of the update policy. +kubebuilder:validation:Enum:=Auto;Disabled
const ( // DatadogPodAutoscalerAutoUpdateStrategy is the default mode. DatadogPodAutoscalerAutoUpdateStrategy DatadogPodAutoscalerUpdateStrategy = "Auto" // DatadogPodAutoscalerDisabledUpdateStrategy will disable the update of the target workload. DatadogPodAutoscalerDisabledUpdateStrategy DatadogPodAutoscalerUpdateStrategy = "Disabled" )
type DatadogPodAutoscalerValueSource ¶
type DatadogPodAutoscalerValueSource string
DatadogPodAutoscalerValueSource defines the source of the value used to scale the target workload.
const ( // DatadogPodAutoscalerAutoscalingValueSource is a recommendation that comes from active autoscaling. DatadogPodAutoscalerAutoscalingValueSource DatadogPodAutoscalerValueSource = "Autoscaling" // DatadogPodAutoscalerManualValueSource is a recommendation that comes from manually applying a recommendation. DatadogPodAutoscalerManualValueSource DatadogPodAutoscalerValueSource = "Manual" // DatadogPodAutoscalerLocalValueSource is a recommendation that comes from the local fallback. DatadogPodAutoscalerLocalValueSource DatadogPodAutoscalerValueSource = "Local" )
type DatadogPodAutoscalerVerticalAction ¶
type DatadogPodAutoscalerVerticalAction struct { // Time is the timestamp of the action Time metav1.Time `json:"time"` // Version is the version of the recommendation used for the action Version string `json:"version"` // Type is the type of action Type DatadogPodAutoscalerVerticalActionType `json:"type"` }
DatadogPodAutoscalerVerticalAction represents a vertical action done by the controller +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerVerticalAction) DeepCopy ¶
func (in *DatadogPodAutoscalerVerticalAction) DeepCopy() *DatadogPodAutoscalerVerticalAction
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerVerticalAction.
func (*DatadogPodAutoscalerVerticalAction) DeepCopyInto ¶
func (in *DatadogPodAutoscalerVerticalAction) DeepCopyInto(out *DatadogPodAutoscalerVerticalAction)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerVerticalActionType ¶
type DatadogPodAutoscalerVerticalActionType string
DatadogPodAutoscalerVerticalActionType represents the type of action done by the controller
const ( // DatadogPodAutoscalerRolloutTriggeredVerticalActionType is the action when the controller triggers a rollout of the targetRef DatadogPodAutoscalerRolloutTriggeredVerticalActionType DatadogPodAutoscalerVerticalActionType = "RolloutTriggered" )
type DatadogPodAutoscalerVerticalStatus ¶
type DatadogPodAutoscalerVerticalStatus struct { // Target is the current target of the vertical scaling Target *DatadogPodAutoscalerVerticalTargetStatus `json:"target,omitempty"` // LastAction is the last successful action done by the controller LastAction *DatadogPodAutoscalerVerticalAction `json:"lastAction,omitempty"` }
DatadogPodAutoscalerVerticalStatus defines the status of the vertical scaling +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerVerticalStatus) DeepCopy ¶
func (in *DatadogPodAutoscalerVerticalStatus) DeepCopy() *DatadogPodAutoscalerVerticalStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerVerticalStatus.
func (*DatadogPodAutoscalerVerticalStatus) DeepCopyInto ¶
func (in *DatadogPodAutoscalerVerticalStatus) DeepCopyInto(out *DatadogPodAutoscalerVerticalStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DatadogPodAutoscalerVerticalTargetStatus ¶
type DatadogPodAutoscalerVerticalTargetStatus struct { // Source is the source of the value used to scale the target resource Source DatadogPodAutoscalerValueSource `json:"source"` // GeneratedAt is the timestamp at which the recommendation was generated GeneratedAt metav1.Time `json:"generatedAt,omitempty"` // Version is the current version of the received recommendation Version string `json:"version"` // Scaled is the current number of pods having desired resources Scaled *int32 `json:"scaled,omitempty"` // DesiredResources is the desired resources for containers DesiredResources []DatadogPodAutoscalerContainerResources `json:"desiredResources"` // PodCPURequest is the sum of CPU requests for all containers (used for display) PodCPURequest resource.Quantity `json:"podCPURequest"` // PodMemoryRequest is the sum of memory requests for all containers (used for display) PodMemoryRequest resource.Quantity `json:"podMemoryRequest"` }
DatadogPodAutoscalerVerticalTargetStatus defines the current target of the vertical scaling +kubebuilder:object:generate=true
func (*DatadogPodAutoscalerVerticalTargetStatus) DeepCopy ¶
func (in *DatadogPodAutoscalerVerticalTargetStatus) DeepCopy() *DatadogPodAutoscalerVerticalTargetStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DatadogPodAutoscalerVerticalTargetStatus.
func (*DatadogPodAutoscalerVerticalTargetStatus) DeepCopyInto ¶
func (in *DatadogPodAutoscalerVerticalTargetStatus) DeepCopyInto(out *DatadogPodAutoscalerVerticalTargetStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RollingUpdate ¶
type RollingUpdate struct { // Value can be an absolute number (ex: 5) or a percentage of desired pods (ex: 10%). // Refer to the Kubernetes API documentation for additional details.. MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty"` // MaxSurge behaves differently based on the Kubernetes resource. Refer to the // Kubernetes API documentation for additional details. MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty"` }
RollingUpdate describes how to replace existing pods with new ones. +k8s:openapi-gen=true +kubebuilder:object:generate=true
func (*RollingUpdate) DeepCopy ¶
func (in *RollingUpdate) DeepCopy() *RollingUpdate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RollingUpdate.
func (*RollingUpdate) DeepCopyInto ¶
func (in *RollingUpdate) DeepCopyInto(out *RollingUpdate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type UpdateStrategy ¶
type UpdateStrategy struct { // Type can be "RollingUpdate" or "OnDelete" for DaemonSets and "RollingUpdate" // or "Recreate" for Deployments Type string `json:"type,omitempty"` // Configure the rolling update strategy of the Deployment or DaemonSet. RollingUpdate *RollingUpdate `json:"rollingUpdate,omitempty"` }
The deployment strategy to use to replace existing pods with new ones. +k8s:openapi-gen=true +kubebuilder:object:generate=true
func (*UpdateStrategy) DeepCopy ¶
func (in *UpdateStrategy) DeepCopy() *UpdateStrategy
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new UpdateStrategy.
func (*UpdateStrategy) DeepCopyInto ¶
func (in *UpdateStrategy) DeepCopyInto(out *UpdateStrategy)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.