Update note 1: the new default preStop hook causes a rolling update of all applicable pods on operator upgrade (on Kubernetes >= 1.29). To avoid this, set VM_ENABLE_DEFAULT_PRESTOP_HOOK=false on the operator before upgrading. Once the upgrade is complete, you can re-enable it by removing the override (or setting it to true) to roll out the hook at a time of your choosing. Alternatively, disable the hook per resource by setting spec.preStopSleepSeconds: 0.
-
Dependency: vmoperator: Updated default versions for VM apps to v1.145.0 version
-
FEATURE: vmoperator: added
VM_COMMON_LABELSandVM_COMMON_ANNOTATIONSenvironment variables to apply common labels/annotations to all Kubernetes resources managed by the operator. These cannot override labels/annotations already set by the operator or viaspec.managedMetadata. This also ensures HTTPRoutes and PVCs include ManagedMetadata labels and annotations -
FEATURE: vmoperator: support enableServiceLinks property in all CRs. See #2194.
-
FEATURE: vmalertmanagerconfig: add
url_fileandalert_source_token_filefields toIncidentioConfig, as file-based alternatives tourlandalert_source_token. See #2222. -
FEATURE: vmoperator: add
statusmetrics for objects managed by each controller. See #2238. -
FEATURE: vmsingle: added
spec.downsamplingfor structured downsampling configuration andspec.retentionFiltersfor structured retention filters configuration. Both require an enterprise license. -
FEATURE: vmcluster: added
spec.downsamplingfor structured downsampling configuration (applied to both vmselect and vmstorage) andspec.vmstorage.retentionFiltersfor structured retention filters configuration. Both require an enterprise license. -
FEATURE: vmoperator: add default
preStoplifecycle hook (15s sleep) to applicable component pods to prevent traffic loss during pod termination. Requires Kubernetes >= 1.29. Storage components (VMStorage,VLStorage,VTStorage) are excluded since their clients handle retries. The sleep duration is configurable viaspec.preStopSleepSecondson any CR; set to0to disable. See #1834. -
FEATURE: vmanomaly: add missing configuration parameters for vmanomaly config parity:
spec.reader.offsetand per-queryoffset,spec.writer.connectionRetryAttempts,spec.server.useReaderConnectionSettings,settings.logger_levels, and theexact/infer_everyparameters of the backtesting scheduler. Previously these keys were rejected by strict config parsing. -
FEATURE: vmcluster: add
spec.discoveryfield withenabled,intervalandfilterproperties to configure automatic vmstorage node discovery for vminsert and vmselect. The field can be set globally or overridden per component viaspec.vminsert.discoveryandspec.vmselect.discovery. This is an enterprise feature and requires a valid license key. See automatic vmstorage discovery. -
BUGFIX: vmoperator: update status currentRevision and currentReplicas for StatefulSet with OnDelete update strategy. See #1242.
-
BUGFIX: config-reloader: fix
configreloader_last_reload_success_timestamp_secondsmetric to report time in seconds instead of milliseconds. -
BUGFIX: vmoperator: enable strict CR spec unmarshalling when creating objects. See #2882.
-
BUGFIX: vmoperator: ignore
NotFounderrors, that may occur during attempt to update status on a missing resource. -
BUGFIX: vmagent, vmanomaly: fix VPA scale subresource lookup failure when
spec.shardCountis unset by always reporting at least 1 instatus.shards. See #2229. -
BUGFIX: vmagent: fix HPA targeting the underlying Deployment/StatefulSet (pod replicas) instead of the VMAgent CR scale subresource (
spec.shardCount); HPA now correctly scales the number of shards. See #2229. -
BUGFIX: vmanomaly: emit the
OnlineQuantileModelsmoothing parameter under its correct keyglobal_smoothinginstead of the unrecognizedglobal_smooth, which vmanomaly silently ignored. -
BUGFIX: vmanomaly: pass the configured TLS CA bundle to the reader, writer and monitoring clients. Previously the CA was mounted as a volume but dropped during config generation, so a
tlsConfigwith only a CA produced noverify_tlsreference to it;insecureSkipVerifyis now also propagated correctly. -
BUGFIX: vmanomaly: serialize the
tztimezone ofspec.reader, of each query, and of the periodic scheduler as a string. It was serialized to{}and could not be parsed from a string, so any configuration that settzfailed to reconcile. -
BUGFIX: vmanomaly: fix the
AutoTunedModeltrials parameter spellingn_trials, previously it was rendered asn_trailswhich was silently ignored by vmanomaly. -
BUGFIX: vmanomaly: preserve an explicit
0.0for theanomaly_score_outside_data_rangeparameter (bothsettingsand model level), which was dropped by the underlying float field and silently reverted to the vmanomaly default. -
BUGFIX: vmanomaly: validate online models'
decayagainst the(0, 1]range while still allowing it to be omitted. -
BUGFIX: vmanomaly: accept a float value (for example
0.01) for the isolation forestcontaminationparameter in addition to the stringauto. -
BUGFIX: vmanomaly: omit the
OnlineQuantileModelmin_subseasonkey when it is unset instead of emitting an empty string. -
BUGFIX: vmanomaly: remove the artificial upper bound on
spec.server.maxConcurrentTasks; vmanomaly accepts any positive integer.