config

package
v0.2.6 Latest Latest
Warning

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

Go to latest
Published: Jan 7, 2025 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

View Source
const PREFIX = "oblik.socialgouv.io/"
View Source
const VpaPrefix = "oblik-"

Variables

This section is empty.

Functions

func GetKey added in v0.2.4

func GetKey(configurable *Configurable) string

func LoadKubeConfig

func LoadKubeConfig() (*rest.Config, error)

Types

type Annotable

type Annotable interface {
	GetAnnotations() map[string]string
	GetLabels() map[string]string
	GetNamespace() string
	GetName() string
}

type ApplyMode

type ApplyMode int
const (
	ApplyModeEnforce ApplyMode = iota
	ApplyModeOff
)

type Configurable

type Configurable struct {
	Object interface{}
}

func CreateConfigurable

func CreateConfigurable(object interface{}) *Configurable

func (*Configurable) Get

func (co *Configurable) Get() interface{}

func (*Configurable) GetAnnotations

func (co *Configurable) GetAnnotations() map[string]string

func (*Configurable) GetContainerNames

func (co *Configurable) GetContainerNames() []string

func (*Configurable) GetLabels

func (co *Configurable) GetLabels() map[string]string

func (*Configurable) GetName

func (co *Configurable) GetName() string

func (*Configurable) GetNamespace

func (co *Configurable) GetNamespace() string

type ContainerConfig

type ContainerConfig struct {
	Key           string
	ContainerName string
	*LoadCfg
}

type LimitApplyTarget

type LimitApplyTarget int
const (
	LimitApplyTargetAuto LimitApplyTarget = iota
	LimitApplyTargetFrugal
	LimitApplyTargetBalanced
	LimitApplyTargetPeak
)

type LoadCfg

type LoadCfg struct {
	Key string

	RequestCPUApplyMode    *ApplyMode
	RequestMemoryApplyMode *ApplyMode
	LimitCPUApplyMode      *ApplyMode
	LimitMemoryApplyMode   *ApplyMode

	LimitCPUCalculatorAlgo     *calculator.CalculatorAlgo
	LimitMemoryCalculatorAlgo  *calculator.CalculatorAlgo
	LimitMemoryCalculatorValue *string
	LimitCPUCalculatorValue    *string

	UnprovidedApplyDefaultRequestCPUSource    *UnprovidedApplyDefaultMode
	UnprovidedApplyDefaultRequestCPUValue     *string
	UnprovidedApplyDefaultRequestMemorySource *UnprovidedApplyDefaultMode
	UnprovidedApplyDefaultRequestMemoryValue  *string

	IncreaseRequestCpuAlgo     *calculator.CalculatorAlgo
	IncreaseRequestMemoryAlgo  *calculator.CalculatorAlgo
	IncreaseRequestCpuValue    *string
	IncreaseRequestMemoryValue *string

	MinLimitCpu    *resource.Quantity
	MaxLimitCpu    *resource.Quantity
	MinLimitMemory *resource.Quantity
	MaxLimitMemory *resource.Quantity

	MinRequestCpu    *resource.Quantity
	MaxRequestCpu    *resource.Quantity
	MinRequestMemory *resource.Quantity
	MaxRequestMemory *resource.Quantity

	MinAllowedRecommendationCpu    *resource.Quantity
	MaxAllowedRecommendationCpu    *resource.Quantity
	MinAllowedRecommendationMemory *resource.Quantity
	MaxAllowedRecommendationMemory *resource.Quantity

	MinDiffCpuRequestAlgo     *calculator.CalculatorAlgo
	MinDiffCpuRequestValue    *string
	MinDiffMemoryRequestAlgo  *calculator.CalculatorAlgo
	MinDiffMemoryRequestValue *string
	MinDiffCpuLimitAlgo       *calculator.CalculatorAlgo
	MinDiffCpuLimitValue      *string
	MinDiffMemoryLimitAlgo    *calculator.CalculatorAlgo
	MinDiffMemoryLimitValue   *string

	MemoryRequestFromCpuEnabled *bool
	MemoryRequestFromCpuAlgo    *calculator.CalculatorAlgo
	MemoryRequestFromCpuValue   *string
	MemoryLimitFromCpuEnabled   *bool
	MemoryLimitFromCpuAlgo      *calculator.CalculatorAlgo
	MemoryLimitFromCpuValue     *string

	RequestApplyTarget       *RequestApplyTarget
	RequestCpuApplyTarget    *RequestApplyTarget
	RequestMemoryApplyTarget *RequestApplyTarget

	LimitApplyTarget       *LimitApplyTarget
	LimitCpuApplyTarget    *LimitApplyTarget
	LimitMemoryApplyTarget *LimitApplyTarget

	RequestCpuScaleDirection    *ScaleDirection
	RequestMemoryScaleDirection *ScaleDirection
	LimitCpuScaleDirection      *ScaleDirection
	LimitMemoryScaleDirection   *ScaleDirection
}

type RequestApplyTarget

type RequestApplyTarget int
const (
	RequestApplyTargetFrugal RequestApplyTarget = iota
	RequestApplyTargetBalanced
	RequestApplyTargetPeak
)

