config

package
v0.69.0 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2026 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

View Source
const (
	UnlimitedQuantity = "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 GetLocalhost added in v0.67.0

func GetLocalhost() string

GetLocalhost returns localhost value depending on global configuration

func IsClusterWideAccessAllowed added in v0.34.0

func IsClusterWideAccessAllowed() bool

IsClusterWideAccessAllowed checks if cluster wide access for components is needed

func UseOldBackupRestorePortNames added in v0.69.0

func UseOldBackupRestorePortNames() bool

UseOldBackupRestorePortNames

Types

type ApplicationDefaults added in v0.48.0

type ApplicationDefaults struct {
	Image               string
	Version             string
	Port                string
	UseDefaultResources bool
	Resource            struct {
		Limit struct {
			Mem              string
			Cpu              string
			EphemeralStorage string
		}
		Request struct {
			Mem              string
			Cpu              string
			EphemeralStorage string
		}
	}
	TerminationGracePeriodSeconds int64
}

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"`
	VPAAPIEnabled     bool   `default:"false" env:"VM_VPA_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"`

	// container registry name prefix, e.g. docker.io
	ContainerRegistry string `default:"" env:"VM_CONTAINERREGISTRY"`
	// Deprecated: use VM_CONFIG_RELOADER_IMAGE instead
	CustomConfigReloaderImage string `env:"VM_CUSTOMCONFIGRELOADERIMAGE"`
	PSPAutoCreateEnabled      bool   `default:"false" env:"VM_PSPAUTOCREATEENABLED"`
	EnableTCP6                bool   `default:"false" env:"VM_ENABLETCP6"`
	// Overrides default loopback interface that will be used for all VM components
	Loopback string `env:"VM_LOOPBACK"`
	// Restores old VMBackup/VMRestore port names to avoid restarts during upgrades
	UseOldBackupRestorePortNames bool `default:"false" env:"VM_USE_OLD_BACKUP_RESTORE_PORT_NAMES"`

	// defines global config reloader parameters
	ConfigReloader struct {
		// default image for all config-reloader containers
		Image    string `default:"victoriametrics/operator:config-reloader-${VM_OPERATOR_VERSION}" env:",expand"`
		Resource struct {
			Limit struct {
				// defines global resource.limits.memory for all config-reloader containers
				Mem string `default:"unlimited" env:"MEMORY"`
				// defines global resource.limits.cpu for all config-reloader containers
				Cpu string `default:"unlimited"`
				// defines global resource.limits.ephemeral-storage for all config-reloader containers
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"LIMIT_"`
			Request struct {
				// defines global resource.requests.memory for all config-reloader containers
				Mem string `default:"25Mi" env:"MEMORY"`
				// defines global resource.requests.cpu for all config-reloader containers
				Cpu string `default:"10m"`
				// defines global resource.requests.ephemeral-storage for all config-reloader containers
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"REQUEST_"`
		}
	} `prefix:"VM_CONFIG_RELOADER_"`

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

	VLAgent struct {
		Image               string `default:"victoriametrics/vlagent"`
		Version             string `env:",expand" default:"${VM_LOGS_VERSION}"`
		Port                string `default:"9429"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem              string `default:"500Mi"`
				Cpu              string `default:"200m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem              string `default:"200Mi"`
				Cpu              string `default:"50m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		TerminationGracePeriodSeconds int64 `default:"30"`
	} `prefix:"VM_VLAGENTDEFAULT_"`

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

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

	VMAlert struct {
		Image               string `default:"victoriametrics/vmalert"`
		Version             string `env:",expand" default:"${VM_METRICS_VERSION}"`
		Port                string `default:"8080"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem              string `default:"500Mi"`
				Cpu              string `default:"200m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem              string `default:"200Mi"`
				Cpu              string `default:"50m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		TerminationGracePeriodSeconds int64 `default:"30"`
	} `prefix:"VM_VMALERTDEFAULT_"`

	VMServiceScrape 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_"`

	VMAgent struct {
		Image               string `default:"victoriametrics/vmagent"`
		Version             string `env:",expand" default:"${VM_METRICS_VERSION}"`
		Port                string `default:"8429"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem              string `default:"500Mi"`
				Cpu              string `default:"200m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem              string `default:"200Mi"`
				Cpu              string `default:"50m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		TerminationGracePeriodSeconds int64 `default:"30"`
	} `prefix:"VM_VMAGENTDEFAULT_"`

	VMAnomaly struct {
		Image               string `default:"victoriametrics/vmanomaly"`
		Version             string `env:",expand" default:"${VM_ANOMALY_VERSION}"`
		Port                string `default:"8490"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem              string `default:"500Mi"`
				Cpu              string `default:"200m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem              string `default:"200Mi"`
				Cpu              string `default:"50m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		TerminationGracePeriodSeconds int64 `default:"30"`
	} `prefix:"VM_VMANOMALYDEFAULT_"`

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

	VMCluster struct {
		UseDefaultResources bool `default:"true" env:"USEDEFAULTRESOURCES"`
		Select              struct {
			Image               string `default:"victoriametrics/vmselect"`
			Version             string `env:",expand" default:"${VM_METRICS_VERSION}-cluster"`
			Port                string `default:"8481"`
			UseDefaultResources bool   `env:"USEDEFAULTRESOURCES,expand" default:"${VM_VMCLUSTERDEFAULT_USEDEFAULTRESOURCES}"`
			Resource            struct {
				Limit struct {
					Mem              string `default:"1000Mi"`
					Cpu              string `default:"500m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem              string `default:"500Mi"`
					Cpu              string `default:"100m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
			TerminationGracePeriodSeconds int64 `default:"30"`
		} `prefix:"VMSELECTDEFAULT_"`
		Storage struct {
			VMInsertPort string `default:"8400" env:"VMINSERTPORT"`
			VMSelectPort string `default:"8401" env:"VMSELECTPORT"`
			Common       struct {
				Image               string `default:"victoriametrics/vmstorage"`
				Version             string `env:",expand" default:"${VM_METRICS_VERSION}-cluster"`
				Port                string `default:"8482"`
				UseDefaultResources bool   `env:"USEDEFAULTRESOURCES,expand" default:"${VM_VMCLUSTERDEFAULT_USEDEFAULTRESOURCES}"`
				Resource            struct {
					Limit struct {
						Mem              string `default:"1500Mi"`
						Cpu              string `default:"1000m"`
						EphemeralStorage string `default:"unlimited"`
					} `prefix:"LIMIT_"`
					Request struct {
						Mem              string `default:"500Mi"`
						Cpu              string `default:"250m"`
						EphemeralStorage string `default:"unlimited"`
					} `prefix:"REQUEST_"`
				} `prefix:"RESOURCE_"`
				TerminationGracePeriodSeconds int64 `default:"30"`
			}
		} `prefix:"VMSTORAGEDEFAULT_"`
		Insert struct {
			Image               string `default:"victoriametrics/vminsert"`
			Version             string `env:",expand" default:"${VM_METRICS_VERSION}-cluster"`
			Port                string `default:"8480"`
			UseDefaultResources bool   `env:"USEDEFAULTRESOURCES,expand" default:"${VM_VMCLUSTERDEFAULT_USEDEFAULTRESOURCES}"`
			Resource            struct {
				Limit struct {
					Mem              string `default:"500Mi"`
					Cpu              string `default:"500m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem              string `default:"200Mi"`
					Cpu              string `default:"150m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
			TerminationGracePeriodSeconds int64 `default:"30"`
		} `prefix:"VMINSERTDEFAULT_"`
	} `prefix:"VM_VMCLUSTERDEFAULT_"`

	VMAlertmanager struct {
		Image               string `default:"prom/alertmanager" env:"ALERTMANAGERDEFAULTBASEIMAGE"`
		Version             string `default:"v0.31.0" env:"ALERTMANAGERVERSION"`
		Port                string `default:"9093"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem              string `default:"256Mi"`
				Cpu              string `default:"100m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem              string `default:"56Mi"`
				Cpu              string `default:"30m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		TerminationGracePeriodSeconds int64 `default:"120"`
	} `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"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem              string `default:"200Mi"`
				Cpu              string `default:"150m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		TerminationGracePeriodSeconds int64 `default:"30"`
	} `prefix:"VM_VMBACKUP_"`
	VMAuth struct {
		Image               string `default:"victoriametrics/vmauth"`
		Version             string `env:",expand" default:"${VM_METRICS_VERSION}"`
		Port                string `default:"8427"`
		UseDefaultResources bool   `default:"true" env:"USEDEFAULTRESOURCES"`
		Resource            struct {
			Limit struct {
				Mem              string `default:"300Mi"`
				Cpu              string `default:"200m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"LIMIT_"`
			Request struct {
				Mem              string `default:"100Mi"`
				Cpu              string `default:"50m"`
				EphemeralStorage string `default:"unlimited"`
			} `prefix:"REQUEST_"`
		} `prefix:"RESOURCE_"`
		TerminationGracePeriodSeconds int64 `default:"30"`
	} `prefix:"VM_VMAUTHDEFAULT_"`

	VLCluster struct {
		UseDefaultResources bool `default:"true" env:"USEDEFAULTRESOURCES"`
		Select              struct {
			Image               string `default:"victoriametrics/victoria-logs"`
			Version             string `env:",expand" default:"${VM_LOGS_VERSION}"`
			Port                string `default:"9471"`
			UseDefaultResources bool   `env:"USEDEFAULTRESOURCES,expand" default:"${VM_VLCLUSTERDEFAULT_USEDEFAULTRESOURCES}"`
			Resource            struct {
				Limit struct {
					Mem              string `default:"1024Mi"`
					Cpu              string `default:"1000m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem              string `default:"256Mi"`
					Cpu              string `default:"100m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
			TerminationGracePeriodSeconds int64 `default:"30"`
		} `prefix:"VLSELECTDEFAULT_"`
		Storage struct {
			Image               string `default:"victoriametrics/victoria-logs"`
			Version             string `env:",expand" default:"${VM_LOGS_VERSION}"`
			Port                string `default:"9491"`
			UseDefaultResources bool   `env:"USEDEFAULTRESOURCES,expand" default:"${VM_VLCLUSTERDEFAULT_USEDEFAULTRESOURCES}"`
			Resource            struct {
				Limit struct {
					Mem              string `default:"2048Mi"`
					Cpu              string `default:"1000m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem              string `default:"512Mi"`
					Cpu              string `default:"200m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
			TerminationGracePeriodSeconds int64 `default:"30"`
		} `prefix:"VLSTORAGEDEFAULT_"`
		Insert struct {
			Image               string `default:"victoriametrics/victoria-logs"`
			Version             string `env:",expand" default:"${VM_LOGS_VERSION}"`
			Port                string `default:"9481"`
			UseDefaultResources bool   `env:"USEDEFAULTRESOURCES,expand" default:"${VM_VLCLUSTERDEFAULT_USEDEFAULTRESOURCES}"`
			Resource            struct {
				Limit struct {
					Mem              string `default:"1024Mi"`
					Cpu              string `default:"1000m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem              string `default:"256Mi"`
					Cpu              string `default:"100m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
			TerminationGracePeriodSeconds int64 `default:"30"`
		} `prefix:"VLINSERTDEFAULT_"`
	} `prefix:"VM_VLCLUSTERDEFAULT_"`

	VTCluster struct {
		UseDefaultResources bool `default:"true" env:"USEDEFAULTRESOURCES"`
		Select              struct {
			Image               string `default:"victoriametrics/victoria-traces"`
			Version             string `env:",expand" default:"${VM_TRACES_VERSION}"`
			Port                string `default:"10471"`
			UseDefaultResources bool   `env:"USEDEFAULTRESOURCES,expand" default:"${VM_VTCLUSTERDEFAULT_USEDEFAULTRESOURCES}"`
			Resource            struct {
				Limit struct {
					Mem              string `default:"1024Mi"`
					Cpu              string `default:"1000m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem              string `default:"256Mi"`
					Cpu              string `default:"100m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
			TerminationGracePeriodSeconds int64 `default:"30"`
		} `prefix:"SELECT_"`
		Storage struct {
			Image               string `default:"victoriametrics/victoria-traces"`
			Version             string `env:",expand" default:"${VM_TRACES_VERSION}"`
			Port                string `default:"10491"`
			UseDefaultResources bool   `env:"USEDEFAULTRESOURCES,expand" default:"${VM_VTCLUSTERDEFAULT_USEDEFAULTRESOURCES}"`
			Resource            struct {
				Limit struct {
					Mem              string `default:"2048Mi"`
					Cpu              string `default:"1000m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem              string `default:"512Mi"`
					Cpu              string `default:"200m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
			TerminationGracePeriodSeconds int64 `default:"30"`
		} `prefix:"STORAGE_"`
		Insert struct {
			Image               string `default:"victoriametrics/victoria-traces"`
			Version             string `env:",expand" default:"${VM_TRACES_VERSION}"`
			Port                string `default:"10481"`
			UseDefaultResources bool   `env:"USEDEFAULTRESOURCES,expand" default:"${VM_VTCLUSTERDEFAULT_USEDEFAULTRESOURCES}"`
			Resource            struct {
				Limit struct {
					Mem              string `default:"1024Mi"`
					Cpu              string `default:"1000m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"LIMIT_"`
				Request struct {
					Mem              string `default:"256Mi"`
					Cpu              string `default:"100m"`
					EphemeralStorage string `default:"unlimited"`
				} `prefix:"REQUEST_"`
			} `prefix:"RESOURCE_"`
			TerminationGracePeriodSeconds int64 `default:"30"`
		} `prefix:"INSERT_"`
	} `prefix:"VM_VTCLUSTERDEFAULT_"`

	EnabledPrometheusConverter struct {
		// Deprecated: use command-line flag with value -controller.disableReconcileFor=PodMonitor instead
		PodMonitor bool `default:"true" env:"PODMONITOR"`
		// Deprecated: use command-line flag with value -controller.disableReconcileFor=ServiceMonitor instead
		ServiceMonitor bool `default:"true" env:"SERVICESCRAPE"`
		// Deprecated: use command-line flag with value -controller.disableReconcileFor=PrometheusRule instead
		PrometheusRule bool `default:"true" env:"PROMETHEUSRULE"`
		// Deprecated: use command-line flag with value -controller.disableReconcileFor=Probe instead
		Probe bool `default:"true" env:"PROBE"`
		// Deprecated: use command-line flag with value -controller.disableReconcileFor=AlertmanagerConfig instead
		AlertmanagerConfig bool `default:"true" env:"ALERTMANAGERCONFIG"`
		// Deprecated: use command-line flag with value -controller.disableReconcileFor=ScrapeConfig instead
		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
	AppWaitReadyTimeout time.Duration `default:"80s" env:"VM_APPREADYTIMEOUT"`
	// Defines poll interval for pods ready check
	// at statefulset rollout update
	PodWaitReadyInterval time.Duration `default:"5s" env:"VM_PODWAITREADYINTERVALCHECK"`
	// Defines single pod deadline
	// to wait for transition to ready state
	PodWaitReadyTimeout time.Duration `default:"80s" env:"VM_PODWAITREADYTIMEOUT"`
	// Defines poll interval for PVC ready check
	PVCWaitReadyInterval time.Duration `default:"5s" env:"VM_PVC_WAIT_READY_INTERVAL"`
	// Defines poll timeout for PVC ready check
	PVCWaitReadyTimeout time.Duration `default:"80s" env:"VM_PVC_WAIT_READY_TIMEOUT"`
	// Defines poll interval for VM CRs
	VMWaitReadyInterval time.Duration `default:"5s" env:"VM_WAIT_READY_INTERVAL"`
	// 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

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
		EphemeralStorage string
	}
	Request struct {
		Mem              string
		Cpu              string
		EphemeralStorage 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