Documentation ¶
Index ¶
Constants ¶
const (
UnLimitedResource = "unlimited"
)
Variables ¶
var WatchNamespaceEnvVar = "WATCH_NAMESPACE"
WatchNamespaceEnvVar is the constant for env variable WATCH_NAMESPACE which specifies the Namespace to watch. An empty value means the operator is running with cluster scope.
Functions ¶
func IsClusterWideAccessAllowed ¶ added in v0.34.0
func IsClusterWideAccessAllowed() bool
IsClusterWideAccessAllowed checks if cluster wide access for components is needed
func MustGetWatchNamespaces ¶ added in v0.42.0
func MustGetWatchNamespaces() []string
MustGetWatchNamespaces returns 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
Types ¶
type BaseOperatorConf ¶
type BaseOperatorConf struct { // enables custom config reloader for vmauth and vmagent, // it should speed-up config reloading process. UseCustomConfigReloader bool `default:"false"` // container registry name prefix, e.g. docker.io ContainerRegistry string `default:""` CustomConfigReloaderImage string `default:"victoriametrics/operator:config-reloader-v0.43.0"` PSPAutoCreateEnabled bool `default:"false"` VMAlertDefault struct { Image string `default:"victoriametrics/vmalert"` Version string `default:"v1.101.0"` Port string `default:"8080"` UseDefaultResources bool `default:"true"` Resource struct { Limit struct { Mem string `default:"500Mi"` Cpu string `default:"200m"` } Request struct { Mem string `default:"200Mi"` Cpu string `default:"50m"` } } ConfigReloaderCPU string `default:"100m"` ConfigReloaderMemory string `default:"25Mi"` ConfigReloadImage string `default:"jimmidyson/configmap-reload:v0.3.0"` } VMAgentDefault struct { Image string `default:"victoriametrics/vmagent"` Version string `default:"v1.101.0"` ConfigReloadImage string `default:"quay.io/prometheus-operator/prometheus-config-reloader:v0.68.0"` Port string `default:"8429"` UseDefaultResources bool `default:"true"` Resource struct { Limit struct { Mem string `default:"500Mi"` Cpu string `default:"200m"` } Request struct { Mem string `default:"200Mi"` Cpu string `default:"50m"` } } ConfigReloaderCPU string `default:"100m"` ConfigReloaderMemory string `default:"25Mi"` } VMSingleDefault struct { Image string `default:"victoriametrics/victoria-metrics"` Version string `default:"v1.101.0"` Port string `default:"8429"` UseDefaultResources bool `default:"true"` Resource struct { Limit struct { Mem string `default:"1500Mi"` Cpu string `default:"1200m"` } Request struct { Mem string `default:"500Mi"` Cpu string `default:"150m"` } } ConfigReloaderCPU string `default:"100m"` ConfigReloaderMemory string `default:"25Mi"` } VMClusterDefault struct { UseDefaultResources bool `default:"true"` VMSelectDefault struct { Image string `default:"victoriametrics/vmselect"` Version string `default:"v1.101.0-cluster"` Port string `default:"8481"` Resource struct { Limit struct { Mem string `default:"1000Mi"` Cpu string `default:"500m"` } Request struct { Mem string `default:"500Mi"` Cpu string `default:"100m"` } } } VMStorageDefault struct { Image string `default:"victoriametrics/vmstorage"` Version string `default:"v1.101.0-cluster"` VMInsertPort string `default:"8400"` VMSelectPort string `default:"8401"` Port string `default:"8482"` Resource struct { Limit struct { Mem string `default:"1500Mi"` Cpu string `default:"1000m"` } Request struct { Mem string `default:"500Mi"` Cpu string `default:"250m"` } } } VMInsertDefault struct { Image string `default:"victoriametrics/vminsert"` Version string `default:"v1.101.0-cluster"` Port string `default:"8480"` Resource struct { Limit struct { Mem string `default:"500Mi"` Cpu string `default:"500m"` } Request struct { Mem string `default:"200Mi"` Cpu string `default:"150m"` } } } } VMAlertManager struct { ConfigReloaderImage string `default:"jimmidyson/configmap-reload:v0.3.0"` ConfigReloaderCPU string `default:"100m"` ConfigReloaderMemory string `default:"25Mi"` AlertmanagerDefaultBaseImage string `default:"prom/alertmanager"` AlertManagerVersion string `default:"v0.27.0"` LocalHost string `default:"127.0.0.1"` UseDefaultResources bool `default:"true"` Resource struct { Limit struct { Mem string `default:"256Mi"` Cpu string `default:"100m"` } Request struct { Mem string `default:"56Mi"` Cpu string `default:"30m"` } } } DisableSelfServiceScrapeCreation bool `default:"false"` VMBackup struct { Image string `default:"victoriametrics/vmbackupmanager"` Version string `default:"v1.101.0-enterprise"` Port string `default:"8300"` UseDefaultResources bool `default:"true"` Resource struct { Limit struct { Mem string `default:"500Mi"` Cpu string `default:"500m"` } Request struct { Mem string `default:"200Mi"` Cpu string `default:"150m"` } } LogLevel string `default:"INFO"` LogFormat string } VMAuthDefault struct { Image string `default:"victoriametrics/vmauth"` Version string `default:"v1.101.0"` ConfigReloadImage string `default:"quay.io/prometheus-operator/prometheus-config-reloader:v0.68.0"` Port string `default:"8427"` UseDefaultResources bool `default:"true"` Resource struct { Limit struct { Mem string `default:"300Mi"` Cpu string `default:"200m"` } Request struct { Mem string `default:"100Mi"` Cpu string `default:"50m"` } } ConfigReloaderCPU string `default:"100m"` ConfigReloaderMemory string `default:"25Mi"` } EnabledPrometheusConverter struct { PodMonitor bool `default:"true"` ServiceScrape bool `default:"true"` PrometheusRule bool `default:"true"` Probe bool `default:"true"` AlertmanagerConfig bool `default:"true"` ScrapeConfig bool `default:"true"` } FilterChildLabelPrefixes []string `default:""` FilterChildAnnotationPrefixes []string `default:""` // adds compare-options and sync-options for prometheus objects converted by operator // it helps to properly use converter with ArgoCD PrometheusConverterAddArgoCDIgnoreAnnotations bool `default:"false"` EnabledPrometheusConverterOwnerReferences bool `default:"false"` // allows filtering for converted labels, labels with matched prefix will be ignored FilterPrometheusConverterLabelPrefixes []string `default:""` // allows filtering for converted annotations, annotations with matched prefix will be ignored FilterPrometheusConverterAnnotationPrefixes []string `default:""` Host string `default:"0.0.0.0"` ListenAddress string `default:"0.0.0.0"` DefaultLabels string `default:"managed-by=vm-operator"` Labels Labels `ignored:"true"` LogLevel string LogFormat string ClusterDomainName string `default:""` PodWaitReadyTimeout time.Duration `default:"80s"` PodWaitReadyIntervalCheck time.Duration `default:"5s"` PodWaitReadyInitDelay time.Duration `default:"10s"` // configures force resync interval for VMAgent, VMAlert, VMAlertmanager and VMAuth. ForceResyncInterval time.Duration `default:"60s"` // 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"` // contains filtered or unexported fields }
func MustGetBaseConfig ¶
func MustGetBaseConfig() *BaseOperatorConf
MustGetBaseConfig returns operator configuration with default values populated from env variables
func (*BaseOperatorConf) CustomConfigReloaderImageVersion ¶ added in v0.43.0
func (boc *BaseOperatorConf) CustomConfigReloaderImageVersion() *version.Version
CustomConfigReloaderImageVersion returns version of custom config-reloader
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.
func (BaseOperatorConf) Validate ¶ added in v0.10.0
func (boc BaseOperatorConf) Validate() error
Validate - validates config on best effort.