type ScaleDirection

type ScaleDirection int
const (
	ScaleDirectionBoth ScaleDirection = iota
	ScaleDirectionUp
	ScaleDirectionDown
)

type StrategyConfig

type StrategyConfig struct {
	Key                string
	CronExpr           string
	CronMaxRandomDelay time.Duration
	DryRun             bool
	Enabled            bool
	WebhookEnabled     bool
	Containers         map[string]*ContainerConfig
	*LoadCfg
}

func CreateStrategyConfig

func CreateStrategyConfig(configurable *Configurable) *StrategyConfig

func (*StrategyConfig) GetDryRun

func (v *StrategyConfig) GetDryRun() bool

func (*StrategyConfig) GetIncreaseRequestCpuAlgo

func (v *StrategyConfig) GetIncreaseRequestCpuAlgo(containerName string) calculator.CalculatorAlgo

func (*StrategyConfig) GetIncreaseRequestCpuValue

func (v *StrategyConfig) GetIncreaseRequestCpuValue(containerName string) string

func (*StrategyConfig) GetIncreaseRequestMemoryAlgo

func (v *StrategyConfig) GetIncreaseRequestMemoryAlgo(containerName string) calculator.CalculatorAlgo

func (*StrategyConfig) GetIncreaseRequestMemoryValue

func (v *StrategyConfig) GetIncreaseRequestMemoryValue(containerName string) string

func (*StrategyConfig) GetLimitApplyTarget

func (v *StrategyConfig) GetLimitApplyTarget(containerName string) LimitApplyTarget

func (*StrategyConfig) GetLimitCPUApplyMode

func (v *StrategyConfig) GetLimitCPUApplyMode(containerName string) ApplyMode

func (*StrategyConfig) GetLimitCPUCalculatorAlgo

func (v *StrategyConfig) GetLimitCPUCalculatorAlgo(containerName string) calculator.CalculatorAlgo

func (*StrategyConfig) GetLimitCPUCalculatorValue

func (v *StrategyConfig) GetLimitCPUCalculatorValue(containerName string) string

func (*StrategyConfig) GetLimitCpuApplyTarget

func (v *StrategyConfig) GetLimitCpuApplyTarget(containerName string) LimitApplyTarget

func (*StrategyConfig) GetLimitCpuScaleDirection

func (v *StrategyConfig) GetLimitCpuScaleDirection(containerName string) ScaleDirection

func (*StrategyConfig) GetLimitMemoryApplyMode

func (v *StrategyConfig) GetLimitMemoryApplyMode(containerName string) ApplyMode

func (*StrategyConfig) GetLimitMemoryApplyTarget

func (v *StrategyConfig) GetLimitMemoryApplyTarget(containerName string) LimitApplyTarget

func (*StrategyConfig) GetLimitMemoryCalculatorAlgo

func (v *StrategyConfig) GetLimitMemoryCalculatorAlgo(containerName string) calculator.CalculatorAlgo

func (*StrategyConfig) GetLimitMemoryCalculatorValue

func (v *StrategyConfig) GetLimitMemoryCalculatorValue(containerName string) string

func (*StrategyConfig) GetLimitMemoryScaleDirection

func (v *StrategyConfig) GetLimitMemoryScaleDirection(containerName string) ScaleDirection

func (*StrategyConfig) GetMaxAllowedRecommendationCpu

func (v *StrategyConfig) GetMaxAllowedRecommendationCpu(containerName string) *resource.Quantity

func (*StrategyConfig) GetMaxAllowedRecommendationMemory

func (v *StrategyConfig) GetMaxAllowedRecommendationMemory(containerName string) *resource.Quantity

func (*StrategyConfig) GetMaxLimitCpu

func (v *StrategyConfig) GetMaxLimitCpu(containerName string) *resource.Quantity

func (*StrategyConfig) GetMaxLimitMemory

func (v *StrategyConfig) GetMaxLimitMemory(containerName string) *resource.Quantity

func (*StrategyConfig) GetMaxRequestCpu

func (v *StrategyConfig) GetMaxRequestCpu(containerName string) *resource.Quantity

func (*StrategyConfig) GetMaxRequestMemory

func (v *StrategyConfig) GetMaxRequestMemory(containerName string) *resource.Quantity

func (*StrategyConfig) GetMemoryLimitFromCpuAlgo

func (v *StrategyConfig) GetMemoryLimitFromCpuAlgo(containerName string) calculator.CalculatorAlgo

func (*StrategyConfig) GetMemoryLimitFromCpuEnabled

func (v *StrategyConfig) GetMemoryLimitFromCpuEnabled(containerName string) bool

func (*StrategyConfig) GetMemoryLimitFromCpuValue

func (v *StrategyConfig) GetMemoryLimitFromCpuValue(containerName string) string

func (*StrategyConfig) GetMemoryRequestFromCpuAlgo

func (v *StrategyConfig) GetMemoryRequestFromCpuAlgo(containerName string) calculator.CalculatorAlgo

func (*StrategyConfig) GetMemoryRequestFromCpuEnabled

