config

package
v0.66.1 Latest Latest
Warning

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

Go to latest
Published: Dec 6, 2025 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UnLimitedResource = "unlimited"
)

Variables

This section is empty.

Functions

func ConfigAsMetrics added in v0.62.0

func ConfigAsMetrics(r metrics.RegistererGatherer, cfg *BaseOperatorConf)

ConfigAsMetrics exposes major configuration params as prometheus metrics

func IsClusterWideAccessAllowed added in v0.34.0

func IsClusterWideAccessAllowed() bool

IsClusterWideAccessAllowed checks if cluster wide access for components is needed

Types

type ApplicationDefaults added in v0.48.0

type ApplicationDefaults struct {
	Image               string
	Version             string
	ConfigReloadImage   string
	Port                string
	UseDefaultResources bool
	Resource            struct {
		Limit struct {
			Mem string
			Cpu string
		}
		Request struct {
			Mem string
			Cpu string
		}
	}
	ConfigReloaderCPU    string
	ConfigReloaderMemory string
}

ApplicationDefaults is useful for generic default building uses the same memory as application default at config

type BaseOperatorConf

type BaseOperatorConf struct {
	MetricsVersion    string `default:"${VM_METRICS_VERSION}" env:"VM_METRICS_VERSION,expand"`
	LogsVersion       string `default:"${VM_LOGS_VERSION}" env:"VM_LOGS_VERSION,expand"`
	AnomalyVersion    string `default:"${VM_ANOMALY_VERSION}" env:"VM_ANOMALY_VERSION,expand"`
	TracesVertsion    string `default:"${VM_TRACES_VERSION}" env:"VM_TRACES_VERSION,expand"`
	OperatorVersion   string `default:"${VM_OPERATOR_VERSION}" env:"VM_OPERATOR_VERSION,expand"`
	GatewayAPIEnabled bool   `default:"false" env:"VM_GATEWAY_API_ENABLED"`

	// Defines a list of namespaces to be watched by operator.
	// Operator don't perform any cluster wide API calls if namespaces not empty.
	// In case of empty list it performs only clusterwide api calls.
	WatchNamespaces []string `default:"" env:"WATCH_NAMESPACE"`

	// enables custom config reloader for vmauth and vmagent,
	// it should speed-up config reloading process.
	UseVMConfigReloader bool `default:"true" env:"VM_USECUSTOMCONFIGRELOADER"`
	// container registry name prefix, e.g. docker.io
	ContainerRegistry     string `default:"" env:"VM_CONTAINERREGISTRY"`
	VMConfigReloaderImage string `default:"victoriametrics/operator:config-reloader-${VM_OPERATOR_VERSION}" env:"VM_CUSTOMCONFIGRELOADERIMAGE,expand"`
	PSPAutoCreateEnabled  bool   `default:"false" env:"VM_PSPAUTOCREATEENABLED"`
	EnableTCP6            bool   `default:"false" env:"VM_ENABLETCP6"`

	// defines global resource.limits.cpu for all config-reloader containers
	ConfigReloaderLimitCPU string `default:"unlimited" env:"VM_CONFIG_RELOADER_LIMIT_CPU"`
	// defines global resource.limits.memory for all config-reloader containers
	ConfigReloaderLimitMemory string `default:"unlimited" env:"VM_CONFIG_RELOADER_LIMIT_MEMORY"`
	// defines global resource.requests.cpu for all config-reloader containers
	ConfigReloaderRequestCPU string `default:"" env:"VM_CONFIG_RELOADER_REQUEST_CPU"`
	// defines global resource.requests.memory for all config-reloader containers
	ConfigReloaderRequestMemory string `default:"" env:"VM_CONFIG_RELOADER_REQUEST_MEMORY"`

	VLogsDefault struct {
		Image               string `default:"victoriametrics/victoria-logs"`
		Version             string `env:",expand" default:"${VM_LOGS_VERSION}"`
		ConfigReloadImage   string `env:"-"`
		Port                string `default:"9428"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem string `default:"1500Mi"`
				Cpu string `default:"1200m"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem string `default:"500Mi"`
				Cpu string `default:"150m"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		ConfigReloaderCPU    string `env:"-"`
		ConfigReloaderMemory string `env:"-"`
	} `prefix:"VM_VLOGSDEFAULT_"`

	VLAgentDefault struct {
		Image               string `default:"victoriametrics/vlagent"`
		Version             string `env:",expand" default:"${VM_LOGS_VERSION}"`
		ConfigReloadImage   string `env:"-"`
		Port                string `default:"9429"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem string `default:"500Mi"`
				Cpu string `default:"200m"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem string `default:"200Mi"`
				Cpu string `default:"50m"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		ConfigReloaderCPU    string `env:"-"`
		ConfigReloaderMemory string `env:"-"`
	} `prefix:"VM_VLAGENTDEFAULT_"`

	VLSingleDefault struct {
		Image               string `default:"victoriametrics/victoria-logs"`
		Version             string `env:",expand" default:"${VM_LOGS_VERSION}"`
		ConfigReloadImage   string `env:"-"`
		Port                string `default:"9428"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem string `default:"1500Mi"`
				Cpu string `default:"1200m"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem string `default:"500Mi"`
				Cpu string `default:"150m"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		ConfigReloaderCPU    string `env:"-"`
		ConfigReloaderMemory string `env:"-"`
	} `prefix:"VM_VLSINGLEDEFAULT_"`

	VTSingleDefault struct {
		Image               string `default:"victoriametrics/victoria-traces"`
		Version             string `env:",expand" default:"${VM_TRACES_VERSION}"`
		ConfigReloadImage   string `env:"-"`
		Port                string `default:"10428"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem string `default:"1500Mi"`
				Cpu string `default:"1200m"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem string `default:"500Mi"`
				Cpu string `default:"150m"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		ConfigReloaderCPU    string `env:"-"`
		ConfigReloaderMemory string `env:"-"`
	} `prefix:"VM_VTSINGLEDEFAULT_"`

	VMAlertDefault struct {
		Image               string `default:"victoriametrics/vmalert"`
		Version             string `env:",expand" default:"${VM_METRICS_VERSION}"`
		ConfigReloadImage   string `default:"jimmidyson/configmap-reload:v0.3.0" env:"CONFIGRELOADIMAGE"`
		Port                string `default:"8080"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem string `default:"500Mi"`
				Cpu string `default:"200m"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem string `default:"200Mi"`
				Cpu string `default:"50m"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		// Deprecated: use VM_CONFIG_RELOADER_REQUEST_CPU instead
		ConfigReloaderCPU string `default:"10m" env:"CONFIGRELOADERCPU"`
		// Deprecated: use VM_CONFIG_RELOADER_REQUEST_MEMORY instead
		ConfigReloaderMemory string `default:"25Mi" env:"CONFIGRELOADERMEMORY"`
	} `prefix:"VM_VMALERTDEFAULT_"`

	VMServiceScrapeDefault struct {
		// Use endpointslices instead of endpoints as discovery role
		// for vmservicescrape when generate scrape config for vmagent.
		EnforceEndpointSlices bool `default:"false" env:"ENFORCEENDPOINTSLICES"`
	} `prefix:"VM_VMSERVICESCRAPEDEFAULT_"`

	VMAgentDefault struct {
		Image               string `default:"victoriametrics/vmagent"`
		Version             string `env:",expand" default:"${VM_METRICS_VERSION}"`
		ConfigReloadImage   string `default:"quay.io/prometheus-operator/prometheus-config-reloader:v0.82.1" env:"CONFIGRELOADIMAGE"`
		Port                string `default:"8429"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem string `default:"500Mi"`
				Cpu string `default:"200m"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem string `default:"200Mi"`
				Cpu string `default:"50m"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		// Deprecated: use VM_CONFIG_RELOADER_REQUEST_CPU instead
		ConfigReloaderCPU string `default:"10m" env:"CONFIGRELOADERCPU"`
		// Deprecated: use VM_CONFIG_RELOADER_REQUEST_MEMORY instead
		ConfigReloaderMemory string `default:"25Mi" env:"CONFIGRELOADERMEMORY"`
	} `prefix:"VM_VMAGENTDEFAULT_"`

	VMAnomalyDefault struct {
		Image               string `default:"victoriametrics/vmanomaly"`
		Version             string `env:",expand" default:"${VM_ANOMALY_VERSION}"`
		ConfigReloadImage   string `default:"quay.io/prometheus-operator/prometheus-config-reloader:v0.82.1" env:"CONFIGRELOADIMAGE"`
		Port                string `default:"8490"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem string `default:"500Mi"`
				Cpu string `default:"200m"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem string `default:"200Mi"`
				Cpu string `default:"50m"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		// Deprecated: use VM_CONFIG_RELOADER_REQUEST_CPU instead
		ConfigReloaderCPU string `default:"10m" env:"CONFIGRELOADERCPU"`
		// Deprecated: use VM_CONFIG_RELOADER_REQUEST_MEMORY instead
		ConfigReloaderMemory string `default:"25Mi" env:"CONFIGRELOADERMEMORY"`
	} `prefix:"VM_VMANOMALYDEFAULT_"`

	VMSingleDefault struct {
		Image               string `default:"victoriametrics/victoria-metrics"`
		Version             string `env:",expand" default:"${VM_METRICS_VERSION}"`
		ConfigReloadImage   string `env:"-"`
		Port                string `default:"8429"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem string `default:"1500Mi"`
				Cpu string `default:"1200m"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem string `default:"500Mi"`
				Cpu string `default:"150m"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		ConfigReloaderCPU    string `env:"-"`
		ConfigReloaderMemory string `env:"-"`
	} `prefix:"VM_VMSINGLEDEFAULT_"`

	VMClusterDefault struct {
		UseDefaultResources bool `default:"true" env:"USEDEFAULTRESOURCES"`
		VMSelectDefault     struct {
			Image    string `default:"victoriametrics/vmselect"`
			Version  string `env:",expand" default:"${VM_METRICS_VERSION}-cluster"`
			Port     string `default:"8481"`
			Resource struct {
				Limit struct {
					Mem string `default:"1000Mi"`
					Cpu string `default:"500m"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem string `default:"500Mi"`
					Cpu string `default:"100m"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
		} `prefix:"VMSELECTDEFAULT_"`
		VMStorageDefault struct {
			Image        string `default:"victoriametrics/vmstorage"`
			Version      string `env:",expand" default:"${VM_METRICS_VERSION}-cluster"`
			VMInsertPort string `default:"8400" env:"VMINSERTPORT"`
			VMSelectPort string `default:"8401" env:"VMSELECTPORT"`
			Port         string `default:"8482"`
			Resource     struct {
				Limit struct {
					Mem string `default:"1500Mi"`
					Cpu string `default:"1000m"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem string `default:"500Mi"`
					Cpu string `default:"250m"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
		} `prefix:"VMSTORAGEDEFAULT_"`
		VMInsertDefault struct {
			Image    string `default:"victoriametrics/vminsert"`
			Version  string `env:",expand" default:"${VM_METRICS_VERSION}-cluster"`
			Port     string `default:"8480"`
			Resource struct {
				Limit struct {
					Mem string `default:"500Mi"`
					Cpu string `default:"500m"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem string `default:"200Mi"`
					Cpu string `default:"150m"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
		} `prefix:"VMINSERTDEFAULT_"`
	} `prefix:"VM_VMCLUSTERDEFAULT_"`

	VMAlertManager struct {
		ConfigReloaderImage string `default:"jimmidyson/configmap-reload:v0.3.0" env:"CONFIGRELOADERIMAGE"`
		// Deprecated: use VM_CONFIG_RELOADER_REQUEST_CPU instead
		ConfigReloaderCPU string `default:"10m" env:"CONFIGRELOADERCPU"`
		// Deprecated: use VM_CONFIG_RELOADER_REQUEST_MEMORY instead
		ConfigReloaderMemory         string `default:"25Mi" env:"CONFIGRELOADERMEMORY"`
		AlertmanagerDefaultBaseImage string `default:"prom/alertmanager" env:"ALERTMANAGERDEFAULTBASEIMAGE"`
		AlertManagerVersion          string `default:"v0.29.0" env:"ALERTMANAGERVERSION"`
		UseDefaultResources          bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource                     struct {
			Limit struct {
				Mem string `default:"256Mi"`
				Cpu string `default:"100m"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem string `default:"56Mi"`
				Cpu string `default:"30m"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
	} `prefix:"VM_VMALERTMANAGER_"`

	DisableSelfServiceScrapeCreation bool `default:"false" env:"VM_DISABLESELFSERVICESCRAPECREATION"`
	VMBackup                         struct {
		Image               string `default:"victoriametrics/vmbackupmanager"`
		Version             string `env:",expand" default:"${VM_METRICS_VERSION}-enterprise"`
		Port                string `default:"8300"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem string `default:"500Mi"`
				Cpu string `default:"500m"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem string `default:"200Mi"`
				Cpu string `default:"150m"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
	} `prefix:"VM_VMBACKUP_"`
	VMAuthDefault struct {
		Image               string `default:"victoriametrics/vmauth"`
		Version             string `env:",expand" default:"${VM_METRICS_VERSION}"`
		ConfigReloadImage   string `default:"quay.io/prometheus-operator/prometheus-config-reloader:v0.82.1" env:"CONFIGRELOADIMAGE"`
		Port                string `default:"8427"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem string `default:"300Mi"`
				Cpu string `default:"200m"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem string `default:"100Mi"`
				Cpu string `default:"50m"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		// Deprecated: use VM_CONFIG_RELOADER_REQUEST_CPU instead
		ConfigReloaderCPU string `default:"10m" env:"CONFIGRELOADERCPU"`
		// Deprecated: use VM_CONFIG_RELOADER_REQUEST_MEMORY instead
		ConfigReloaderMemory string `default:"25Mi" env:"CONFIGRELOADERMEMORY"`
	} `prefix:"VM_VMAUTHDEFAULT_"`

	VLClusterDefault struct {
		UseDefaultResources bool `default:"true" env:"USEDEFAULTRESOURCES"`
		VLSelectDefault     struct {
			Image    string `default:"victoriametrics/victoria-logs"`
			Version  string `env:",expand" default:"${VM_LOGS_VERSION}"`
			Port     string `default:"9471"`
			Resource struct {
				Limit struct {
					Mem string `default:"1024Mi"`
					Cpu string `default:"1000m"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem string `default:"256Mi"`
					Cpu string `default:"100m"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
		} `prefix:"VLSELECTDEFAULT_"`
		VLStorageDefault struct {
			Image    string `default:"victoriametrics/victoria-logs"`
			Version  string `env:",expand" default:"${VM_LOGS_VERSION}"`
			Port     string `default:"9491"`
			Resource struct {
				Limit struct {
					Mem string `default:"2048Mi"`
					Cpu string `default:"1000m"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem string `default:"512Mi"`
					Cpu string `default:"200m"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
		} `prefix:"VLSTORAGEDEFAULT_"`
		VLInsertDefault struct {
			Image    string `default:"victoriametrics/victoria-logs"`
			Version  string `env:",expand" default:"${VM_LOGS_VERSION}"`
			Port     string `default:"9481"`
			Resource struct {
				Limit struct {
					Mem string `default:"1024Mi"`
					Cpu string `default:"1000m"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem string `default:"256Mi"`
					Cpu string `default:"100m"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
		} `prefix:"VLINSERTDEFAULT_"`
	} `prefix:"VM_VLCLUSTERDEFAULT_"`

	VTClusterDefault struct {
		UseDefaultResources bool `default:"true" env:"USEDEFAULTRESOURCES"`
		SelectDefault       struct {
			Image    string `default:"victoriametrics/victoria-traces"`
			Version  string `env:",expand" default:"${VM_TRACES_VERSION}"`
			Port     string `default:"10471"`
			Resource struct {
				Limit struct {
					Mem string `default:"1024Mi"`
					Cpu string `default:"1000m"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem string `default:"256Mi"`
					Cpu string `default:"100m"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
		} `prefix:"SELECT_"`
		StorageDefault struct {
			Image    string `default:"victoriametrics/victoria-traces"`
			Version  string `env:",expand" default:"${VM_TRACES_VERSION}"`
			Port     string `default:"10491"`
			Resource struct {
				Limit struct {
					Mem string `default:"2048Mi"`
					Cpu string `default:"1000m"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem string `default:"512Mi"`
					Cpu string `default:"200m"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
		} `prefix:"STORAGE_"`
		InsertDefault struct {
			Image    string `default:"victoriametrics/victoria-traces"`
			Version  string `env:",expand" default:"${VM_TRACES_VERSION}"`
			Port     string `default:"10481"`
			Resource struct {
				Limit struct {
					Mem string `default:"1024Mi"`
					Cpu string `default:"1000m"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem string `default:"256Mi"`
					Cpu string `default:"100m"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
		} `prefix:"INSERT_"`
	} `prefix:"VM_VTCLUSTERDEFAULT_"`

	EnabledPrometheusConverter struct {
		PodMonitor         bool `default:"true" env:"PODMONITOR"`
		ServiceScrape      bool `default:"true" env:"SERVICESCRAPE"`
		PrometheusRule     bool `default:"true" env:"PROMETHEUSRULE"`
		Probe              bool `default:"true" env:"PROBE"`
		AlertmanagerConfig bool `default:"true" env:"ALERTMANAGERCONFIG"`
		ScrapeConfig       bool `default:"true" env:"SCRAPECONFIG"`
	} `prefix:"VM_ENABLEDPROMETHEUSCONVERTER_"`
	// adds compare-options and sync-options for prometheus objects converted by operator.
	// It helps to properly use converter with ArgoCD
	PrometheusConverterAddArgoCDIgnoreAnnotations bool `default:"false" env:"VM_PROMETHEUSCONVERTERADDARGOCDIGNOREANNOTATIONS"`
	EnabledPrometheusConverterOwnerReferences     bool `default:"false" env:"VM_ENABLEDPROMETHEUSCONVERTEROWNERREFERENCES"`
	// allows filtering for converted labels, labels with matched prefix will be ignored
	FilterPrometheusConverterLabelPrefixes []string `default:"" env:"VM_FILTERPROMETHEUSCONVERTERLABELPREFIXES"`
	// allows filtering for converted annotations, annotations with matched prefix will be ignored
	FilterPrometheusConverterAnnotationPrefixes []string `default:"" env:"VM_FILTERPROMETHEUSCONVERTERANNOTATIONPREFIXES"`
	// Defines domain name suffix for in-cluster addresses
	// most known ClusterDomainName is .cluster.local
	ClusterDomainName string `default:"" env:"VM_CLUSTERDOMAINNAME"`
	// Defines deadline for deployment/statefulset
	// to transit into ready state
	// to wait for transition to ready state
	AppReadyTimeout time.Duration `default:"80s" env:"VM_APPREADYTIMEOUT"`
	// Defines single pod deadline
	// to wait for transition to ready state
	PodWaitReadyTimeout time.Duration `default:"80s" env:"VM_PODWAITREADYTIMEOUT"`
	// Defines poll interval for pods ready check
	// at statefulset rollout update
	PodWaitReadyIntervalCheck time.Duration `default:"5s" env:"VM_PODWAITREADYINTERVALCHECK"`
	// configures force resync interval for VMAgent, VMAlert, VMAlertmanager and VMAuth.
	ForceResyncInterval time.Duration `default:"60s" env:"VM_FORCERESYNCINTERVAL"`
	// EnableStrictSecurity will add default `securityContext` to pods and containers created by operator
	// Default PodSecurityContext include:
	// 1. RunAsNonRoot: true
	// 2. RunAsUser/RunAsGroup/FSGroup: 65534
	// '65534' refers to 'nobody' in all the used default images like alpine, busybox.
	// If you're using customize image, please make sure '65534' is a valid uid in there or specify SecurityContext.
	// 3. FSGroupChangePolicy: &onRootMismatch
	// If KubeVersion>=1.20, use `FSGroupChangePolicy="onRootMismatch"` to skip the recursive permission change
	// when the root of the volume already has the correct permissions
	// 4. SeccompProfile:
	//      type: RuntimeDefault
	// Use `RuntimeDefault` seccomp profile by default, which is defined by the container runtime,
	// instead of using the Unconfined (seccomp disabled) mode.
	//
	// Default container SecurityContext include:
	// 1. AllowPrivilegeEscalation: false
	// 2. ReadOnlyRootFilesystem: true
	// 3. Capabilities:
	//      drop:
	//        - all
	// turn off `EnableStrictSecurity` by default, see https://github.com/VictoriaMetrics/operator/issues/749 for details
	EnableStrictSecurity bool `default:"false" env:"VM_ENABLESTRICTSECURITY"`
}

func MustGetBaseConfig

func MustGetBaseConfig() *BaseOperatorConf

MustGetBaseConfig returns operator configuration with default values populated from env variables

func (*BaseOperatorConf) PrintDefaults added in v0.38.0

func (boc *BaseOperatorConf) PrintDefaults(format string) error

PrintDefaults prints default values for all config variables. format can be one of: table, list, json, yaml, markdown.

func (*BaseOperatorConf) ResyncAfterDuration added in v0.48.0

func (boc *BaseOperatorConf) ResyncAfterDuration() time.Duration

ResyncAfterDuration returns requeue duration for object period reconcile adds 10% jitter

func (BaseOperatorConf) Validate added in v0.10.0

func (boc BaseOperatorConf) Validate() error

Validate - validates config on best effort.

type Labels

type Labels struct {
	LabelsString string
	LabelsMap    map[string]string
}

func (*Labels) Merge

func (labels *Labels) Merge(otherLabels map[string]string) map[string]string

Merge labels create a new map with labels merged.

func (*Labels) Set

func (labels *Labels) Set(value string) error

Set implements the flag.Set interface.

func (*Labels) String

func (labels *Labels) String() string

Implement the flag.Value interface

type Resource added in v0.10.0

type Resource struct {
	Limit struct {
		Mem string
		Cpu string
	}
	Request struct {
		Mem string
		Cpu string
	}
}

Resource is useful for generic resource building uses the same memory layout as resources at config

Jump to

Keyboard shortcuts

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