func (v *StrategyConfig) GetMemoryRequestFromCpuEnabled(containerName string) bool

func (*StrategyConfig) GetMemoryRequestFromCpuValue

func (v *StrategyConfig) GetMemoryRequestFromCpuValue(containerName string) string

func (*StrategyConfig) GetMinAllowedRecommendationCpu

func (v *StrategyConfig) GetMinAllowedRecommendationCpu(containerName string) *resource.Quantity

func (*StrategyConfig) GetMinAllowedRecommendationMemory

func (v *StrategyConfig) GetMinAllowedRecommendationMemory(containerName string) *resource.Quantity

func (*StrategyConfig) GetMinDiffCpuLimitAlgo

func (v *StrategyConfig) GetMinDiffCpuLimitAlgo(containerName string) calculator.CalculatorAlgo

func (*StrategyConfig) GetMinDiffCpuLimitValue

func (v *StrategyConfig) GetMinDiffCpuLimitValue(containerName string) string

func (*StrategyConfig) GetMinDiffCpuRequestAlgo

func (v *StrategyConfig) GetMinDiffCpuRequestAlgo(containerName string) calculator.CalculatorAlgo

func (*StrategyConfig) GetMinDiffCpuRequestValue

func (v *StrategyConfig) GetMinDiffCpuRequestValue(containerName string) string

func (*StrategyConfig) GetMinDiffMemoryLimitAlgo

func (v *StrategyConfig) GetMinDiffMemoryLimitAlgo(containerName string) calculator.CalculatorAlgo

func (*StrategyConfig) GetMinDiffMemoryLimitValue

func (v *StrategyConfig) GetMinDiffMemoryLimitValue(containerName string) string

func (*StrategyConfig) GetMinDiffMemoryRequestAlgo

func (v *StrategyConfig) GetMinDiffMemoryRequestAlgo(containerName string) calculator.CalculatorAlgo

func (*StrategyConfig) GetMinDiffMemoryRequestValue

func (v *StrategyConfig) GetMinDiffMemoryRequestValue(containerName string) string

func (*StrategyConfig) GetMinLimitCpu

func (v *StrategyConfig) GetMinLimitCpu(containerName string) *resource.Quantity

func (*StrategyConfig) GetMinLimitMemory

func (v *StrategyConfig) GetMinLimitMemory(containerName string) *resource.Quantity

func (*StrategyConfig) GetMinRequestCpu

func (v *StrategyConfig) GetMinRequestCpu(containerName string) *resource.Quantity

func (*StrategyConfig) GetMinRequestMemory

func (v *StrategyConfig) GetMinRequestMemory(containerName string) *resource.Quantity

func (*StrategyConfig) GetRequestApplyTarget

func (v *StrategyConfig) GetRequestApplyTarget(containerName string) RequestApplyTarget

func (*StrategyConfig) GetRequestCPUApplyMode

func (v *StrategyConfig) GetRequestCPUApplyMode(containerName string) ApplyMode

func (*StrategyConfig) GetRequestCpuApplyTarget

func (v *StrategyConfig) GetRequestCpuApplyTarget(containerName string) RequestApplyTarget

func (*StrategyConfig) GetRequestCpuScaleDirection

func (v *StrategyConfig) GetRequestCpuScaleDirection(containerName string) ScaleDirection

func (*StrategyConfig) GetRequestMemoryApplyMode

func (v *StrategyConfig) GetRequestMemoryApplyMode(containerName string) ApplyMode

func (*StrategyConfig) GetRequestMemoryApplyTarget

func (v *StrategyConfig) GetRequestMemoryApplyTarget(containerName string) RequestApplyTarget

func (*StrategyConfig) GetRequestMemoryScaleDirection

func (v *StrategyConfig) GetRequestMemoryScaleDirection(containerName string) ScaleDirection

func (*StrategyConfig) GetUnprovidedApplyDefaultRequestCPUSource

func (v *StrategyConfig) GetUnprovidedApplyDefaultRequestCPUSource(containerName string) UnprovidedApplyDefaultMode

func (*StrategyConfig) GetUnprovidedApplyDefaultRequestCPUValue

func (v *StrategyConfig) GetUnprovidedApplyDefaultRequestCPUValue(containerName string) string

func (*StrategyConfig) GetUnprovidedApplyDefaultRequestMemorySource

func (v *StrategyConfig) GetUnprovidedApplyDefaultRequestMemorySource(containerName string) UnprovidedApplyDefaultMode

func (*StrategyConfig) GetUnprovidedApplyDefaultRequestMemoryValue

func (v *StrategyConfig) GetUnprovidedApplyDefaultRequestMemoryValue(containerName string) string

type UnprovidedApplyDefaultMode

type UnprovidedApplyDefaultMode int
const (
	UnprovidedApplyDefaultModeOff UnprovidedApplyDefaultMode = iota
	UnprovidedApplyDefaultModeMinAllowed
	UnprovidedApplyDefaultModeMaxAllowed
	UnprovidedApplyDefaultModeValue
)

Jump to

Keyboard shortcuts

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