Repository: VictoriaMetrics/VictoriaMetrics
Pull request #4416 (2023-06-07 06:38:27)

vmauth: add broken backend backoff flag 
This PR is suggestion of #4415  issue. 



codecov[bot]: ## [Codecov](https://app.codecov.io/gh/VictoriaMetrics/VictoriaMetrics/pull/4416?src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=VictoriaMetrics) Report
Patch coverage has no change and project coverage change: **`-0.06`** :warning:
> Comparison is base [(`3305a69`)](https://app.codecov.io/gh/VictoriaMetrics/VictoriaMetrics/commit/3305a6901cf3e0da7c52e2a91520c8fe4a70c4c2?el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=VictoriaMetrics) 61.33% compared to head [(`68b3a19`)](https://app.codecov.io/gh/VictoriaMetrics/VictoriaMetrics/pull/4416?src=pr&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=VictoriaMetrics) 61.28%.

<details><summary>Additional details and impacted files</summary>


```diff
@@            Coverage Diff             @@
##           master    #4416      +/-   ##
==========================================
- Coverage   61.33%   61.28%   -0.06%     
==========================================
  Files         330      330              
  Lines       59063    59063              
==========================================
- Hits        36224    36194      -30     
- Misses      20866    20892      +26     
- Partials     1973     1977       +4     
```


| [Impacted Files](https://app.codecov.io/gh/VictoriaMetrics/VictoriaMetrics/pull/4416?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=VictoriaMetrics) | Coverage Δ | |
|---|---|---|
| [app/vmauth/auth\_config.go](https://app.codecov.io/gh/VictoriaMetrics/VictoriaMetrics/pull/4416?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=VictoriaMetrics#diff-YXBwL3ZtYXV0aC9hdXRoX2NvbmZpZy5nbw==) | `56.54% <0.00%> (ø)` | |
| [app/vmauth/main.go](https://app.codecov.io/gh/VictoriaMetrics/VictoriaMetrics/pull/4416?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=VictoriaMetrics#diff-YXBwL3ZtYXV0aC9tYWluLmdv) | `0.00% <0.00%> (ø)` | |

... and [7 files with indirect coverage changes](https://app.codecov.io/gh/VictoriaMetrics/VictoriaMetrics/pull/4416/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=VictoriaMetrics)


</details>

[:umbrella: View full report in Codecov by Sentry](https://app.codecov.io/gh/VictoriaMetrics/VictoriaMetrics/pull/4416?src=pr&el=continue&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=VictoriaMetrics).   
:loudspeaker: Do you have feedback about the report comment? [Let us know in this issue](https://about.codecov.io/codecov-pr-comment-feedback/?utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=VictoriaMetrics).

zekker6: @Amper PTAL

Patch:
diff --git a/README.md b/README.md
index 63eb1e071..e59605d4c 100644
--- a/README.md
+++ b/README.md
@@ -117,6 +117,7 @@ Case studies:
 * [Groove X](https://docs.victoriametrics.com/CaseStudies.html#groove-x)
 * [Idealo.de](https://docs.victoriametrics.com/CaseStudies.html#idealode)
 * [MHI Vestas Offshore Wind](https://docs.victoriametrics.com/CaseStudies.html#mhi-vestas-offshore-wind)
+* [Naver](https://docs.victoriametrics.com/CaseStudies.html#naver)
 * [Razorpay](https://docs.victoriametrics.com/CaseStudies.html#razorpay)
 * [Percona](https://docs.victoriametrics.com/CaseStudies.html#percona)
 * [Roblox](https://docs.victoriametrics.com/CaseStudies.html#roblox)
diff --git a/app/vlstorage/main.go b/app/vlstorage/main.go
index 79bcdd93c..efd8dfc21 100644
--- a/app/vlstorage/main.go
+++ b/app/vlstorage/main.go
@@ -121,24 +121,25 @@ func initStorageMetrics(strg *logstorage.Storage) *metrics.Set {
 		return float64(m().FileMergesTotal)
 	})
 
-	ms.NewGauge(`vl_rows{type="inmemory"}`, func() float64 {
+	ms.NewGauge(`vl_storage_rows{type="inmemory"}`, func() float64 {
 		return float64(m().InmemoryRowsCount)
 	})
-	ms.NewGauge(`vl_rows{type="file"}`, func() float64 {
+	ms.NewGauge(`vl_storage_rows{type="file"}`, func() float64 {
 		return float64(m().FileRowsCount)
 	})
-	ms.NewGauge(`vl_parts{type="inmemory"}`, func() float64 {
+	ms.NewGauge(`vl_storage_parts{type="inmemory"}`, func() float64 {
 		return float64(m().InmemoryParts)
 	})
-	ms.NewGauge(`vl_parts{type="file"}`, func() float64 {
+	ms.NewGauge(`vl_storage_parts{type="file"}`, func() float64 {
 		return float64(m().FileParts)
 	})
-	ms.NewGauge(`vl_blocks{type="inmemory"}`, func() float64 {
+	ms.NewGauge(`vl_storage_blocks{type="inmemory"}`, func() float64 {
 		return float64(m().InmemoryBlocks)
 	})
-	ms.NewGauge(`vl_blocks{type="file"}`, func() float64 {
+	ms.NewGauge(`vl_storage_blocks{type="file"}`, func() float64 {
 		return float64(m().FileBlocks)
 	})
+
 	ms.NewGauge(`vl_partitions`, func() float64 {
 		return float64(m().PartitionsCount)
 	})
@@ -146,6 +147,24 @@ func initStorageMetrics(strg *logstorage.Storage) *metrics.Set {
 		return float64(m().StreamsCreatedTotal)
 	})
 
+	ms.NewGauge(`vl_indexdb_rows`, func() float64 {
+		return float64(m().IndexdbItemsCount)
+	})
+	ms.NewGauge(`vl_indexdb_parts`, func() float64 {
+		return float64(m().IndexdbPartsCount)
+	})
+	ms.NewGauge(`vl_indexdb_blocks`, func() float64 {
+		return float64(m().IndexdbBlocksCount)
+	})
+
+	ms.NewGauge(`vl_data_size_bytes{type="indexdb"}`, func() float64 {
+		return float64(m().IndexdbSizeBytes)
+	})
+	ms.NewGauge(`vl_data_size_bytes{type="storage"}`, func() float64 {
+		dm := m()
+		return float64(dm.CompressedInmemorySize + dm.CompressedFileSize)
+	})
+
 	ms.NewGauge(`vl_compressed_data_size_bytes{type="inmemory"}`, func() float64 {
 		return float64(m().CompressedInmemorySize)
 	})
diff --git a/app/vmalert/README.md b/app/vmalert/README.md
index 4015aaa2c..72077ebef 100644
--- a/app/vmalert/README.md
+++ b/app/vmalert/README.md
@@ -361,9 +361,9 @@ For recording rules to work `-remoteWrite.url` must be specified.
 
 ### Alerts state on restarts
 
-`vmalert` is stateless, it holds alerts state in the process memory. Restarting of `vmalert` process
-will reset alerts state in memory. To prevent `vmalert` from losing alerts state it should be configured
-to persist the state to the remote destination via the following flags:
+`vmalert` holds alerts state in the memory. Restart of the `vmalert` process will reset the state of all active alerts 
+in the memory. To prevent `vmalert` from losing the state on restarts configure it to persist the state 
+to the remote database via the following flags:
 
 * `-remoteWrite.url` - URL to VictoriaMetrics (Single) or vminsert (Cluster). `vmalert` will persist alerts state
   to the configured address in the form of [time series](https://docs.victoriametrics.com/keyConcepts.html#time-series)
@@ -1243,8 +1243,6 @@ The shortlist of configuration flags is the following:
      See https://docs.victoriametrics.com/vmalert.html#reading-rules-from-object-storage
      
      Supports an array of values separated by comma or specified via multiple flags.
-  -rule.configCheckInterval duration
-     Interval for checking for changes in '-rule' files. By default, the checking is disabled. Send SIGHUP signal in order to force config check for changes. DEPRECATED - see '-configCheckInterval' instead
   -rule.maxResolveDuration duration
      Limits the maximum duration for automatic alert expiration, which by default is 4 times evaluationInterval of the parent group.
   -rule.resendDelay duration
diff --git a/app/vmalert/main.go b/app/vmalert/main.go
index 358dae710..5a15eff22 100644
--- a/app/vmalert/main.go
+++ b/app/vmalert/main.go
@@ -55,9 +55,6 @@ absolute path to all .tpl files in root.
  -rule.templates="dir/**/*.tpl". Includes all the .tpl files in "dir" subfolders recursively.
 `)
 
-	rulesCheckInterval = flag.Duration("rule.configCheckInterval", 0, "Interval for checking for changes in '-rule' files. "+
-		"By default, the checking is disabled. Send SIGHUP signal in order to force config check for changes. DEPRECATED - see '-configCheckInterval' instead")
-
 	configCheckInterval = flag.Duration("configCheckInterval", 0, "Interval for checking for changes in '-rule' or '-notifier.config' files. "+
 		"By default, the checking is disabled. Send SIGHUP signal in order to force config check for changes.")
 
@@ -311,10 +308,6 @@ See the docs at https://docs.victoriametrics.com/vmalert.html .
 func configReload(ctx context.Context, m *manager, groupsCfg []config.Group, sighupCh <-chan os.Signal) {
 	var configCheckCh <-chan time.Time
 	checkInterval := *configCheckInterval
-	if checkInterval == 0 && *rulesCheckInterval > 0 {
-		logger.Warnf("flag `rule.configCheckInterval` is deprecated - use `configCheckInterval` instead")
-		checkInterval = *rulesCheckInterval
-	}
 	if checkInterval > 0 {
 		ticker := time.NewTicker(checkInterval)
 		configCheckCh = ticker.C
diff --git a/app/vmalert/web.go b/app/vmalert/web.go
index ec24a3edb..3d91fb6aa 100644
--- a/app/vmalert/web.go
+++ b/app/vmalert/web.go
@@ -138,27 +138,8 @@ func (rh *requestHandler) handler(w http.ResponseWriter, r *http.Request) bool {
 		return true
 
 	default:
-		// Support of deprecated links:
-		// * /api/v1/<groupID>/<alertID>/status
-		// * <groupID>/<alertID>/status
-		// TODO: to remove in next versions
-
-		if !strings.HasSuffix(r.URL.Path, "/status") {
-			httpserver.Errorf(w, r, "unsupported path requested: %q ", r.URL.Path)
-			return false
-		}
-		alert, err := rh.alertByPath(strings.TrimPrefix(r.URL.Path, "/api/v1/"))
-		if err != nil {
-			httpserver.Errorf(w, r, "%s", err)
-			return true
-		}
-
-		redirectURL := alert.WebLink()
-		if strings.HasPrefix(r.URL.Path, "/api/v1/") {
-			redirectURL = alert.APILink()
-		}
-		httpserver.Redirect(w, "/"+redirectURL)
-		return true
+		httpserver.Errorf(w, r, "unsupported path requested: %q ", r.URL.Path)
+		return false
 	}
 }
 
@@ -302,41 +283,6 @@ func (rh *requestHandler) listAlerts() ([]byte, error) {
 	return b, nil
 }
 
-func (rh *requestHandler) alertByPath(path string) (*APIAlert, error) {
-	if strings.HasPrefix(path, "/vmalert") {
-		path = strings.TrimLeft(path, "/vmalert")
-	}
-	parts := strings.SplitN(strings.TrimLeft(path, "/"), "/", -1)
-	if len(parts) != 3 {
-		return nil, &httpserver.ErrorWithStatusCode{
-			Err:        fmt.Errorf(`path %q cointains /status suffix but doesn't match pattern "/groupID/alertID/status"`, path),
-			StatusCode: http.StatusBadRequest,
-		}
-	}
-	groupID, err := uint64FromPath(parts[0])
-	if err != nil {
-		return nil, badRequest(fmt.Errorf(`cannot parse groupID: %w`, err))
-	}
-	alertID, err := uint64FromPath(parts[1])
-	if err != nil {
-		return nil, badRequest(fmt.Errorf(`cannot parse alertID: %w`, err))
-	}
-	resp, err := rh.m.AlertAPI(groupID, alertID)
-	if err != nil {
-		return nil, errResponse(err, http.StatusNotFound)
-	}
-	return resp, nil
-}
-
-func uint64FromPath(path string) (uint64, error) {
-	s := strings.TrimRight(path, "/")
-	return strconv.ParseUint(s, 10, 0)
-}
-
-func badRequest(err error) *httpserver.ErrorWithStatusCode {
-	return errResponse(err, http.StatusBadRequest)
-}
-
 func errResponse(err error, sc int) *httpserver.ErrorWithStatusCode {
 	return &httpserver.ErrorWithStatusCode{
 		Err:        err,
diff --git a/app/vmauth/README.md b/app/vmauth/README.md
index 72daeffc2..cf6ea3a19 100644
--- a/app/vmauth/README.md
+++ b/app/vmauth/README.md
@@ -351,6 +351,8 @@ See the docs at https://docs.victoriametrics.com/vmauth.html .
      Prefix for environment variables if -envflag.enable is set
   -eula
      By specifying this flag, you confirm that you have an enterprise license and accept the EULA https://victoriametrics.com/assets/VM_EULA.pdf . This flag is available only in VictoriaMetrics enterprise. See https://docs.victoriametrics.com/enterprise.html
+  -failTimeout duration
+     Sets a delay period for load balancing to skip a malfunctioning backend. (defaults 3s)
   -flagsAuthKey string
      Auth key for /flags endpoint. It must be passed via authKey query arg. It overrides httpAuth.* settings
   -fs.disableMmap
diff --git a/app/vmauth/auth_config.go b/app/vmauth/auth_config.go
index 3c7ce00ed..6fab91dc2 100644
--- a/app/vmauth/auth_config.go
+++ b/app/vmauth/auth_config.go
@@ -134,7 +134,7 @@ func (bu *backendURL) isBroken() bool {
 }
 
 func (bu *backendURL) setBroken() {
-	deadline := fasttime.UnixTimestamp() + 3
+	deadline := fasttime.UnixTimestamp() + uint64((*failTimeout).Seconds())
 	atomic.StoreUint64(&bu.brokenDeadline, deadline)
 }
 
diff --git a/app/vmauth/main.go b/app/vmauth/main.go
index c859e913c..925bfb7c6 100644
--- a/app/vmauth/main.go
+++ b/app/vmauth/main.go
@@ -41,6 +41,7 @@ var (
 	reloadAuthKey        = flag.String("reloadAuthKey", "", "Auth key for /-/reload http endpoint. It must be passed as authKey=...")
 	logInvalidAuthTokens = flag.Bool("logInvalidAuthTokens", false, "Whether to log requests with invalid auth tokens. "+
 		`Such requests are always counted at vmauth_http_request_errors_total{reason="invalid_auth_token"} metric, which is exposed at /metrics page`)
+	failTimeout = flag.Duration("failTimeout", 3*time.Second, "Sets a delay period for load balancing to skip a malfunctioning backend.")
 )
 
 func main() {
diff --git a/app/vmctl/flags.go b/app/vmctl/flags.go
index c41c2cef3..da88ba3f1 100644
--- a/app/vmctl/flags.go
+++ b/app/vmctl/flags.go
@@ -325,8 +325,9 @@ const (
 	vmNativeFilterTimeEnd   = "vm-native-filter-time-end"
 	vmNativeStepInterval    = "vm-native-step-interval"
 
-	vmNativeDisableHTTPKeepAlive = "vm-native-disable-http-keep-alive"
-	vmNativeDisableRetries       = "vm-native-disable-retries"
+	vmNativeDisableBinaryProtocol = "vm-native-disable-binary-protocol"
+	vmNativeDisableHTTPKeepAlive  = "vm-native-disable-http-keep-alive"
+	vmNativeDisableRetries        = "vm-native-disable-retries"
 
 	vmNativeSrcAddr        = "vm-native-src-addr"
 	vmNativeSrcUser        = "vm-native-src-user"
@@ -450,6 +451,14 @@ var (
 			Usage: "Defines whether to disable retries with backoff policy for migration process",
 			Value: false,
 		},
+		&cli.BoolFlag{
+			Name: vmNativeDisableBinaryProtocol,
+			Usage: "Whether to use https://docs.victoriametrics.com/#how-to-export-data-in-json-line-format" +
+				"instead of https://docs.victoriametrics.com/#how-to-export-data-in-native-format API." +
+				"Binary export/import API protocol implies less network and resource usage, as it transfers compressed binary data blocks." +
+				"Non-binary export/import API is less efficient, but supports deduplication if it is configured on vm-native-src-addr side.",
+			Value: false,
+		},
 	}
 )
 
@@ -468,6 +477,7 @@ const (
 	remoteReadHTTPTimeout        = "remote-read-http-timeout"
 	remoteReadHeaders            = "remote-read-headers"
 	remoteReadInsecureSkipVerify = "remote-read-insecure-skip-verify"
+	remoteReadDisablePathAppend  = "remote-read-disable-path-append"
 )
 
 var (
@@ -544,6 +554,11 @@ var (
 			Usage: "Whether to skip TLS certificate verification when connecting to the remote read address",
 			Value: false,
 		},
+		&cli.BoolFlag{
+			Name:  remoteReadDisablePathAppend,
+			Usage: "Whether to disable automatic appending of the path to the remote storage.",
+			Value: true,
+		},
 	}
 )
 
diff --git a/app/vmctl/main.go b/app/vmctl/main.go
index e81746a76..383869d00 100644
--- a/app/vmctl/main.go
+++ b/app/vmctl/main.go
@@ -133,6 +133,7 @@ func main() {
 						LabelName:          c.String(remoteReadFilterLabel),
 						LabelValue:         c.String(remoteReadFilterLabelValue),
 						InsecureSkipVerify: c.Bool(remoteReadInsecureSkipVerify),
+						DisablePathAppend:  c.Bool(remoteReadDisablePathAppend),
 					})
 					if err != nil {
 						return fmt.Errorf("error create remote read client: %s", err)
@@ -254,6 +255,7 @@ func main() {
 						cc:             c.Int(vmConcurrency),
 						disableRetries: c.Bool(vmNativeDisableRetries),
 						isSilent:       c.Bool(globalSilent),
+						isNative:       !c.Bool(vmNativeDisableBinaryProtocol),
 					}
 					return p.run(ctx)
 				},
diff --git a/app/vmctl/remoteread/remoteread.go b/app/vmctl/remoteread/remoteread.go
index c27ed799a..5752ac08a 100644
--- a/app/vmctl/remoteread/remoteread.go
+++ b/app/vmctl/remoteread/remoteread.go
@@ -7,6 +7,7 @@ import (
 	"fmt"
 	"io"
 	"net/http"
+	"net/url"
 	"strings"
 	"time"
 
@@ -23,7 +24,6 @@ import (
 const (
 	defaultReadTimeout = 5 * time.Minute
 	remoteReadPath     = "/api/v1/read"
-	healthPath         = "/-/healthy"
 )
 
 // StreamCallback is a callback function for processing time series
@@ -32,19 +32,22 @@ type StreamCallback func(series *vm.TimeSeries) error
 // Client is an HTTP client for reading
 // time series via remote read protocol.
 type Client struct {
-	addr      string
-	c         *http.Client
-	user      string
-	password  string
-	useStream bool
-	headers   []keyValue
-	matchers  []*prompb.LabelMatcher
+	addr              string
+	disablePathAppend bool
+	c                 *http.Client
+	user              string
+	password          string
+	useStream         bool
+	headers           []keyValue
+	matchers          []*prompb.LabelMatcher
 }
 
 // Config is config for remote read.
 type Config struct {
 	// Addr of remote storage
 	Addr string
+	// DisablePathAppend disable automatic appending of the remote read path
+	DisablePathAppend bool
 	// Timeout defines timeout for HTTP requests
 	// made by remote read client
 	Timeout time.Duration
@@ -105,13 +108,15 @@ func NewClient(cfg Config) (*Client, error) {
 			Timeout:   cfg.Timeout,
 			Transport: utils.Transport(cfg.Addr, cfg.InsecureSkipVerify),
 		},
-		addr:      strings.TrimSuffix(cfg.Addr, "/"),
-		user:      cfg.Username,
-		password:  cfg.Password,
-		useStream: cfg.UseStream,
-		headers:   headers,
-		matchers:  []*prompb.LabelMatcher{m},
+		addr:              strings.TrimSuffix(cfg.Addr, "/"),
+		disablePathAppend: cfg.DisablePathAppend,
+		user:              cfg.Username,
+		password:          cfg.Password,
+		useStream:         cfg.UseStream,
+		headers:           headers,
+		matchers:          []*prompb.LabelMatcher{m},
 	}
+
 	return c, nil
 }
 
@@ -154,27 +159,18 @@ func (c *Client) do(req *http.Request) (*http.Response, error) {
 	return c.c.Do(req)
 }
 
-// Ping checks the health of the read source
-func (c *Client) Ping() error {
-	url := c.addr + healthPath
-	req, err := http.NewRequest(http.MethodGet, url, nil)
-	if err != nil {
-		return fmt.Errorf("cannot create request to %q: %s", url, err)
-	}
-	resp, err := c.do(req)
+func (c *Client) fetch(ctx context.Context, data []byte, streamCb StreamCallback) error {
+	r := bytes.NewReader(data)
+	// by default, we are using a common remote read path
+	u, err := url.JoinPath(c.addr, remoteReadPath)
 	if err != nil {
-		return err
+		return fmt.Errorf("error create url from addr %s and default remote read path %s", c.addr, remoteReadPath)
 	}
-	if resp.StatusCode != http.StatusOK {
-		return fmt.Errorf("bad status code: %d", resp.StatusCode)
+	// we should use full address from the remote-read-src-addr flag
+	if c.disablePathAppend {
+		u = c.addr
 	}
-	return nil
-}
-
-func (c *Client) fetch(ctx context.Context, data []byte, streamCb StreamCallback) error {
-	r := bytes.NewReader(data)
-	url := c.addr + remoteReadPath
-	req, err := http.NewRequest(http.MethodPost, url, r)
+	req, err := http.NewRequest(http.MethodPost, u, r)
 	if err != nil {
 		return fmt.Errorf("failed to create new HTTP request: %w", err)
 	}
diff --git a/app/vmctl/stepper/split.go b/app/vmctl/stepper/split.go
index 11714cfb5..8f890f659 100644
--- a/app/vmctl/stepper/split.go
+++ b/app/vmctl/stepper/split.go
@@ -10,6 +10,8 @@ const (
 	StepMonth string = "month"
 	// StepDay represents a one day interval
 	StepDay string = "day"
+	// StepWeek represents a one week interval
+	StepWeek string = "week"
 	// StepHour represents a one hour interval
 	StepHour string = "hour"
 	// StepMinute represents a one minute interval
@@ -40,6 +42,10 @@ func SplitDateRange(start, end time.Time, step string) ([][]time.Time, error) {
 		nextStep = func(t time.Time) (time.Time, time.Time) {
 			return t, t.AddDate(0, 0, 1)
 		}
+	case StepWeek:
+		nextStep = func(t time.Time) (time.Time, time.Time) {
+			return t, t.Add(7 * 24 * time.Hour)
+		}
 	case StepHour:
 		nextStep = func(t time.Time) (time.Time, time.Time) {
 			return t, t.Add(time.Hour * 1)
diff --git a/app/vmctl/vm_native.go b/app/vmctl/vm_native.go
index 3c8392b9a..8d94d2bbe 100644
--- a/app/vmctl/vm_native.go
+++ b/app/vmctl/vm_native.go
@@ -34,11 +34,12 @@ type vmNativeProcessor struct {
 	cc             int
 	disableRetries bool
 	isSilent       bool
+	isNative       bool
 }
 
 const (
-	nativeExportAddr       = "api/v1/export/native"
-	nativeImportAddr       = "api/v1/import/native"
+	nativeExportAddr       = "api/v1/export"
+	nativeImportAddr       = "api/v1/import"
 	nativeWithBackoffTpl   = `{{ blue "%s:" }} {{ counters . }} {{ bar . "[" "█" (cycle . "█") "▒" "]" }} {{ percent . }}`
 	nativeSingleProcessTpl = `Total: {{counters . }} {{ cycle . "↖" "↗" "↘" "↙" }} Speed: {{speed . }} {{string . "suffix"}}`
 )
@@ -159,9 +160,14 @@ func (p *vmNativeProcessor) runSingle(ctx context.Context, f native.Filter, srcU
 
 func (p *vmNativeProcessor) runBackfilling(ctx context.Context, tenantID string, ranges [][]time.Time, silent bool) error {
 	exportAddr := nativeExportAddr
+	importAddr := nativeImportAddr
+	if p.isNative {
+		exportAddr += "/native"
+		importAddr += "/native"
+	}
 	srcURL := fmt.Sprintf("%s/%s", p.src.Addr, exportAddr)
 
-	importAddr, err := vm.AddExtraLabelsToImportPath(nativeImportAddr, p.dst.ExtraLabels)
+	importAddr, err := vm.AddExtraLabelsToImportPath(importAddr, p.dst.ExtraLabels)
 	if err != nil {
 		return fmt.Errorf("failed to add labels to import path: %s", err)
 	}
diff --git a/app/vmui/packages/vmui/src/api/types.ts b/app/vmui/packages/vmui/src/api/types.ts
index 19b3549fb..17c46f821 100644
--- a/app/vmui/packages/vmui/src/api/types.ts
+++ b/app/vmui/packages/vmui/src/api/types.ts
@@ -24,6 +24,7 @@ export interface TracingData {
 export interface QueryStats {
   seriesFetched?: string;
   resultLength?: number;
+  isPartial?: boolean;
 }
 
 export interface Logs {
diff --git a/app/vmui/packages/vmui/src/components/Configurators/QueryEditor/QueryEditor.tsx b/app/vmui/packages/vmui/src/components/Configurators/QueryEditor/QueryEditor.tsx
index f0ef16c60..863918c2a 100644
--- a/app/vmui/packages/vmui/src/components/Configurators/QueryEditor/QueryEditor.tsx
+++ b/app/vmui/packages/vmui/src/components/Configurators/QueryEditor/QueryEditor.tsx
@@ -7,6 +7,7 @@ import "./style.scss";
 import { QueryStats } from "../../../api/types";
 import Tooltip from "../../Main/Tooltip/Tooltip";
 import { WarningIcon } from "../../Main/Icons";
+import { partialWarning, seriesFetchedWarning } from "./warningText";
 
 export interface QueryEditorProps {
   onChange: (query: string) => void;
@@ -39,7 +40,17 @@ const QueryEditor: FC<QueryEditorProps> = ({
 
   const [openAutocomplete, setOpenAutocomplete] = useState(false);
   const autocompleteAnchorEl = useRef<HTMLDivElement>(null);
-  const showSeriesFetchedWarning = stats?.seriesFetched === "0" && !stats.resultLength;
+
+  const warnings = [
+    {
+      show: stats?.seriesFetched === "0" && !stats.resultLength,
+      text: seriesFetchedWarning
+    },
+    {
+      show: stats?.isPartial,
+      text: partialWarning
+    }
+  ].filter((warning) => warning.show);
 
   const handleSelect = (val: string) => {
     onChange(val);
@@ -108,17 +119,14 @@ const QueryEditor: FC<QueryEditorProps> = ({
         onFoundOptions={handleChangeFoundOptions}
       />
     )}
-    {showSeriesFetchedWarning && (
+    {!!warnings.length && (
       <div className="vm-query-editor-warning">
         <Tooltip
           placement="bottom-right"
           title={(
-            <span className="vm-query-editor-warning__tooltip">
-              {`No match! 
-              This query hasn't selected any time series from database.
-              Either the requested metrics are missing in the database, 
-              or there is a typo in series selector.`}
-            </span>
+            <div className="vm-query-editor-warning__tooltip">
+              {warnings.map((warning, index) => <p key={index}>{warning.text}</p>)}
+            </div>
           )}
         >
           <WarningIcon/>
diff --git a/app/vmui/packages/vmui/src/components/Configurators/QueryEditor/style.scss b/app/vmui/packages/vmui/src/components/Configurators/QueryEditor/style.scss
index 3381222c1..7c8354845 100644
--- a/app/vmui/packages/vmui/src/components/Configurators/QueryEditor/style.scss
+++ b/app/vmui/packages/vmui/src/components/Configurators/QueryEditor/style.scss
@@ -22,6 +22,14 @@
 
     &__tooltip {
       white-space: pre-line;
+
+      p {
+        margin-bottom: $padding-small;
+
+        &:last-child {
+          margin-bottom: 0;
+        }
+      }
     }
   }
 }
diff --git a/app/vmui/packages/vmui/src/components/Configurators/QueryEditor/warningText.ts b/app/vmui/packages/vmui/src/components/Configurators/QueryEditor/warningText.ts
new file mode 100644
index 000000000..de9a9ebfc
--- /dev/null
+++ b/app/vmui/packages/vmui/src/components/Configurators/QueryEditor/warningText.ts
@@ -0,0 +1,7 @@
+export const seriesFetchedWarning = `No match! 
+This query hasn't selected any time series from database.
+Either the requested metrics are missing in the database,
+or there is a typo in series selector.`;
+
+export const partialWarning = `The shown results are marked as PARTIAL.
+The result is marked as partial if one or more vmstorage nodes failed to respond to the query.`;
diff --git a/app/vmui/packages/vmui/src/hooks/useFetchQuery.ts b/app/vmui/packages/vmui/src/hooks/useFetchQuery.ts
index 53a333f5a..7576ecda2 100644
--- a/app/vmui/packages/vmui/src/hooks/useFetchQuery.ts
+++ b/app/vmui/packages/vmui/src/hooks/useFetchQuery.ts
@@ -103,6 +103,7 @@ export const useFetchQuery = ({
         if (response.ok) {
           setQueryStats(prev => [...prev, {
             ...resp?.stats,
+            isPartial: resp?.isPartial,
             resultLength: resp.data.result.length,
           }]);
           setQueryErrors(prev => [...prev, ""]);
diff --git a/dashboards/victorialogs.json b/dashboards/victorialogs.json
index 487216fea..ff6fc7f3f 100644
--- a/dashboards/victorialogs.json
+++ b/dashboards/victorialogs.json
@@ -98,7 +98,7 @@
           },
           "editorMode": "code",
           "exemplar": false,
-          "expr": "sum(vl_rows)",
+          "expr": "sum(vl_storage_rows)",
           "format": "time_series",
           "instant": true,
           "interval": "",
@@ -776,4 +776,4 @@
   "uid": "OqPIZTX4z",
   "version": 4,
   "weekStart": ""
-}
\ No newline at end of file
+}
diff --git a/deployment/docker/Makefile b/deployment/docker/Makefile
index 32897e32d..6029bf6fc 100644
--- a/deployment/docker/Makefile
+++ b/deployment/docker/Makefile
@@ -12,19 +12,21 @@ CERTS_IMAGE := alpine:3.17.3
 GO_BUILDER_IMAGE := golang:1.20.6-alpine
 BUILDER_IMAGE := local/builder:2.0.0-$(shell echo $(GO_BUILDER_IMAGE) | tr :/ __)-1
 BASE_IMAGE := local/base:1.1.4-$(shell echo $(ROOT_IMAGE) | tr :/ __)-$(shell echo $(CERTS_IMAGE) | tr :/ __)
+DOCKER_BUILD ?= docker build
 DOCKER_COMPOSE ?= docker compose
+DOCKER_IMAGE_LS ?= docker image ls --format '{{.Repository}}:{{.Tag}}'
 
 package-base:
-	(docker image ls --format '{{.Repository}}:{{.Tag}}' | grep -q '$(BASE_IMAGE)$$') \
-		|| docker build \
+	($(DOCKER_IMAGE_LS) | grep -q '$(BASE_IMAGE)$$') \
+		|| $(DOCKER_BUILD) \
 			--build-arg root_image=$(ROOT_IMAGE) \
 			--build-arg certs_image=$(CERTS_IMAGE) \
 			--tag $(BASE_IMAGE) \
 			deployment/docker/base
 
 package-builder:
-	(docker image ls --format '{{.Repository}}:{{.Tag}}' | grep -q '$(BUILDER_IMAGE)$$') \
-		|| docker build \
+	($(DOCKER_IMAGE_LS) | grep -q '$(BUILDER_IMAGE)$$') \
+		|| $(DOCKER_BUILD) \
 			--build-arg go_builder_image=$(GO_BUILDER_IMAGE) \
 			--tag $(BUILDER_IMAGE) \
 			deployment/docker/builder
@@ -60,9 +62,9 @@ app-via-docker-windows: package-builder
 			-o bin/$(APP_NAME)-windows$(APP_SUFFIX)-prod.exe $(PKG_PREFIX)/app/$(APP_NAME)
 
 package-via-docker: package-base
-	(docker image ls --format '{{.Repository}}:{{.Tag}}' | grep -q '$(DOCKER_NAMESPACE)/$(APP_NAME):$(PKG_TAG)$(APP_SUFFIX)$(RACE)$$') || (\
+	($(DOCKER_IMAGE_LS) | grep -q '$(DOCKER_NAMESPACE)/$(APP_NAME):$(PKG_TAG)$(APP_SUFFIX)$(RACE)$$') || (\
 		$(MAKE) app-via-docker && \
-		docker build \
+		$(DOCKER_BUILD) \
 			--build-arg src_binary=$(APP_NAME)$(APP_SUFFIX)-prod \
 			--build-arg base_image=$(BASE_IMAGE) \
 			--tag $(DOCKER_NAMESPACE)/$(APP_NAME):$(PKG_TAG)$(APP_SUFFIX)$(RACE) \
@@ -170,7 +172,7 @@ package-via-docker-386:
 	GOARCH=386 $(MAKE) package-via-docker-goarch-nocgo
 
 remove-docker-images:
-	docker image ls --format '{{.Repository}}\t{{.ID}}' | awk '{print $$2}' | xargs docker image rm -f
+	docker image ls --format '{{.ID}}' | xargs docker image rm -f
 
 docker-single-up:
 	$(DOCKER_COMPOSE) -f deployment/docker/docker-compose.yml up -d
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 8d00e396e..942142726 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -25,8 +25,15 @@ The following `tip` changes can be tested by building VictoriaMetrics components
 ## tip
 
 * FEATURE: [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html): add `share_eq_over_time(m[d], eq)` function for calculating the share (in the range `[0...1]`) of raw samples on the given lookbehind window `d`, which are equal to `eq`. See [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4441). Thanks to @Damon07 for the [pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/4725).
+* FEATURE: [vmalert](https://docs.victoriametrics.com/vmalert.html): remove deprecated in [v1.61.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.61.0) `-rule.configCheckInterval` command-line flag. Use `-configCheckInterval` command-line flag instead.
+* FEATURE: [vmalert](https://docs.victoriametrics.com/vmalert.html): remove support of deprecated web links of `/api/v1/<groupID>/<alertID>/status` form in favour of `/api/v1/alerts?group_id=<>&alert_id=<>` links. Links of `/api/v1/<groupID>/<alertID>/status` form were deprecated in v1.79.0. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2825) for details.
+* FEATURE: [vmctl](https://docs.victoriametrics.com/vmctl.html): allow disabling binary export API protocol via `-vm-native-disable-binary-protocol` cmd-line flag when [migrating data from VictoriaMetrics](https://docs.victoriametrics.com/vmctl.html#migrating-data-from-victoriametrics). Disabling binary protocol can be useful for deduplication of the exported data before ingestion. For this, deduplication need [to be configured](https://docs.victoriametrics.com/#deduplication) at `-vm-native-src-addr` side and `-vm-native-disable-binary-protocol` should be set on vmctl side.
+* FEATURE: [vmctl](https://docs.victoriametrics.com/vmctl.html): add support of `week` step for [time-based chunking migration](https://docs.victoriametrics.com/vmctl.html#using-time-based-chunking-of-migration). See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4738).
+* FEATURE: [vmctl](https://docs.victoriametrics.com/vmctl.html): do not add `/api/v1/read` suffix to remote read storage address defined by `--remote-read-src-addr` if a `--remote-read-disable-path-append` command-line flag is set. It allows an overriding path for remote-read API via `--remote-read-src-addr`. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4655).
+* FEATURE: [vmui](https://docs.victoriametrics.com/#vmui): add warning in query field of vmui for partial data responses. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4721).
 
 * BUGFIX: [vmagent](https://docs.victoriametrics.com/vmagent.html): use local scrape timestamps for the scraped metrics unless `honor_timestamps: true` option is explicitly set at [scrape_config](https://docs.victoriametrics.com/sd_configs.html#scrape_configs). This fixes gaps for metrics collected from [cadvisor](https://github.com/google/cadvisor) or similar exporters, which export metrics with invalid timestamps. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4697) and [this comment](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4697#issuecomment-1654614799) for details. The issue has been introduced in [v1.68.0](#v1680).
+* BUGFIX: [vmbackupmanager](https://docs.victoriametrics.com/vmbackupmanager.html): fix panic when creating a backup to a local filesystem on Windows. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4704).
 
 
 ## [v1.92.1](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v1.92.1)
diff --git a/docs/CaseStudies.md b/docs/CaseStudies.md
index 42634c7c4..15a362f9c 100644
--- a/docs/CaseStudies.md
+++ b/docs/CaseStudies.md
@@ -30,6 +30,7 @@ where you can chat with VictoriaMetrics users to get additional references, revi
   - [Groove X](#groove-x)
   - [Idealo.de](#idealode)
   - [MHI Vestas Offshore Wind](#mhi-vestas-offshore-wind)
+  - [Naver][#naver]
   - [Percona](#percona)
   - [Razorpay](#razorpay)
   - [Roblox](#roblox)
@@ -420,6 +421,18 @@ Numbers with current, limited roll out:
 - Data size on disk: 800 GiB
 - Retention period: 3 years
 
+## Naver 
+
+See [our](https://www.navercorp.com/en/) video ["Time Series in the Multiverse of Madness" (in Korean)](https://www.youtube.com/watch?v=OUyXPgVcdw4) about the comparison of Time Series Database, why we have chosen VictoriaMetrics
+We also covered the internals of the VictoriaMetrics data model and Cluster.
+The key areas: 
+
+* Explanation of the importance and role of Monitoring for NaverCorp
+* History overview of Time Series Databases
+* VictoriaMetrics Data model - read and write paths, index structure, compression and the crucial role of the churn rate
+* Time series in the Multiverse Madness 
+* HA and Fault Tolerance - write without data loss, read for no downtime, management of Multiverse
+
 ## Percona
 
 [Percona](https://www.percona.com/) is a leader in providing best-of-breed enterprise-class support, consulting, managed services, training and software for MySQL®, MariaDB®, MongoDB®, PostgreSQL® and other open source databases in on-premises and cloud environments.
diff --git a/docs/README.md b/docs/README.md
index 52d1de851..6bb73fb49 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -120,6 +120,7 @@ Case studies:
 * [Groove X](https://docs.victoriametrics.com/CaseStudies.html#groove-x)
 * [Idealo.de](https://docs.victoriametrics.com/CaseStudies.html#idealode)
 * [MHI Vestas Offshore Wind](https://docs.victoriametrics.com/CaseStudies.html#mhi-vestas-offshore-wind)
+* [Naver](https://docs.victoriametrics.com/CaseStudies.html#naver)
 * [Razorpay](https://docs.victoriametrics.com/CaseStudies.html#razorpay)
 * [Percona](https://docs.victoriametrics.com/CaseStudies.html#percona)
 * [Roblox](https://docs.victoriametrics.com/CaseStudies.html#roblox)
diff --git a/docs/Single-server-VictoriaMetrics.md b/docs/Single-server-VictoriaMetrics.md
index 2c3517e9b..580587cb5 100644
--- a/docs/Single-server-VictoriaMetrics.md
+++ b/docs/Single-server-VictoriaMetrics.md
@@ -128,6 +128,7 @@ Case studies:
 * [Groove X](https://docs.victoriametrics.com/CaseStudies.html#groove-x)
 * [Idealo.de](https://docs.victoriametrics.com/CaseStudies.html#idealode)
 * [MHI Vestas Offshore Wind](https://docs.victoriametrics.com/CaseStudies.html#mhi-vestas-offshore-wind)
+* [Naver](https://docs.victoriametrics.com/CaseStudies.html#naver)
 * [Razorpay](https://docs.victoriametrics.com/CaseStudies.html#razorpay)
 * [Percona](https://docs.victoriametrics.com/CaseStudies.html#percona)
 * [Roblox](https://docs.victoriametrics.com/CaseStudies.html#roblox)
diff --git a/docs/VictoriaLogs/CHANGELOG.md b/docs/VictoriaLogs/CHANGELOG.md
index c23bf0e36..be91f975c 100644
--- a/docs/VictoriaLogs/CHANGELOG.md
+++ b/docs/VictoriaLogs/CHANGELOG.md
@@ -5,6 +5,10 @@ according to [these docs](https://docs.victoriametrics.com/VictoriaLogs/QuickSta
 
 ## tip
 
+* FEATURE: expose the following metrics at [/metrics](monitoring) page:
+  * `vl_data_size_bytes{type="storage"}` - on-disk size for data excluding [log stream](https://docs.victoriametrics.com/VictoriaLogs/keyConcepts.html#stream-fields) indexes.
+  * `vl_data_size_bytes{type="indexdb"}` - on-disk size for [log stream](https://docs.victoriametrics.com/VictoriaLogs/keyConcepts.html#stream-fields) indexes.
+
 ## [v0.3.0](https://github.com/VictoriaMetrics/VictoriaMetrics/releases/tag/v0.3.0-victorialogs)
 
 Released at 2023-07-20
diff --git a/docs/operator/CHANGELOG.md b/docs/operator/CHANGELOG.md
new file mode 100644
index 000000000..45dc37c40
--- /dev/null
+++ b/docs/operator/CHANGELOG.md
@@ -0,0 +1,1441 @@
+# CHANGELOG
+
+## tip
+
+### Breaking changes
+
+- **[vmalert](https://docs.victoriametrics.com/operator/api.html#vmalert): Field `OAuth2` in (HTTPAuth)[https://docs.victoriametrics.com/operator/api.html#httpauth] was renamed to `oauth2`. See [this issue](https://github.com/VictoriaMetrics/operator/issues/522) and [this PR](https://github.com/VictoriaMetrics/operator/pull/689) for details.**
+- **[vmalert](https://docs.victoriametrics.com/operator/api.html#vmalert): Field `bearerTokenFilePath` in (BearerAuth)[https://docs.victoriametrics.com/operator/api.html#bearerauth] was renamed to `bearerTokenFile`. See [this issue](https://github.com/VictoriaMetrics/operator/issues/522) and [this PR](https://github.com/VictoriaMetrics/operator/pull/688/) for details.**
+- **These changes affect following fields:**
+  - **`VMAlert.spec.datasource.OAuth2` -> `VMAlert.spec.datasource.oauth2`,**
+  - **`VMAlert.spec.notifier.OAuth2` -> `VMAlert.spec.notifier.oauth2`,**
+  - **`VMAlert.spec.notifiers[].OAuth2` -> `VMAlert.spec.notifiers[].oauth2`,**
+  - **`VMAlert.spec.remoteRead.OAuth2` -> `VMAlert.spec.remoteRead.oauth2`,**
+  - **`VMAlert.spec.remoteWrite.OAuth2` -> `VMAlert.spec.remoteWrite.oauth2`,**
+  - **`VMAlert.spec.datasource.bearerTokenFilePath` --> `VMAlert.spec.datasource.bearerTokenFile`,**
+  - **`VMAlert.spec.notifier.bearerTokenFilePath` --> `VMAlert.spec.notifier.bearerTokenFile`,**
+  - **`VMAlert.spec.notifiers[].bearerTokenFile` --> `VMAlert.spec.notifiers[].bearerTokenFile`,**
+  - **`VMAlert.spec.remoteRead.bearerTokenFilePath` --> `VMAlert.spec.remoteRead.bearerTokenFile`,**
+  - **`VMAlert.spec.remoteWrite.bearerTokenFilePath` --> `VMAlert.spec.remoteWrite.bearerTokenFile`.**
+
+### Fixes
+
+- operator set resource requests for config-reloader container by default. See [this PR](https://github.com/VictoriaMetrics/operator/pull/695/) for details.
+- fix `attachMetadata` value miscovert for scrape objects. See [this issue](https://github.com/VictoriaMetrics/operator/issues/697) and [this PR](https://github.com/VictoriaMetrics/operator/pull/698) for details.
+- [vmalert](https://docs.victoriametrics.com/operator/api.html#vmalert): fix `tlsCAFile` argument value generation when using secret or configMap. See [this issue](https://github.com/VictoriaMetrics/operator/issues/699) and [this PR](https://github.com/VictoriaMetrics/operator/issues/699) for details.
+- [vmalertmanager](https://docs.victoriametrics.com/operator/api.html#vmalertmanager): fix default request memory and apply default resources if not set. See [this issue](https://github.com/VictoriaMetrics/operator/issues/706) and [this PR](https://github.com/VictoriaMetrics/operator/pull/710) for details.
+
+### Features
+
+- [vmagent](https://docs.victoriametrics.com/operator/api.html#vmagent): add [example config](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmagent_stateful_with_sharding.yaml) for vmagent statefulmode.
+- [vmcluster](https://docs.victoriametrics.com/operator/api.html#vmagent): add [example config](https://github.com/VictoriaMetrics/operator/blob/master/config/examples/vmcluster_with_additional_claim.yaml) for cluster with custom storage claims.
+- [vmrule](https://docs.victoriametrics.com/operator/api.html#vmrule): support `update_entries_limit` field in rules, refer to [alerting rules](https://docs.victoriametrics.com/vmalert.html#alerting-rules). See [this PR](https://github.com/VictoriaMetrics/operator/pull/691) for details.
+- [vmrule](https://docs.victoriametrics.com/operator/api.html#vmrule): support `keep_firing_for` field in rules, refer to [alerting rules](https://docs.victoriametrics.com/vmalert.html#alerting-rules). See [this PR](https://github.com/VictoriaMetrics/operator/pull/711) for details.
+- [vmoperator parameters](https://docs.victoriametrics.com/operator/vars.html): Add option `VM_ENABLESTRICTSECURITY` and enable strict security context by default. See [this issue](https://github.com/VictoriaMetrics/operator/issues/637) and [this PR](https://github.com/VictoriaMetrics/operator/pull/692/) for details.
+
+<a name="v0.35.1"></a>
+## [v0.35.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.35.1) - 12 Jul 2023
+
+### Fixes
+
+- [vmagent](https://docs.victoriametrics.com/operator/api.html#vmagent): fixes regression with remoteWrite authorization (basicAuth/token). When `UseCustomConfigReloader` option was set, operator incorrectly rendered mounts for `vmagent` container. https://github.com/VictoriaMetrics/operator/commit/f2b8cf701a33f91cef19848c857fd6efb7db59dd
+
+[Changes][v0.35.1]
+
+
+<a name="v0.35.0"></a>
+## [v0.35.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.35.0) - 03 Jul 2023
+
+### Fixes
+
+* [vmuser](https://docs.victoriametrics.com/operator/api.html#vmuser): fix vmselect url_map in vmuser. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/655). Thanks [@Haleygo](https://github.com/Haleygo)
+* [vmalert](https://docs.victoriametrics.com/operator/api.html#vmalert): correctly set default port for vmauth components discovery. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/658). Thanks [@Haleygo](https://github.com/Haleygo)
+* [vmuser](https://docs.victoriametrics.com/operator/api.html#vmuser): remove rate limit on delete. In https://github.com/VictoriaMetrics/operator/pull/672. Thanks [@Haleygo](https://github.com/Haleygo)
+* [vmcluster](https://docs.victoriametrics.com/operator/api.html#vmuser): fix spec change check. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/677). Thanks [@Haleygo](https://github.com/Haleygo)
+* Correctly publish multi-arch release at https://github.com/VictoriaMetrics/operator/pull/681. Thanks [@Haleygo](https://github.com/Haleygo)
+
+### Features
+
+* [vmagent](https://docs.victoriametrics.com/operator/api.html#vmagent):add validation when generate static scrape config. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/677). Thanks [@Haleygo](https://github.com/Haleygo)
+* [vmalertmanagerconfig](https://docs.victoriametrics.com/operator/api.html#vmalertmanagerconfig) : add validation for slack receiver url. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/661). Thanks [@Haleygo](https://github.com/Haleygo)
+* [vmauth/vmagent](https://docs.victoriametrics.com/operator/api.html#vmagent): implement configuration initiation for custom config reloader. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/619). Thanks [@Haleygo](https://github.com/Haleygo)
+* add more generators  Thanks [@Haleygo](https://github.com/Haleygo) in https://github.com/VictoriaMetrics/operator/pull/668
+* [vmsingle](https://docs.victoriametrics.com/operator/api.html#vmsingle): add status field. See [this issue for details](https://github.com/VictoriaMetrics/operator/issues/670). Thanks [@Haleygo](https://github.com/Haleygo)
+
+[Changes][v0.35.0]
+
+
+<a name="v0.34.1"></a>
+## [v0.34.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.34.1) - 29 May 2023
+
+### Fixes
+
+- [VMCluster] - fail fast on misconfigured or missing kubernetes pods. It should prevent rare bug with cascade pod deletion. See this [issue](https://github.com/VictoriaMetrics/operator/issues/643) for details
+- [VMAuth/VMAgent]- correctly renders initConfig image with global container registry domain. See this [issue](https://github.com/VictoriaMetrics/operator/issues/654) for details.
+- [VMAgent] - correctly set RBAC permissions for single namespace mode and custom config reloader image. See this [issue](https://github.com/VictoriaMetrics/operator/issues/653) for details.
+
+[Changes][v0.34.1]
+
+
+<a name="v0.34.0"></a>
+## [v0.34.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.34.0) - 24 May 2023
+
+### Breaking changes
+
+* **[Operator]: allows to properly run operator with single namespace. It changes default behavior with WATCH_NAMESPACE param is set.  Operator will no longer make any calls for cluster wide resources and create only single namespace config for `VMAgent`. https://github.com/VictoriaMetrics/operator/issues/641**
+
+### Fixes
+
+* [VMNodeScrape]: fixed selectors for Exists and NotExists operators with empty label Thanks [@Amper](https://github.com/Amper) in https://github.com/VictoriaMetrics/operator/pull/646
+* [VMRule] Add config for vmrule in validating webhook Thanks in https://github.com/VictoriaMetrics/operator/pull/650
+* [VMAgent]: skips misconfigured objects with missed secret references: https://github.com/VictoriaMetrics/operator/issues/648
+* [VMAgent]: correctly renders initContainer for configuration download: https://github.com/VictoriaMetrics/operator/issues/649
+
+### Features
+
+* [VMAlertmanager]: Bump alertmanager to v0.25.0 Thanks [@tamcore](https://github.com/tamcore) in https://github.com/VictoriaMetrics/operator/pull/636
+* [VMCluster] added `clusterNativePort` field to VMSelect/VMInsert for multi-level cluster setup ([#634](https://github.com/VictoriaMetrics/operator/issues/634)) Thanks [@Amper](https://github.com/Amper) in https://github.com/VictoriaMetrics/operator/pull/639
+* [VMRule]: add notifierHeader field in vmrule spec Thanks [@Haleygo](https://github.com/Haleygo) in https://github.com/VictoriaMetrics/operator/pull/622
+* [VMPodScrape]: adds FilterRunning option as prometheus does in https://github.com/VictoriaMetrics/operator/pull/640
+* [VMAuth]: adds latest features in https://github.com/VictoriaMetrics/operator/pull/642
+
+[Changes][v0.34.0]
+
+
+<a name="v0.33.0"></a>
+## [v0.33.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.33.0) - 19 Apr 2023
+
+### Fixes
+
+* [VMAlert]: skip bad rules and improve logging for rules exceed max configmap size https://github.com/VictoriaMetrics/operator/commit/bb754d5c20bb371a197cd6ff5afac1ba86a4d92b
+* [VMAlertmanagerConfig]: fixed error with headers in VMAlertmanagerConfig.Receivers.EmailConfigs.Headers unmarshalling. Thanks [@Amper](https://github.com/Amper) in https://github.com/VictoriaMetrics/operator/pull/610
+* [VMAgent]: fixed keepInput setting for streaming aggregation. Thanks [@Amper](https://github.com/Amper) in https://github.com/VictoriaMetrics/operator/pull/618
+* [VMAlertmanagerConfig]: fix webhook config maxAlerts not work. Thanks [@Haleygo](https://github.com/Haleygo) in https://github.com/VictoriaMetrics/operator/pull/625
+* [VMAgent]: Remove single quotes from remote write headers. Thanks [@axelsccp](https://github.com/axelsccp) in https://github.com/VictoriaMetrics/operator/pull/613
+* [VMAlertmanagerConfig]: fix parse route error and some comments. Thanks [@Haleygo](https://github.com/Haleygo) in https://github.com/VictoriaMetrics/operator/pull/630
+* [VMUser]: properly removes finalizers for objects https://github.com/VictoriaMetrics/operator/commit/8f10113920a353f21fbcc8637076905f2e57bb34
+
+### Features
+
+* [VMAlertmanager]: add option to disable route continue enforce. Thanks [@Haleygo](https://github.com/Haleygo) in https://github.com/VictoriaMetrics/operator/pull/621
+* [VMAlertmanagerConfig]: support set require_tls to false. Thanks [@Haleygo](https://github.com/Haleygo) in https://github.com/VictoriaMetrics/operator/pull/624
+* [VMAlertmanagerConfig]: add sanity check. Thanks [@Haleygo](https://github.com/Haleygo) in https://github.com/VictoriaMetrics/operator/pull/627
+* Makefile: bump Alpine base image to latest v3.17.3. Thanks [@denisgolius](https://github.com/denisgolius) in https://github.com/VictoriaMetrics/operator/pull/628
+* [VMAlertmanagerConfig]: support sound field in pushover config. Thanks [@Haleygo](https://github.com/Haleygo) in https://github.com/VictoriaMetrics/operator/pull/631
+* [VMAgent/VMAuth]: download initial config with initContainer https://github.com/VictoriaMetrics/operator/commit/612e7c8f40659731e7938ef9556eb088c67eb4b7
+
+[Changes][v0.33.0]
+
+
+<a name="v0.32.1"></a>
+## [v0.32.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.32.1) - 16 Mar 2023
+
+### Fixes
+
+* [config]: fixes typo at default vm apps version https://github.com/VictoriaMetrics/operator/issues/608
+* [vmsingle]: conditionally adds stream aggregation config https://github.com/VictoriaMetrics/operator/commit/4a0ca54113afcde439ca4c77e22d3ef1c0d36241
+
+[Changes][v0.32.1]
+
+
+<a name="v0.32.0"></a>
+## [v0.32.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.32.0) - 15 Mar 2023
+
+### Fixes
+
+* [security]: builds docker image with latest `alpine` base image and go `v1.20`.
+
+### Features
+
+* [vmauth]: automatically configures `proxy-protocol` client and `reloadAuthKey` for `config-reloader` container. https://github.com/VictoriaMetrics/operator/commit/611819233bf595a4dbd04b07d7be24b7e994379c
+* [vmagent]: adds `scrapeTimeout` global configuration for `VMAgent` https://github.com/VictoriaMetrics/operator/commit/d1d5024c6befa0961f8d56c82a0554935a4b1878
+* [vmagent]: adds [streaming aggregation](https://docs.victoriametrics.com/stream-aggregation.html) for `remoteWrite` targets https://github.com/VictoriaMetrics/operator/commit/b8baa6c2b72bdda64ebfcc9c3d86d846cd9b3c98 Thanks [@Amper](https://github.com/Amper)
+* [vmsingle]: adds [streaming aggregation](https://docs.victoriametrics.com/stream-aggregation.html) as global configuration for database https://github.com/VictoriaMetrics/operator/commit/b8baa6c2b72bdda64ebfcc9c3d86d846cd9b3c98 Thanks [@Amper](https://github.com/Amper)
+
+[Changes][v0.32.0]
+
+
+<a name="v0.31.0"></a>
+## [v0.31.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.31.0) - 02 Mar 2023
+
+### Fixes
+
+* [hpa]: Fix hpa object since v2beta deprecated in 1.26+ Thanks [@Haleygo](https://github.com/Haleygo) in https://github.com/VictoriaMetrics/operator/pull/593
+* [api]: adds missing generated client CRD entities https://github.com/VictoriaMetrics/operator/issues/599
+
+### Features
+
+* [vmalertmanager]: Add support of vmalertmanager.spec.templates and autoreload dirs for templates and configmaps  thanks [@Amper](https://github.com/Amper) https://github.com/VictoriaMetrics/operator/issues/590 https://github.com/VictoriaMetrics/operator/issues/592
+* [vmalertmanager]: Add support "%SHARD_NUM%" placeholder for vmagent sts/deployment  Thanks [@Amper](https://github.com/Amper) https://github.com/VictoriaMetrics/operator/issues/508
+
+[Changes][v0.31.0]
+
+
+<a name="v0.30.4"></a>
+## [v0.30.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.30.4) - 27 Jan 2023
+
+### Fixes
+
+- vmalertmanagerconfig: properly build `name` setting for  `mute_time_intervals`. It must be uniq https://github.com/VictoriaMetrics/operator/commit/4db1c89abd5360a119e68874d51c27872265acb6
+- vmcluster: add `dedupMinScrape` only if replicationFactor > 1. It must improve overall cluster perfomance. Thanks [@hagen1778](https://github.com/hagen1778) https://github.com/VictoriaMetrics/operator/commit/837d6e71c6298e5a44c3f73f85235560aec4ee60
+- controllers/vmalert: do not delete annotations from created secret. Thanks [@zoetrope](https://github.com/zoetrope) https://github.com/VictoriaMetrics/operator/pull/588
+
+### Features
+
+- vmalertmanagerconfig: adds location, active_time_intervals https://github.com/VictoriaMetrics/operator/commit/66ee8e544f480be386a4a126a6163599ed338705
+
+[Changes][v0.30.4]
+
+
+<a name="v0.30.3"></a>
+## [v0.30.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.30.3) - 16 Jan 2023
+
+### Fixes
+
+- controllers: pass correct selector labels for pvc resize function https://github.com/VictoriaMetrics/operator/commit/e7b57dd73b4fd8dc37b42b7ad7bf5a4d3483caae
+- controllers: kubernetes 1.26+ deprecates v2 autoscaling, add api check for it https://github.com/VictoriaMetrics/operator/issues/583
+
+[Changes][v0.30.3]
+
+
+<a name="v0.30.2"></a>
+## [v0.30.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.30.2) - 12 Jan 2023
+
+### Upgrade notes
+
+* It's recommend to upgrade for this release when `vmagent.spec.statefulMode` is used.
+
+### Fixes
+
+- controllers/vmagent: fixes degradation for vmagent statefulMode https://github.com/VictoriaMetrics/operator/commit/6c26786db2ba0b2e85277418e588eac79e886b6e
+
+[Changes][v0.30.2]
+
+
+<a name="v0.30.1"></a>
+## [v0.30.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.30.1) - 09 Jan 2023
+
+### Fixes
+
+- controllers/vmalert: correctly filter notifiers for namespace selector https://github.com/VictoriaMetrics/operator/commit/2290729fcc1b3775141b54ff71a295bd29457fbd
+- dependency: upgrade deps for fs-notify  https://github.com/VictoriaMetrics/operator/pull/576 Thanks [@yanggangtony](https://github.com/yanggangtony)
+- controllers/options: fixes incorrectly used flags at options https://github.com/VictoriaMetrics/operator/commit/eac040c947ab4821bf6eb0eeae22b9b2d02b938c
+- controllers/self-serviceScrape: prevents matching for auto-created serviceScrapes https://github.com/VictoriaMetrics/operator/issues/578
+- controllers/vmauth: fixes missing ows for serviceScrape https://github.com/VictoriaMetrics/operator/issues/579
+
+### Features
+
+- adds `/ready` and `/health` api endpoints for probes https://github.com/VictoriaMetrics/operator/commit/b74d103998547fae5e69966bb68eddd08ae1ac00
+- controllers/concurrency: introduce new setting for reconcilation concurrency `controller.maxConcurrentReconciles` https://github.com/VictoriaMetrics/operator/commit/e8bbf9159cd61257d11e515fa77510ab2444a557 https://github.com/VictoriaMetrics/operator/issues/575
+- api/relabelConfig: adds missing `if`, `labels` and `match` actions https://github.com/VictoriaMetrics/operator/commit/93c9e780981ceb6869ee2953056a9bd3b6e6eae7
+
+[Changes][v0.30.1]
+
+
+<a name="v0.30.0"></a>
+## [v0.30.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.30.0) - 29 Dec 2022
+
+### Fixes
+
+- vmalertmanagerconfig: fixes duplicates at configuration https://github.com/VictoriaMetrics/operator/issues/554
+- controllers: correctly set current and update revisions for statefulset  https://github.com/VictoriaMetrics/operator/issues/547
+- controller/factory: fix typo in urlRelabelingName Thanks [@dmitryk-dk](https://github.com/dmitryk-dk) in https://github.com/VictoriaMetrics/operator/pull/572
+- controllers/vmalert: fixes notifier selector incorrect matching https://github.com/VictoriaMetrics/operator/issues/569
+- controllers/cluster: fixes HPA labels for vminsert https://github.com/VictoriaMetrics/operator/issues/562
+
+### Features
+
+- adds Scaling subresource for `VMAgent`.  https://github.com/VictoriaMetrics/operator/issues/570
+- add optional namespace label matcher to inhibit rule thanks [@okzheng](https://github.com/okzheng) in https://github.com/VictoriaMetrics/operator/pull/559
+- provide crds yaml as release asset Thanks [@avthart](https://github.com/avthart) in https://github.com/VictoriaMetrics/operator/pull/566
+- child labels filtering https://github.com/VictoriaMetrics/operator/pull/571
+- controllers/vmalert: adds oauth2 and bearer auth for remote dbs in https://github.com/VictoriaMetrics/operator/pull/573
+
+[Changes][v0.30.0]
+
+
+<a name="v0.29.2"></a>
+## [v0.29.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.29.2) - 17 Nov 2022
+
+### Fixes
+
+- vmalertmanagerconfig: fixes duplicates at configuration https://github.com/VictoriaMetrics/operator/issues/554
+- controllers: correctly set current and update revisions for statefulset  https://github.com/VictoriaMetrics/operator/issues/547
+
+[Changes][v0.29.2]
+
+
+<a name="v0.29.1"></a>
+## [v0.29.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.29.1) - 14 Nov 2022
+
+### Fixes
+
+- some typos https://github.com/VictoriaMetrics/operator/pull/548 Thanks [@fatsheep9146](https://github.com/fatsheep9146)
+- update description for parameter to match behaviour  https://github.com/VictoriaMetrics/operator/pull/549 thanks [@zekker6](https://github.com/zekker6)
+- controllers/factory: fix resizing of PVC for vmsingle   https://github.com/VictoriaMetrics/operator/pull/551 thanks [@zekker6](https://github.com/zekker6)
+
+### Features
+
+- Expose no_stale_markers through vm_scrape_params  in https://github.com/VictoriaMetrics/operator/pull/546 Thanks [@tamcore](https://github.com/tamcore)
+- {api/vmsingle,api/vmcluster}: add support of `vmbackupmanager` restore on pod start  https://github.com/VictoriaMetrics/operator/pull/544 thanks [@zekker6](https://github.com/zekker6)
+- api: changes errors handling for objects unmarshal https://github.com/VictoriaMetrics/operator/pull/550
+
+[Changes][v0.29.1]
+
+
+<a name="v0.29.0"></a>
+## [v0.29.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.29.0) - 24 Oct 2022
+
+### Fixes
+
+* vmcluster: reconcile VMStorage in VMCluster even if PodDisruptionBudget does not exist by [@miketth](https://github.com/miketth) in https://github.com/VictoriaMetrics/operator/pull/535
+* crash on Kubernetes 1.25 by [@miketth](https://github.com/miketth) in https://github.com/VictoriaMetrics/operator/pull/536
+* throttling for vmagent and vmalert https://github.com/VictoriaMetrics/operator/commit/63ca52bf140b033ecbc3c40f9efc8579b936ea29
+* vmalertmanagerconfig:  parsing for nested routes https://github.com/VictoriaMetrics/operator/commit/f2bc0c09069c0cec9bec8757fc3bc339231ccfdd https://github.com/VictoriaMetrics/operator/commit/9472f1fe6e69fd4bfc63d5fb3da14c02b6fb4788
+* vmalertmanagerconfig: ownerreference set correctly https://github.com/VictoriaMetrics/operator/commit/2bb5d0234c7b32f27c3f82b007fea409887b54b9
+* vmagent: allows to set maxDiskUsage more then 1GB https://github.com/VictoriaMetrics/operator/commit/47f2b508ee503d03111ec03215466a123e2d3978
+* vmagent: properly merge ports for additional service https://github.com/VictoriaMetrics/operator/commit/05d332d704fd9cf9c490de22a554badc61e86f51
+* vmprobe: correctly set labels for ingress targets https://github.com/VictoriaMetrics/operator/commit/976315cd3dbf57d576414340b1d444d63f8d460d
+
+### Features
+
+* podDistruptionBudget: adds configurable selectors https://github.com/VictoriaMetrics/operator/commit/4f3f5eaf29ad85c6e9b142be5b05ef57b962fcb6
+
+### New Contributors
+
+* [@miketth](https://github.com/miketth) made their first contribution in https://github.com/VictoriaMetrics/operator/pull/535
+
+[Changes][v0.29.0]
+
+
+<a name="v0.28.5"></a>
+## [v0.28.5](https://github.com/VictoriaMetrics/operator/releases/tag/v0.28.5) - 13 Sep 2022
+
+### Fixes
+
+* authorization cache usage https://github.com/VictoriaMetrics/operator/commit/e43bdb6c975b712bf5f169b8fa74c8f7760c82f5 Thanks [@AndrewChubatiuk](https://github.com/AndrewChubatiuk)
+* claimTemplates: fixes CRD for it https://github.com/VictoriaMetrics/operator/commit/a5d2f9f61ecfc37a776d8f8c1b0f1385536e773c
+* vmrules: supress notFound errors https://github.com/VictoriaMetrics/operator/issues/524
+* vmagent: fixes regression at default values for tmpDataPath and maxDiskUsage flags https://github.com/VictoriaMetrics/operator/issues/523
+
+### Features
+
+* vmalertmanager: ignore broken receivers https://github.com/VictoriaMetrics/operator/commit/68bbce1f7809d35b42a39925c09a4ddd61f64a9c
+* service accounts: do not set labels and annotations for external service accounts https://github.com/VictoriaMetrics/operator/commit/2ea1e640c362271484d0627c4ca571fd0afd74b2
+
+[Changes][v0.28.5]
+
+
+<a name="v0.28.4"></a>
+## [v0.28.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.28.4) - 12 Sep 2022
+
+### Fixes
+
+* authorization cache usage https://github.com/VictoriaMetrics/operator/commit/e43bdb6c975b712bf5f169b8fa74c8f7760c82f5 Thanks [@AndrewChubatiuk](https://github.com/AndrewChubatiuk)
+* claimTemplates: fixes CRD for it https://github.com/VictoriaMetrics/operator/commit/a5d2f9f61ecfc37a776d8f8c1b0f1385536e773c
+* vmrules: supress notFound errors https://github.com/VictoriaMetrics/operator/issues/524
+* vmagent: fixes regression at default values for tmpDataPath and maxDiskUsage flags https://github.com/VictoriaMetrics/operator/issues/523
+
+### Features
+
+* vmalertmanager: ignore broken receivers https://github.com/VictoriaMetrics/operator/commit/68bbce1f7809d35b42a39925c09a4ddd61f64a9c
+* service accounts: do not set labels and annotations for external service accounts https://github.com/VictoriaMetrics/operator/commit/2ea1e640c362271484d0627c4ca571fd0afd74b2
+
+[Changes][v0.28.4]
+
+
+<a name="v0.28.3"></a>
+## [v0.28.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.28.3) - 02 Sep 2022
+
+### Fixes
+
+* vmalertmanagerConfig: regression at nested routes parsing https://github.com/VictoriaMetrics/operator/commit/07ce4ca80d3ba09506fc41baaecd7087f799a8aa
+* vmagent: password_file option was ignored https://github.com/VictoriaMetrics/operator/commit/5ef9710976534be651687aaa71b2110b0a1a348f
+
+[Changes][v0.28.3]
+
+
+<a name="v0.28.2"></a>
+## [v0.28.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.28.2) - 01 Sep 2022
+
+### Fixes
+
+* vmalert: regression at basicAuth  https://github.com/VictoriaMetrics/operator/commit/f92463949c9fd8be961c52d98ac7f1f956f7eba3
+* converter/alertmanager: changes parsing for nested routes - added more context and validation webhook https://github.com/VictoriaMetrics/operator/commit/6af6071db733bbccfe066b45c73d0377a082b822
+
+[Changes][v0.28.2]
+
+
+<a name="v0.28.1"></a>
+## [v0.28.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.28.1) - 31 Aug 2022
+
+### Fixes
+
+* vmalert: fixes generated crd https://github.com/VictoriaMetrics/operator/commit/7b5b5b27c00e6ef42edb906ff00912157d21acea
+
+
+[Changes][v0.28.1]
+
+
+<a name="v0.28.0"></a>
+## [v0.28.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.28.0) - 30 Aug 2022
+
+### Fixes
+
+* security: changes base docker image https://github.com/VictoriaMetrics/operator/commit/cda21275517f84b66786e25c5f6b76977ee27a49
+* vmagent: fixes incorrect usage of remoteWriteSettings  https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2946
+* vmalert: password_file usage https://github.com/VictoriaMetrics/operator/commit/45163164662934587eafd6afed7709efa31ddbe8
+
+### Features
+
+* converter: adds support for prometheus `AlertmanagerConfig`. It converts into `VMAlertmanagerConfig`. https://github.com/VictoriaMetrics/operator/commit/0b99bc09b2bb1fede612bc509237f6ee6c7617a5
+* vmalert: tokenFilePath support for any remote endpoint https://github.com/VictoriaMetrics/operator/commit/5b010f4abcd778d35dca7c826bfb84af0e46e08d
+
+[Changes][v0.28.0]
+
+
+<a name="v0.27.2"></a>
+## [v0.27.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.27.2) - 22 Aug 2022
+
+### Fixes
+
+* controllers: fixes `password_file` usage at basicAuth https://github.com/VictoriaMetrics/operator/commit/979f6375d43e33c35137c1006dc3b4be4dba8528
+* config-reloader: properly call gzip.Close method https://github.com/VictoriaMetrics/operator/commit/0d3aac72caf3710172c404fbf89f9a4b125dd97c thanks [@Cosrider](https://github.com/Cosrider)
+
+[Changes][v0.27.2]
+
+
+<a name="v0.27.1"></a>
+## [v0.27.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.27.1) - 17 Aug 2022
+
+### Fixes
+
+* controllers: fixes policy/v1 api detection https://github.com/VictoriaMetrics/operator/pull/513
+
+### Features
+
+* vmalert: added `headers` setting for `remoteRead`, `remoteWrite` and `dataSource` https://github.com/VictoriaMetrics/operator/issues/492
+
+[Changes][v0.27.1]
+
+
+<a name="v0.27.0"></a>
+## [v0.27.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.27.0) - 16 Aug 2022
+
+### Fixes
+
+* Adding support tls endpoint for vmauth config reloader by [@mayurvaid-redvest](https://github.com/mayurvaid-redvest) in https://github.com/VictoriaMetrics/operator/pull/511
+* Custom config-reloader incorrectly watch for directory at `VMAgent` https://github.com/VictoriaMetrics/operator/issues/510
+* Removes validation for `telegram_configs` `parse_mode` validation https://github.com/VictoriaMetrics/operator/issues/506
+* Deletion of `VMAgent` in `StatefulMode` https://github.com/VictoriaMetrics/operator/issues/505
+
+### Features
+
+* Allows ignoring objects at argo-cd converted from prometheus CRD with env var: `VM_PROMETHEUSCONVERTERADDARGOCDIGNOREANNOTATIONS=true` https://github.com/VictoriaMetrics/operator/issues/509
+* `claimTemplates` now supported at `VMCluster`, `VMAlertmanager`, `VMAgent` https://github.com/VictoriaMetrics/operator/issues/507
+* `readinessGates` now supported by CRD objects https://github.com/VictoriaMetrics/operator/commit/29807e65ec817f8a4f095ba5804d0644a4855e46
+* HealthChecks now respects `tls` configured at CRD objects https://github.com/VictoriaMetrics/operator/commit/e43a4d5b22d9a507b2a65839a4ca2ce56f08dff8
+
+### New Contributors
+
+* [@mayurvaid-redvest](https://github.com/mayurvaid-redvest) made their first contribution in https://github.com/VictoriaMetrics/operator/pull/511
+
+[Changes][v0.27.0]
+
+
+<a name="v0.26.3"></a>
+## [v0.26.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.26.3) - 26 Jul 2022
+
+### Fixes
+
+* removes breaking changes introduced at v0.26.0. Operator added `docker.io` as container registry prefix and it may break applications, if private repository was configured at spec.repository.image. Now container registry is not set by default.
+* alertmanager: removes breaking changes introduced at 0.26.0 release with extraArgs https://github.com/VictoriaMetrics/operator/commit/918595389e62e144c8f5ebae7472bcff62ccef44
+
+[Changes][v0.26.3]
+
+
+<a name="v0.26.0"></a>
+## [v0.26.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.26.0) - 25 Jul 2022
+
+### Breaking changes
+
+**This release contains breaking changes that was fixed at v0.26.2 release. It's recommended to use it instead of upgrading to v0.26.0**
+
+### Fixes
+
+* security: new alpine image with security fixes https://github.com/VictoriaMetrics/operator/commit/c991b5f315ebb3176b98f5cb00c64430efa0d9c1
+* alertmanager: metrics endpoint when routePrefix is configured  https://github.com/VictoriaMetrics/operator/pull/488 Thanks [@blesswinsamuel](https://github.com/blesswinsamuel)
+* alertmanager: Automaticly disable high availability mode for 1 replica  in https://github.com/VictoriaMetrics/operator/pull/495. Thanks [@hadesy](https://github.com/hadesy)
+* vmalertmanager: fix extraArgs, add two dashes  https://github.com/VictoriaMetrics/operator/pull/503 Thanks [@flokli](https://github.com/flokli)
+* vmcluster: disables selectNode arg passing to vmselect with enabled `HPA`. It should prevent vmselect cascade restarts https://github.com/VictoriaMetrics/operator/issues/499
+* controllers: changes default rate limiter max delay from 16minutes to 2 minutes. https://github.com/VictoriaMetrics/operator/issues/500
+* vmagent: now properly changes size for volumes at persistentMode https://github.com/VictoriaMetrics/operator/commit/81f09af5fd3b96c975cdd7b797d02e442e2d96d0
+* prometheus converter: adds some missing fields, bumps version dependecy https://github.com/VictoriaMetrics/operator/commit/35f1c26d98e10db06f561e51ee5ff02b9ad72f9d
+
+### Features
+
+* api/v1beta1/VMUser: adds tokenRef  https://github.com/VictoriaMetrics/operator/pull/489
+* api/vmauth: adds host param for ingress https://github.com/VictoriaMetrics/operator/pull/490
+* api/vmcluster: reworks expanding for cluster https://github.com/VictoriaMetrics/operator/pull/494
+* global setting to override container registry by  in https://github.com/VictoriaMetrics/operator/pull/501 Thanks [@tamcore](https://github.com/tamcore)
+* api: new versioned kubernetes client https://github.com/VictoriaMetrics/operator/issues/481
+* api: adds `authorization` configuration for scrape targets
+* api: adds `headers` fields for custom headers passing to targets https://github.com/VictoriaMetrics/operator/commit/0553b60090e51ec800bdbc3698b16752c6551944
+* vmagent: adds `headers` configuration per remote storage urls https://github.com/VictoriaMetrics/operator/commit/e0567210098ad53f9c17cc3e260eaab5f754b2f9
+* vmagent: allow configuring multitenant mode for remote storage urls https://github.com/VictoriaMetrics/operator/commit/e0567210098ad53f9c17cc3e260eaab5f754b2f9
+
+### New Contributors
+
+* [@blesswinsamuel](https://github.com/blesswinsamuel) made their first contribution in https://github.com/VictoriaMetrics/operator/pull/488
+* [@hadesy](https://github.com/hadesy) made their first contribution in https://github.com/VictoriaMetrics/operator/pull/495
+* [@tamcore](https://github.com/tamcore) made their first contribution in https://github.com/VictoriaMetrics/operator/pull/501
+
+[Changes][v0.26.0]
+
+
+<a name="v0.25.1"></a>
+## [v0.25.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.25.1) - 20 May 2022
+
+### Fixes
+
+- PersistentVolumeClaim creation for StatefulSet https://github.com/VictoriaMetrics/operator/pull/483 Thanks [@cnych](https://github.com/cnych)
+
+[Changes][v0.25.1]
+
+
+<a name="v0.25.0"></a>
+## [v0.25.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.25.0) - 19 May 2022
+
+### Breaking changes
+- **Changes `VMRule` API, now `expr` field can be only `string`, `integer` values are not supported anymore. https://github.com/VictoriaMetrics/operator/commit/f468ae02690e79ed72638f845535d19418b042af**
+
+### Fixes
+
+- PagerDuty config generation https://github.com/VictoriaMetrics/operator/commit/eef8e2eece269d1c64094b2f7cdf69beabaa3739 thanks [@okzheng](https://github.com/okzheng)
+- missing `honorTimestamps` for `ServiceMonitor` to `VMServiceScrape` conversion https://github.com/VictoriaMetrics/operator/commit/6728391cc76576fd97571b2efc3bd24c94a4f083 thanks [@gotosre](https://github.com/gotosre)
+- PVC volume automatic expansion for `VMCluster` and `VMAlertmanager` https://github.com/VictoriaMetrics/operator/commit/1eac5826b07e7255309b1b9971730e2b79610f85
+
+### Features
+
+- Added `name` field for `VMUser` https://github.com/VictoriaMetrics/operator/issues/472 thanks [@pavan541cs](https://github.com/pavan541cs)
+- Added `StatefulMode` for `VMAgent` it allows to use `Statefulset` instead of `Deployment` https://github.com/VictoriaMetrics/operator/issues/219
+- Added `Validation Webhook` for `VMRule`, it allows check errors at rules https://github.com/VictoriaMetrics/operator/issues/471
+- Added additional metrics for operator `operator_log_messages_total`, `operator_controller_objects_count`, `operator_reconcile_throttled_events_total`, `vm_app_version`, `vm_app_uptime_seconds`, `vm_app_start_timestamp` https://github.com/VictoriaMetrics/operator/commit/b941a42fb6fdfd8ea99ff190e822cb9314efb9d0 https://github.com/VictoriaMetrics/operator/commit/b3c7286e7dc737c46c4d33aa203c0b598a5ef187
+- Adds rate limiting for `VMAgent` and `VMAlert` reconcilation https://github.com/VictoriaMetrics/operator/commit/dfb6a14e1193089ba5ab112e0acf4e459aba68b4
+
+### New Contributors
+* [@pavan541cs](https://github.com/pavan541cs) made their first contribution in https://github.com/VictoriaMetrics/operator/pull/473
+* [@gotosre](https://github.com/gotosre) made their first contribution in https://github.com/VictoriaMetrics/operator/pull/475
+
+[Changes][v0.25.0]
+
+
+<a name="v0.24.0"></a>
+## [v0.24.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.24.0) - 11 Apr 2022
+
+### Fixes
+
+- Finalizers at UrlRelabelConfig and additionalScrapeConfigs https://github.com/VictoriaMetrics/operator/issues/442
+- vmagent config update after scrape objects secret data changes https://github.com/VictoriaMetrics/operator/issues/443
+- Log typos https://github.com/VictoriaMetrics/operator/issues/459
+- Correctly renders `opsgenia_config` for `VMAlertmanagerConfig` https://github.com/VictoriaMetrics/operator/commit/9128b7f24d5d6d98dcf7abc6f212d57cd39b0e7d thanks [@iyuroch](https://github.com/iyuroch)
+- Updates basic image with CVE fix https://github.com/VictoriaMetrics/operator/commit/f4a9e530be6d5ebd6e450085ec807117b05e80a8
+- Adds missing finalizer for `VMSingle` deployment https://github.com/VictoriaMetrics/operator/commit/06dada488d629d4d321985e80d14ee04e099bdfd thanks [@lujiajing1126](https://github.com/lujiajing1126)
+- `pager_duty` generation for `VMAlertmanagerConfig` https://github.com/VictoriaMetrics/operator/pull/439/files thanks [@okzheng](https://github.com/okzheng)
+- `VMServiceScrape` generation for `vminsert`, previously opentsdb-http port could be included into it https://github.com/VictoriaMetrics/operator/issues/420
+
+### Features
+
+- Allows filtering for Converted Prometheus CRD objects https://github.com/VictoriaMetrics/operator/issues/444
+- Allows overwriting for default arg params https://github.com/VictoriaMetrics/operator/issues/448
+- Allows customization for VMServiceScrape objects generated by operator for it's resources https://github.com/VictoriaMetrics/operator/issues/454 https://github.com/VictoriaMetrics/operator/commit/130e54781e1b193e9e65573df0b76440560db57e  Thanks [@artifactori](https://github.com/artifactori)
+- Allows configure `terminationGracePeriodSeconds` for CRD objects  https://github.com/VictoriaMetrics/operator/issues/460
+- Allows configure `dnsConfig` for CRD objects https://github.com/VictoriaMetrics/operator/commit/dca0b48a175635cecdaf2fe04ea714eb74eecc79 thanks [@fatsheep9146](https://github.com/fatsheep9146)
+- Adds `telegram_configs` for `VMAlertmanagerConfig` https://github.com/VictoriaMetrics/operator/commit/076b7d9665e6ac2979421bd8445083dc08cc32ee
+- Allows set retentionPeriod less then 1 month https://github.com/VictoriaMetrics/operator/issues/430
+
+### New Contributors
+
+* [@okzheng](https://github.com/okzheng) made their first contribution in https://github.com/VictoriaMetrics/operator/pull/439
+* [@iyuroch](https://github.com/iyuroch) made their first contribution in https://github.com/VictoriaMetrics/operator/pull/464
+
+[Changes][v0.24.0]
+
+
+<a name="v0.23.3"></a>
+## [v0.23.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.23.3) - 21 Feb 2022
+
+### Fixes
+
+- fixes retention period for VMSingle and VMCluster, allows to set retentionPeriod lower than 1 month https://github.com/VictoriaMetrics/operator/issues/430
+
+### Features
+
+- allows to control max and min scrape interval for `VMAgent`'s targets with `minScrapeInterval` and `maxScrapeInterval` https://github.com/VictoriaMetrics/operator/commit/3d8183205bef78e877b4f54d7892c4bad47b3971
+
+[Changes][v0.23.3]
+
+
+<a name="v0.23.2"></a>
+## [v0.23.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.23.2) - 14 Feb 2022
+
+### Fixes
+
+- fixed issue with parsing of kubernetes server version https://github.com/VictoriaMetrics/operator/issues/428
+
+[Changes][v0.23.2]
+
+
+<a name="v0.23.1"></a>
+## [v0.23.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.23.1) - 10 Feb 2022
+
+### Fixes
+
+- issue with incorrect vmservicescrape created for vminsert https://github.com/VictoriaMetrics/operator/issues/420
+
+[Changes][v0.23.1]
+
+
+<a name="v0.23.0"></a>
+## [v0.23.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.23.0) - 09 Feb 2022
+
+### Breaking changes
+
+- **job name label was changed, new prefix added with CRD type - probe, podScrape,serviceScrape, nodeScrape and staticScrape**
+
+### Fixes
+
+- fixes job name label with CRD type prefix, it must prevent possible job names collision https://github.com/VictoriaMetrics/operator/commit/3efe28b2de32485aa889118c63093adb291a82ff thanks [@tommy351](https://github.com/tommy351)
+- fixes bearerToken usage for VMAgent remoteWriteSpec https://github.com/VictoriaMetrics/operator/issues/422 thanks [@artifactori](https://github.com/artifactori)
+
+### Features
+
+- check kubernetes api server version for deprecated objects and use proper API for it. First of all it's related with `PodSecurityPolicy`  and `PodDisruptionBudget` https://github.com/VictoriaMetrics/operator/commit/5a64f6c01d535f5500a9d9a81ac851f9f12d547a
+
+[Changes][v0.23.0]
+
+
+<a name="v0.22.1"></a>
+## [v0.22.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.22.1) - 21 Jan 2022
+
+### Fixes
+
+- fixes CSV configuration for operator-hub. It allows to launch operator in single-namespace mode https://github.com/VictoriaMetrics/operator/commit/94c7466224bff664552bae4424a54a036d72886b
+- fixes annotations merge for deployments, it should fix endless reconcile loop https://github.com/VictoriaMetrics/operator/commit/7d26398ac3303f6684dd01ae12e376b05dd16ac8
+
+### Features
+
+- bumps VictoriaMetrics appllications versions to the v1.72.0 https://github.com/VictoriaMetrics/operator/commit/de289af8af8472e5299fc6ff6e99749b58012edd
+
+[Changes][v0.22.1]
+
+
+<a name="v0.22.0"></a>
+## [v0.22.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.22.0) - 26 Dec 2021
+
+### Fixes
+
+- fixes regression for VMAlert rules selector https://github.com/VictoriaMetrics/operator/issues/394
+- fixes build for go 1.17. Removed unneeded deps, upgraded lib versions https://github.com/VictoriaMetrics/operator/issues/392
+- fixes docs example https://github.com/VictoriaMetrics/operator/issues/391
+
+### Features
+
+- moves operator API objects into separate go package. It allows to use operator API without import whole operator package. https://github.com/VictoriaMetrics/operator/commit/9fec1898617ba9f73c6c6c78cdebc1535514e263
+- allows to set `rollingUpdateStrategy` for statefullsets. With optional `rollingUpdateStrategy: rollingUpdate` operator uses kubernetes controller-manager updates for statefulsets, instead of own implementation. Allows kubectl rollout restart command for deployments and statefulsets https://github.com/VictoriaMetrics/operator/issues/389
+- allows to disable namespace label matcher for VMAlertmanager with global option `disableNamespaceMatcher` https://github.com/VictoriaMetrics/operator/issues/390
+
+[Changes][v0.22.0]
+
+
+<a name="v0.21.0"></a>
+## [v0.21.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.21.0) - 30 Nov 2021
+
+### Breaking changes
+
+- **Rollback changes for default behavior for CR selectors, such as serviceScrapeSelector at vmagent.spec. With new option `spec.selectAllByDefault: true` default behavior changes for select all on nil (as was at 0.20 version). https://github.com/VictoriaMetrics/operator/issues/383**
+- **moves `ingress` api to `networking/v1` for `VMAuth`, minimal kubernetes supported version for `VMAuth` 1.19 https://github.com/VictoriaMetrics/operator/commit/2c6f81eb91452a7672907aa25acd392ef0777941**
+
+### Fixes
+
+- removes HPA from cache watch, it must remove errors at cluster without such api https://github.com/VictoriaMetrics/operator/commit/04bab9c486babed100522ec12fce3967e4dd5a13
+- labels and annotations update for auto-generated serviceScrape components.
+- typos at quick-start https://github.com/VictoriaMetrics/operator/commit/e411cfe75b4ff3d57fd532e12c901eda5934645c thanks [@marcbachmann](https://github.com/marcbachmann)
+
+### Features
+
+- Adds alertmanager service scrape auto generation https://github.com/VictoriaMetrics/operator/issues/385 thanks [@FRosner](https://github.com/FRosner)
+- Auto-add routing for vminsert and vmselect CRD components for `VMUser` https://github.com/VictoriaMetrics/operator/issues/379
+- Updates docs for `VMAuth`https://github.com/VictoriaMetrics/operator/blob/master/docs/auth.MD
+- Allows changing default disk space usage for `VMAgent` https://github.com/VictoriaMetrics/operator/pull/381 thanks [@arctan90](https://github.com/arctan90)
+- Adds Arch labels for clusterversion template https://github.com/VictoriaMetrics/operator/commit/9e89c3b2459fb85faa8e973fa1f1558d924000f3 thanks [@yselkowitz](https://github.com/yselkowitz)
+- improves docs and fixes typos https://github.com/VictoriaMetrics/operator/commit/ae248dcb352a092d9f9caee87454b1ad25650a4c thanks [@flokli](https://github.com/flokli)
+
+[Changes][v0.21.0]
+
+
+<a name="v0.20.3"></a>
+## [v0.20.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.20.3) - 10 Nov 2021
+
+#### Fixes
+
+- changes v1.SecretKeySelector value for pointer, it should help mitigate null error for v1.SecretKeySelector.Key https://github.com/VictoriaMetrics/operator/issues/365
+- Fixes `VMAlertmanagerConfig` - some configurations didn't add `send_resolved` option properly to the configration. https://github.com/VictoriaMetrics/operator/commit/6ee75053a4af2a163619908cd10ba4ec051755ab
+
+[Changes][v0.20.3]
+
+
+<a name="v0.20.2"></a>
+## [v0.20.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.20.2) - 07 Nov 2021
+
+#### Fixes
+
+- regression at statefulset update process https://github.com/VictoriaMetrics/operator/issues/366
+- adds nullable option for v1.SecretKeySelector https://github.com/VictoriaMetrics/operator/issues/365
+
+[Changes][v0.20.2]
+
+
+<a name="v0.20.1"></a>
+## [v0.20.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.20.1) - 28 Oct 2021
+
+#### Fixes
+
+- regression at alertmanager config generation https://github.com/VictoriaMetrics/operator/commit/0f4368be57b2ccb2fbaebe9ce5fb4394299d89b3
+
+[Changes][v0.20.1]
+
+
+<a name="v0.20.0"></a>
+## [v0.20.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.20.0) - 28 Oct 2021
+
+### Breaking changes
+
+- **changes default behavior for CR selectors, such serviceScrapeSelector at vmagent.spec. Now it select all targets if is missing https://github.com/VictoriaMetrics/operator/commit/519e89b457576099288af2ea135878f6da25b567 See more at docs https://github.com/VictoriaMetrics/operator/blob/master/docs/quick-start.MD#object-selectors**
+- **operator doesn't add cluster domain name for in-cluster communication, now its empty value. It should resolve issue with using operator at clusters with custom k8s domain https://github.com/VictoriaMetrics/operator/issues/354 thanks [@flokli](https://github.com/flokli)**
+
+### Features
+
+- adds ability to set custom headers to the `VMUser` target ref https://github.com/VictoriaMetrics/operator/issues/360
+
+### Fixes
+
+- bearer token at staticScrape https://github.com/VictoriaMetrics/operator/issues/357 thanks [@addreas](https://github.com/addreas)
+- path for the backups at vmcluster https://github.com/VictoriaMetrics/operator/issues/349
+- possible race condition for the cluster backups, now operator adds storage node name into backup path https://github.com/VictoriaMetrics/operator/issues/349
+- secret finalizer deletion for vmagent https://github.com/VictoriaMetrics/operator/issues/343
+- probes for vmagent https://github.com/VictoriaMetrics/operator/commit/f6de9c5774be0a5cd797c145553579e2e76a8df7
+- alertmanagerConfiguration build for slack https://github.com/VictoriaMetrics/operator/issues/339
+
+[Changes][v0.20.0]
+
+
+<a name="v0.19.1"></a>
+## [v0.19.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.19.1) - 28 Sep 2021
+
+### Fixes
+
+- Regression at `VMStaticScrape` - basic auth was incorrectly handled https://github.com/VictoriaMetrics/operator/issues/337
+- Convesion from `PodMonitor` to `VMPodScrape` https://github.com/VictoriaMetrics/operator/issues/335
+
+[Changes][v0.19.1]
+
+
+<a name="v0.19.0"></a>
+## [v0.19.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.19.0) - 24 Sep 2021
+
+### Features
+
+- Adds single-namespace mode for operator https://github.com/VictoriaMetrics/operator/issues/239 Thanks [@g7r](https://github.com/g7r)
+- improves e2e tests thanks [@g7r](https://github.com/g7r)
+- Adds `VMAlert` `Notifier` service discovery  https://github.com/VictoriaMetrics/operator/pull/334
+- Updates `VMRule` - now it can use `vmalert` specific features https://github.com/VictoriaMetrics/operator/pull/331
+- Disables client caching for `Pod`, `Deployment` and `Statefulset`, it should reduce memory consumption https://github.com/VictoriaMetrics/operator/commit/9cfea5d091f072d1a0c6f8115a5e7652b94c6536
+
+### Fixes
+
+- fixes psp rolebinding for operator https://github.com/VictoriaMetrics/operator/issues/323
+- fixes `VMAgent` reconciliation loop https://github.com/VictoriaMetrics/operator/issues/325 Thanks [@silverlyra](https://github.com/silverlyra)
+
+[Changes][v0.19.0]
+
+
+<a name="v0.18.2"></a>
+## [v0.18.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.18.2) - 03 Sep 2021
+
+### Fixes
+
+- Fixes regression at CRD generation https://github.com/VictoriaMetrics/operator/issues/321 https://github.com/VictoriaMetrics/helm-charts/issues/199
+
+[Changes][v0.18.2]
+
+
+<a name="v0.18.1"></a>
+## [v0.18.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.18.1) - 30 Aug 2021
+
+### Fixes
+
+- Fixes regression at CRD generation https://github.com/VictoriaMetrics/operator/issues/316 Thanks [@Cosrider](https://github.com/Cosrider)
+
+[Changes][v0.18.1]
+
+
+<a name="v0.18.0"></a>
+## [v0.18.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.18.0) - 24 Aug 2021
+
+### Deprecations
+
+- **Deprecates `apiextensions.k8s.io/v1beta1` API for CRD. Its still available at legacy mode.**
+
+### Features
+
+- Adds OAuth2 configuration for `VMagent`s remoteWrites and scrape endpoints
+- Adds `TLSConfig` for `VMProbes`
+- Major API update for `VMServiceScrape`, `VMPodScrape`, `VMProbe`, `VMStaticScrape` and `VMNodeScrape`:
+- adds missing config params (sampleLimit and etc)
+- Adds new config options `vm_scrape_params` https://github.com/VictoriaMetrics/operator/issues/303
+- Adds proxyAuth, that allows to authenticate proxy requests https://docs.victoriametrics.com/vmagent.html#scraping-targets-via-a-proxy
+- Adds OAuth2 support.
+- Adds `apiextensions.k8s.io/v1` `CRD` generation, `v1beta1` is now legacy https://github.com/VictoriaMetrics/operator/issues/291
+- Adds new `CRD` `VMAlertmanagerConfig`, it supports only v0.22 `alertmanager` version or above https://github.com/VictoriaMetrics/operator/issues/188
+- Makes `spec.selector` optional for `VMPodScrape` and `VMServiceScrape` https://github.com/VictoriaMetrics/operator/issues/307
+- Bumps alpine image for `3.14.1` - it should fixes security issues.
+- Adds more unit tests and fixes some bugs
+
+### Fixes
+
+- Fixes bug for incorrect finalizer remove https://github.com/VictoriaMetrics/operator/issues/302
+
+[Changes][v0.18.0]
+
+
+<a name="v0.17.2"></a>
+## [v0.17.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.17.2) - 31 Jul 2021
+
+### Features
+
+- Updated docs.
+
+### Fixes
+
+- fixes vmauth default version
+- fixes HPA deletion https://github.com/VictoriaMetrics/operator/issues/296
+- fixes VMAlert datasource TlsConfig https://github.com/VictoriaMetrics/operator/issues/298
+- fixes VMUser target_path_suffix typo at tags.
+
+[Changes][v0.17.2]
+
+
+<a name="v0.17.1"></a>
+## [v0.17.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.17.1) - 28 Jul 2021
+
+### Features
+
+- Updated default versions for vm apps to v1.63.0 version
+- Updated docs.
+
+[Changes][v0.17.1]
+
+
+<a name="v0.17.0"></a>
+## [v0.17.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.17.0) - 27 Jul 2021
+
+### Features
+
+- Changes `VMAuth` config generation, now its possible to add `target_path_suffix` with optional query params https://github.com/VictoriaMetrics/operator/issues/245
+- Changes `VMAuth` config generation - in case of `/` it can generate simple config without url_map and regexp https://github.com/VictoriaMetrics/operator/commit/5dcd998b1814b26f75e3f6b5a38f8c3ee20552ec
+- Reworks `annotations` merge  https://github.com/VictoriaMetrics/operator/commit/90ae15e300bff68b9140e65819b2a5e1e972b9a0
+
+### Fixes
+
+- Reduces memory usage - coz of improper label selectors and cache usage operator consumed a lot of memory https://github.com/VictoriaMetrics/operator/issues/285
+- Fixes VMAlert default image tag typo https://github.com/VictoriaMetrics/operator/issues/287
+- Fixes logging configuration https://github.com/VictoriaMetrics/operator/issues/281
+- Fixes new config reloader watch logic: https://github.com/VictoriaMetrics/operator/commit/35cadb04b828238ffdec67b3fd1ae7430543055d
+- Fixes `VMServiceScrape` for `VMAgent` https://github.com/VictoriaMetrics/operator/commit/7bbbf2cd0557260b419e188b72a001572f848e35
+
+[Changes][v0.17.0]
+
+
+<a name="v0.16.0"></a>
+## [v0.16.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.16.0) - 11 Jul 2021
+
+### Breaking Changes
+
+- Changes `VMAgent` `RemoteWriteSpec` - some options were moved to `RemoteWriteSettings` https://github.com/VictoriaMetrics/operator/pull/273
+
+### Features
+- Adds experimental config-reloader implementation, it should help mitigate long configuration sync. It can be enabled with envvar `VM_USECUSTOMCONFIGRELOADER=true`  https://github.com/VictoriaMetrics/operator/issues/124
+- Reduces load on kubernetes apiserver for `VMPodScrape` resources https://github.com/VictoriaMetrics/operator/pull/267 thanks [@fatsheep9146](https://github.com/fatsheep9146)
+- Adds `/debug/pprof` handler at `0.0.0.0:8435` http server.
+
+### Fixes
+
+- Fixes Tls ingress for `VMAuth` https://github.com/VictoriaMetrics/operator/pull/270
+- Fixes endless loop for service account reconciliation https://github.com/VictoriaMetrics/operator/issues/277
+- Fixes `VMAlertmanager` update process https://github.com/VictoriaMetrics/operator/issues/271
+- Fixes ownership for `ArgoCD` based deployments - https://github.com/VictoriaMetrics/operator/issues/255
+- Fixes doc typos https://github.com/VictoriaMetrics/operator/pull/269 thanks [@zasdaym](https://github.com/zasdaym)
+
+[Changes][v0.16.0]
+
+
+<a name="v0.15.2"></a>
+## [v0.15.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.15.2) - 17 Jun 2021
+
+### Features
+
+- reduced CRD size, it should fix operator-hub deployment
+- updated lib versions.
+- updated docs.
+
+[Changes][v0.15.2]
+
+
+<a name="v0.15.1"></a>
+## [v0.15.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.15.1) - 16 Jun 2021
+
+### Fixes
+
+- Fixed panic at `VMCluster` https://github.com/VictoriaMetrics/operator/issues/264
+
+[Changes][v0.15.1]
+
+
+<a name="v0.15.0"></a>
+## [v0.15.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.15.0) - 14 Jun 2021
+
+### Features
+
+- Adds nodeSelector to all CRD Objects https://github.com/VictoriaMetrics/operator/issues/254
+- Adds HPA for `vminsert` and `vmselect` https://github.com/VictoriaMetrics/operator/issues/247
+- Adds new CRD resources - `VMAuth` and `VMUser` https://github.com/VictoriaMetrics/operator/issues/245
+- Adds hostPath support with ability to override `storageDataPath` setting https://github.com/VictoriaMetrics/operator/issues/240
+
+### Fixes
+
+- Adds prometheus-config-reloader version check and updates its version https://github.com/VictoriaMetrics/operator/issues/259
+- Adds ownerReference to ServiceAccounts, it should mitigate ArgoCD issue https://github.com/VictoriaMetrics/operator/issues/255
+- Fixes cluster status update process https://github.com/VictoriaMetrics/operator/issues/253
+- Fixes `VMAlertmanager` config generation https://github.com/VictoriaMetrics/operator/issues/244
+
+[Changes][v0.15.0]
+
+
+<a name="v0.14.2"></a>
+## [v0.14.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.14.2) - 26 Apr 2021
+
+### Fixes
+
+- fixes insertPorts type for `VMCluster`
+
+[Changes][v0.14.2]
+
+
+<a name="v0.14.1"></a>
+## [v0.14.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.14.1) - 22 Apr 2021
+
+### Fixes
+
+- fixes missing args for inline relabel configs.
+
+[Changes][v0.14.1]
+
+
+<a name="v0.14.0"></a>
+## [v0.14.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.14.0) - 22 Apr 2021
+
+### Fixes
+
+- fixes incorrect tlsConfig handling for vmalert https://github.com/VictoriaMetrics/operator/issues/224
+- fixes config sync for relabeling https://github.com/VictoriaMetrics/operator/issues/222
+
+### Features
+
+- improves statefulset rolling update https://github.com/VictoriaMetrics/operator/issues/217
+- adds ability to remove vmstorage from cluster routing https://github.com/VictoriaMetrics/operator/issues/218
+- adds `inlineRelabelConfig` and `inlineUrlRelabelConfig` for vmagent, it allows to define relabeling rules directly at vmagent CR https://github.com/VictoriaMetrics/operator/issues/154
+- adds `inlineScrapeConfig` https://github.com/VictoriaMetrics/operator/pull/230/files
+- adds new RBAC permissions for `vmagent`, it should help to monitor `openshift` cluster correctly https://github.com/VictoriaMetrics/operator/issues/229
+
+[Changes][v0.14.0]
+
+
+<a name="v0.13.1"></a>
+## [v0.13.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.13.1) - 13 Apr 2021
+
+### Fixes
+
+- fixes operator role - added missing permission.
+- fixes operator crash and improper tlsConfig build https://github.com/VictoriaMetrics/operator/issues/215
+
+[Changes][v0.13.1]
+
+
+<a name="v0.13.0"></a>
+## [v0.13.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.13.0) - 09 Apr 2021
+
+### Fixes
+
+- storage resize detection https://github.com/VictoriaMetrics/operator/pull/211 thanks [@lujiajing1126](https://github.com/lujiajing1126)
+- vmagent rbac role  https://github.com/VictoriaMetrics/operator/pull/213 thanks [@viperstars](https://github.com/viperstars)
+- fixes CRD for kubernetes version less then 1.16 https://github.com/VictoriaMetrics/operator/pull/210
+
+### Features
+
+- adds probes customization via CRD https://github.com/VictoriaMetrics/operator/pull/204 thanks [@preved911](https://github.com/preved911)
+
+[Changes][v0.13.0]
+
+
+<a name="v0.12.2"></a>
+## [v0.12.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.12.2) - 31 Mar 2021
+
+### Fixes
+
+- fixes serviceAccount update https://github.com/VictoriaMetrics/operator/issues/207
+
+[Changes][v0.12.2]
+
+
+<a name="v0.12.1"></a>
+## [v0.12.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.12.1) - 30 Mar 2021
+
+### Fixes
+
+- removes liveness probe from vmstorage and `VMSingle` https://github.com/VictoriaMetrics/VictoriaMetrics/issues/1158
+- fixes update process for `VMCluster` and `VMAlertmanager`
+
+[Changes][v0.12.1]
+
+
+<a name="v0.12.0"></a>
+## [v0.12.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.12.0) - 29 Mar 2021
+
+### Breaking changes
+
+- operator automatically resizes `PVC` and recreates `StatefulSet` for `VMCluster` components if needed, be careful with upgrade, if you are manually edited  `PVC` size. In common cases, it must be safe.
+
+### Features
+
+- Adds scraping sharding for `VMAgent`  https://github.com/VictoriaMetrics/operator/issues/177
+- Adds pvc resizing for `VMCluster` and `VMAletermanager`, it also allows to change storage params https://github.com/VictoriaMetrics/operator/issues/161
+- Adds `PodDisruptionBudget` for `VMAgent`, `VMCluster`, `VMAlert` and `VMAlertmanager` https://github.com/VictoriaMetrics/operator/issues/191 Thanks [@umezawatakeshi](https://github.com/umezawatakeshi)
+- Simplifies `topologySpreadConstraints` configuration https://github.com/VictoriaMetrics/operator/issues/191, thanks [@umezawatakeshi](https://github.com/umezawatakeshi)
+
+### Fixes
+
+- Fixes `VMAlert` `rule` arg - it was unproperly escaped https://github.com/VictoriaMetrics/operator/commit/870f258b324dbaec1e3d0d8739ff2feffc27bf0a
+- Fixes `VMProbes`, now it supports relabeling for static targets https://github.com/VictoriaMetrics/operator/commit/b4db7d5128a22d4979d7284e15576322acbc9b4c
+- Fixes `VMStaticScrape` - adds `honorLabels` and `honorTimestamps` setting to CRD
+
+[Changes][v0.12.0]
+
+
+<a name="v0.11.0"></a>
+## [v0.11.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.11.0) - 22 Mar 2021
+
+### Breaking changes
+
+- Adds acceptEULA setting to `VMBackuper`, without it backuper cannot be used. https://github.com/VictoriaMetrics/operator/commit/dc7f9e0f830d1e5f1010e7e96ae99f1932fe549f
+
+### Features
+
+- Adds additional service for all components, its useful for service exposition  https://github.com/VictoriaMetrics/operator/issues/163 thanks [@TinySong](https://github.com/TinySong)
+
+### Fixes
+
+- fixes bug with insert ports.
+- minor fixes to examples.
+
+[Changes][v0.11.0]
+
+
+<a name="v0.10.0"></a>
+## [v0.10.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.10.0) - 14 Mar 2021
+
+### Features
+
+- Added finalizers to objects created by operator. It must fix an issue with resource deletion by controller manager. Note, it requires additional rbac access. https://github.com/VictoriaMetrics/operator/issues/159 https://github.com/VictoriaMetrics/operator/pull/189
+- Added new resouce for static targets scrapping - `VMStaticScrape` https://github.com/VictoriaMetrics/operator/issues/155
+- Added `unlimited` param for default resources - https://github.com/VictoriaMetrics/operator/issues/181
+- Added clusterVersion spec to `VMCluster` it should simplify management https://github.com/VictoriaMetrics/operator/issues/176
+
+### Fixes
+
+- fixes bug with incorrect object reconciliation - labelMatch heuristic was broken.
+- fixes race condition on vmagent reconciliation.
+- fixes `VMAlertmanager` version parse https://github.com/VictoriaMetrics/operator/pull/179 thanks [@morimoto-cybozu](https://github.com/morimoto-cybozu)
+- other little improvements.
+
+[Changes][v0.10.0]
+
+
+<a name="v0.9.1"></a>
+## [v0.9.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.9.1) - 22 Feb 2021
+
+### Features
+
+- adds externalLabels for vmalert https://github.com/VictoriaMetrics/operator/issues/160
+
+### Fixes
+
+- rbac role namespace.
+
+[Changes][v0.9.1]
+
+
+<a name="v0.9.0"></a>
+## [v0.9.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.9.0) - 21 Feb 2021
+
+### Features
+
+- adds finalizers to the CRDs, it must prevent deletion by controller manager and clean-up created resources properly. https://github.com/VictoriaMetrics/operator/issues/159
+
+### Fixes
+
+- rbac role https://github.com/VictoriaMetrics/operator/issues/166
+- fixes incorrect converter start and race condition.
+
+[Changes][v0.9.0]
+
+
+<a name="v0.8.0"></a>
+## [v0.8.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.8.0) - 09 Feb 2021
+
+### Features
+
+- adds VMPodScrape basic auth, token and tls connection support https://github.com/VictoriaMetrics/operator/issues/151
+- adds `insertPorts` for `VMSingle` and `VMCluster`, it allows to configure ingestion ports for OpenTSDB,Graphite and Influx servers https://github.com/VictoriaMetrics/operator/pull/157
+
+### Fixes
+
+- fixes operator-hub docs broken links.
+- fixes panic at vmcluster.
+
+[Changes][v0.8.0]
+
+
+<a name="v0.7.4"></a>
+## [v0.7.4](https://github.com/VictoriaMetrics/operator/releases/tag/v0.7.4) - 25 Jan 2021
+
+### Fixes
+
+- fixed ExtraArgs typo https://github.com/VictoriaMetrics/operator/pull/150 thanks [@jansyk13](https://github.com/jansyk13)
+
+[Changes][v0.7.4]
+
+
+<a name="v0.7.3"></a>
+## [v0.7.3](https://github.com/VictoriaMetrics/operator/releases/tag/v0.7.3) - 20 Jan 2021
+
+### Fixes
+
+- fixed panic at vmcluster https://github.com/VictoriaMetrics/operator/issues/147 thanks [@gideshrp1JL](https://github.com/gideshrp1JL)
+
+[Changes][v0.7.3]
+
+
+<a name="v0.7.2"></a>
+## [v0.7.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.7.2) - 17 Jan 2021
+
+### Fixes
+
+- serverName for tlsConfig https://github.com/VictoriaMetrics/operator/issues/144
+- minScrapeInterval for vmstorage https://github.com/VictoriaMetrics/operator/pull/143 Thansk [@umezawatakeshi](https://github.com/umezawatakeshi)
+
+[Changes][v0.7.2]
+
+
+<a name="v0.7.1"></a>
+## [v0.7.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.7.1) - 01 Jan 2021
+
+### Fixes
+
+-  `VMAlert` deploy inconsistent update https://github.com/VictoriaMetrics/operator/issues/140
+
+### Features
+
+- adds heuristic for selector match between `VMRule`, `VMNodeScrape`, `VMProbe`, `VMServiceScrape` and `VMPodScrape` and corresponding object - `VMAlert` or `VMAgent. It must speed up reconciliation in case of multi-tenancy.
+
+[Changes][v0.7.1]
+
+
+<a name="v0.7.0"></a>
+## [v0.7.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.7.0) - 30 Dec 2020
+
+### Fixes
+
+- https://github.com/VictoriaMetrics/operator/pull/133 VMNodeScrape - fixes nodeScrapeNamespaceSelector. Thanks [@umezawatakeshi](https://github.com/umezawatakeshi)
+- VMAlert notifiers support per notifier tlsInSecure. Note, you have to upgrade `vmalert` to v1.51 release.
+- Removes null Status and creationTimestamp fields for CRDs.
+- https://github.com/VictoriaMetrics/operator/issues/132 - fixes behavior if object was deleted.
+- minor fixes to samples for operator-hub.
+
+### Features
+
+- https://github.com/VictoriaMetrics/operator/issues/131 adds support for classic relabelConfigs `target_label` and `source_labels`.
+- https://github.com/VictoriaMetrics/operator/issues/127 adds `discoveryRole` with `endpoints`, `endpointslices` and `service` options.
+
+[Changes][v0.7.0]
+
+
+<a name="v0.6.1"></a>
+## [v0.6.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.6.1) - 16 Dec 2020
+
+### Fixes
+
+- VMAlert TLSConfig build was fixed.
+- Fixes docs for operator-hub.
+
+[Changes][v0.6.1]
+
+
+<a name="v0.6.0"></a>
+## [v0.6.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.6.0) - 15 Dec 2020
+
+### Breaking changes:
+
+- `VMAgent` RemoteWriteSpec was changed, now it doesnt support `flushInterval,maxBlockSize,maxDiskUsagePerURL and queues`. Because its global flags at `vmagent`.  Added `remoteWriteSettings` instead with corresponding settings.
+
+### Features
+
+- New CRD type `VMNodeScrape`, it's useful for kubernetes nodes exporters scraping. See details at https://github.com/VictoriaMetrics/operator/issues/125.
+- `VMAlert` support multiple notifiers with `notifiers` spec.  See details at https://github.com/VictoriaMetrics/operator/issues/117.
+- `VMRule` support `concurrency` for group execution, see detail at vmalert docs  https://github.com/VictoriaMetrics/VictoriaMetrics/tree/master/app/vmalert#groups.
+
+### Fixes
+
+- Updated docs, thanks [@umezawatakeshi](https://github.com/umezawatakeshi)
+- Fixes `VMProbe` spec https://github.com/VictoriaMetrics/operator/issues/125
+- Fixes remoteWrite.labels
+
+[Changes][v0.6.0]
+
+
+<a name="v0.5.0"></a>
+## [v0.5.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.5.0) - 04 Dec 2020
+
+### Breaking changes:
+
+- `VMCluster`'s `serviceAccountName` moved from `VMCluster.spec.vm....serviceAccountName` to the root of spec, and now its located at `VMCluster.spec.serviceAccountName`.
+- Operator requires additional rbac permissions.
+
+### Features
+
+- PodSecurityPolicy automatically created for each object, with own ServiceAccount, ClusterRole and ClusterRoleBinding. Its possible to use custom PSP. https://github.com/VictoriaMetrics/operator/issues/109
+- Adds `VMAgent` rbac auto-creation.
+- Adds ServiceAccount auto-creation. Its possible to use custome ServiceAccount instead of default.
+- Adds `ownerReferences` for converted resources from `Prometheus-operator` CRDs, https://github.com/VictoriaMetrics/operator/pull/105 thanks [@teqwve](https://github.com/teqwve) .
+- Adds `runtimeClassName`, `schedulerName` for all VictoriaMetrics applications.
+- Adds `topologySpreadConstraints` for all VictoriaMetrics applications. https://github.com/VictoriaMetrics/operator/issues/107.
+- Adds `hostAliases` for `VMAgent` and `VMSingle` applications.
+
+### Fixes
+
+- Fixes rbac for openshift deployment, adds emptyDir for `VMAgent`s persistent queue with 1gb size limit. https://github.com/VictoriaMetrics/operator/issues/106
+- Fixes `VMAlert` deployment serviceAccountName.
+- Fixes logger levels for operator.
+- Fixes labels, now is forbidden to change Selector labels for for all VictoriaMetrics applications. This changes will be ignored.
+- Reduces size of CRDs.
+
+[Changes][v0.5.0]
+
+
+<a name="v0.4.0"></a>
+## [v0.4.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.4.0) - 15 Nov 2020
+
+* Adds `VMRules` de-duplication with annotation https://github.com/VictoriaMetrics/operator/issues/99
+* Adds Operator-Hub integration https://github.com/VictoriaMetrics/operator/issues/33
+* Fixes deployment `Resource` definition (omit limits/requests if provided only one specification).
+* Fixes Volumes mounts https://github.com/VictoriaMetrics/operator/issues/97
+* Fixes deployments update loop with extra-args https://github.com/VictoriaMetrics/operator/pull/100 . Thanks [@zhiyin009](https://github.com/zhiyin009)
+* Fixes securityContext field https://github.com/VictoriaMetrics/operator/pull/101 . Thanks [@zhiyin009](https://github.com/zhiyin009)
+* Fixes `VMAgent` start-up error https://github.com/VictoriaMetrics/VictoriaMetrics/issues/879
+
+[Changes][v0.4.0]
+
+
+<a name="v0.3.0"></a>
+## [v0.3.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.3.0) - 29 Oct 2020
+
+* adds fast config update for `VMAlert` https://github.com/VictoriaMetrics/operator/issues/86
+* adds docker multiarch support
+* updates docs and examples https://github.com/VictoriaMetrics/operator/issues/85 thanks [@elmariofredo](https://github.com/elmariofredo)
+* fixes env variables usage with applications https://github.com/VictoriaMetrics/operator/issues/89
+* fixes prometheus relabel config inconsistency https://github.com/VictoriaMetrics/operator/issues/92
+* fixes vmselect args https://github.com/VictoriaMetrics/operator/pull/95 thanks [@zhiyin009](https://github.com/zhiyin009)
+
+[Changes][v0.3.0]
+
+
+<a name="v0.2.1"></a>
+## [v0.2.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.2.1) - 28 Aug 2020
+
+- [#78](https://github.com/VictoriaMetrics/operator/issues/78) fixed bug with rbac - without access to vmsingles api resource, operator wasn't able to start reconciliation loop.
+- [#76](https://github.com/VictoriaMetrics/operator/issues/76) added path prefix support if extraArgs was specified.
+- [#71](https://github.com/VictoriaMetrics/operator/issues/71) arm support with cross compilation.
+
+[Changes][v0.2.1]
+
+
+<a name="v0.2.0"></a>
+## [v0.2.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.2.0) - 23 Aug 2020
+
+- Added VMProbe [#59](https://github.com/VictoriaMetrics/operator/issues/59)
+- Fixed various bug with prometheus api objects conversion.
+- added annotations for control conversion flow [#68](https://github.com/VictoriaMetrics/operator/issues/68)
+
+[Changes][v0.2.0]
+
+
+<a name="v0.1.2"></a>
+## [v0.1.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.1.2) - 21 Aug 2020
+
+- [#66](https://github.com/VictoriaMetrics/operator/issues/66) added path replacement for `CAfile`, `Certfile`, `KeyFile`, `BearerTokenFile` at prometheus api converter.
+- [#65](https://github.com/VictoriaMetrics/operator/issues/65) fixed tlsConfig logic, now configuration file renders correctly, if empty value for Cert, Ca or KeySecret defined at tlsConf
+- minor documentation update
+
+[Changes][v0.1.2]
+
+
+<a name="v0.1.1"></a>
+## [v0.1.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.1.1) - 18 Aug 2020
+
+- fixed issues with crd patching for 1.18 kubernetes version
+- fixed issue with rbac roles
+- upgraded go version to 1.15
+- upgraded operator-sdk version to 1.0.0
+
+[Changes][v0.1.1]
+
+
+<a name="v0.1.0"></a>
+## [v0.1.0](https://github.com/VictoriaMetrics/operator/releases/tag/v0.1.0) - 12 Aug 2020
+
+Starting point of operator releases
+- Documentation update
+
+[Changes][v0.1.0]
+
+
+<a name="v0.0.6"></a>
+## [v0.0.6](https://github.com/VictoriaMetrics/operator/releases/tag/v0.0.6) - 26 Jul 2020
+
+- breaking changes to api (changed group name to operator.victoriametrics.com)
+- changed build and release process
+- migrated to operator sdk 0.19
+
+[Changes][v0.0.6]
+
+
+<a name="v0.0.2"></a>
+## [v0.0.2](https://github.com/VictoriaMetrics/operator/releases/tag/v0.0.2) - 12 Jun 2020
+
+- fixed panic at vmSingle update
+- added support for scraping tls targets with ServiceMonitor TLSConfig
+
+[Changes][v0.0.2]
+
+
+<a name="v0.0.1"></a>
+## [v0.0.1](https://github.com/VictoriaMetrics/operator/releases/tag/v0.0.1) - 06 Jun 2020
+
+it contains basic api objects support:
+1) vmAgent
+2) vmAlert
+3) vmSingle
+4) vmAlertmanager
+
++ prometheus-operator objects:
+1) prometheusRule
+2) serviceMonitor
+3) podMonitor
+
+[Changes][v0.0.1]
+
+
+[v0.35.1]: https://github.com/VictoriaMetrics/operator/compare/v0.35.0...v0.35.1
+[v0.35.0]: https://github.com/VictoriaMetrics/operator/compare/v0.34.1...v0.35.0
+[v0.34.1]: https://github.com/VictoriaMetrics/operator/compare/v0.34.0...v0.34.1
+[v0.34.0]: https://github.com/VictoriaMetrics/operator/compare/v0.33.0...v0.34.0
+[v0.33.0]: https://github.com/VictoriaMetrics/operator/compare/v0.32.1...v0.33.0
+[v0.32.1]: https://github.com/VictoriaMetrics/operator/compare/v0.32.0...v0.32.1
+[v0.32.0]: https://github.com/VictoriaMetrics/operator/compare/v0.31.0...v0.32.0
+[v0.31.0]: https://github.com/VictoriaMetrics/operator/compare/v0.30.4...v0.31.0
+[v0.30.4]: https://github.com/VictoriaMetrics/operator/compare/v0.30.3...v0.30.4
+[v0.30.3]: https://github.com/VictoriaMetrics/operator/compare/v0.30.2...v0.30.3
+[v0.30.2]: https://github.com/VictoriaMetrics/operator/compare/v0.30.1...v0.30.2
+[v0.30.1]: https://github.com/VictoriaMetrics/operator/compare/v0.30.0...v0.30.1
+[v0.30.0]: https://github.com/VictoriaMetrics/operator/compare/v0.29.2...v0.30.0
+[v0.29.2]: https://github.com/VictoriaMetrics/operator/compare/v0.29.1...v0.29.2
+[v0.29.1]: https://github.com/VictoriaMetrics/operator/compare/v0.29.0...v0.29.1
+[v0.29.0]: https://github.com/VictoriaMetrics/operator/compare/v0.28.5...v0.29.0
+[v0.28.5]: https://github.com/VictoriaMetrics/operator/compare/v0.28.4...v0.28.5
+[v0.28.4]: https://github.com/VictoriaMetrics/operator/compare/v0.28.3...v0.28.4
+[v0.28.3]: https://github.com/VictoriaMetrics/operator/compare/v0.28.2...v0.28.3
+[v0.28.2]: https://github.com/VictoriaMetrics/operator/compare/v0.28.1...v0.28.2
+[v0.28.1]: https://github.com/VictoriaMetrics/operator/compare/v0.28.0...v0.28.1
+[v0.28.0]: https://github.com/VictoriaMetrics/operator/compare/v0.27.2...v0.28.0
+[v0.27.2]: https://github.com/VictoriaMetrics/operator/compare/v0.27.1...v0.27.2
+[v0.27.1]: https://github.com/VictoriaMetrics/operator/compare/v0.27.0...v0.27.1
+[v0.27.0]: https://github.com/VictoriaMetrics/operator/compare/v0.26.3...v0.27.0
+[v0.26.3]: https://github.com/VictoriaMetrics/operator/compare/v0.26.0...v0.26.3
+[v0.26.0]: https://github.com/VictoriaMetrics/operator/compare/v0.25.1...v0.26.0
+[v0.25.1]: https://github.com/VictoriaMetrics/operator/compare/v0.25.0...v0.25.1
+[v0.25.0]: https://github.com/VictoriaMetrics/operator/compare/v0.24.0...v0.25.0
+[v0.24.0]: https://github.com/VictoriaMetrics/operator/compare/v0.23.3...v0.24.0
+[v0.23.3]: https://github.com/VictoriaMetrics/operator/compare/v0.23.2...v0.23.3
+[v0.23.2]: https://github.com/VictoriaMetrics/operator/compare/v0.23.1...v0.23.2
+[v0.23.1]: https://github.com/VictoriaMetrics/operator/compare/v0.23.0...v0.23.1
+[v0.23.0]: https://github.com/VictoriaMetrics/operator/compare/v0.22.1...v0.23.0
+[v0.22.1]: https://github.com/VictoriaMetrics/operator/compare/v0.22.0...v0.22.1
+[v0.22.0]: https://github.com/VictoriaMetrics/operator/compare/v0.21.0...v0.22.0
+[v0.21.0]: https://github.com/VictoriaMetrics/operator/compare/v0.20.3...v0.21.0
+[v0.20.3]: https://github.com/VictoriaMetrics/operator/compare/v0.20.2...v0.20.3
+[v0.20.2]: https://github.com/VictoriaMetrics/operator/compare/v0.20.1...v0.20.2
+[v0.20.1]: https://github.com/VictoriaMetrics/operator/compare/v0.20.0...v0.20.1
+[v0.20.0]: https://github.com/VictoriaMetrics/operator/compare/v0.19.1...v0.20.0
+[v0.19.1]: https://github.com/VictoriaMetrics/operator/compare/v0.19.0...v0.19.1
+[v0.19.0]: https://github.com/VictoriaMetrics/operator/compare/v0.18.2...v0.19.0
+[v0.18.2]: https://github.com/VictoriaMetrics/operator/compare/v0.18.1...v0.18.2
+[v0.18.1]: https://github.com/VictoriaMetrics/operator/compare/v0.18.0...v0.18.1
+[v0.18.0]: https://github.com/VictoriaMetrics/operator/compare/v0.17.2...v0.18.0
+[v0.17.2]: https://github.com/VictoriaMetrics/operator/compare/v0.17.1...v0.17.2
+[v0.17.1]: https://github.com/VictoriaMetrics/operator/compare/v0.17.0...v0.17.1
+[v0.17.0]: https://github.com/VictoriaMetrics/operator/compare/v0.16.0...v0.17.0
+[v0.16.0]: https://github.com/VictoriaMetrics/operator/compare/v0.15.2...v0.16.0
+[v0.15.2]: https://github.com/VictoriaMetrics/operator/compare/v0.15.1...v0.15.2
+[v0.15.1]: https://github.com/VictoriaMetrics/operator/compare/v0.15.0...v0.15.1
+[v0.15.0]: https://github.com/VictoriaMetrics/operator/compare/v0.14.2...v0.15.0
+[v0.14.2]: https://github.com/VictoriaMetrics/operator/compare/v0.14.1...v0.14.2
+[v0.14.1]: https://github.com/VictoriaMetrics/operator/compare/v0.14.0...v0.14.1
+[v0.14.0]: https://github.com/VictoriaMetrics/operator/compare/v0.13.1...v0.14.0
+[v0.13.1]: https://github.com/VictoriaMetrics/operator/compare/v0.13.0...v0.13.1
+[v0.13.0]: https://github.com/VictoriaMetrics/operator/compare/v0.12.2...v0.13.0
+[v0.12.2]: https://github.com/VictoriaMetrics/operator/compare/v0.12.1...v0.12.2
+[v0.12.1]: https://github.com/VictoriaMetrics/operator/compare/v0.12.0...v0.12.1
+[v0.12.0]: https://github.com/VictoriaMetrics/operator/compare/v0.11.0...v0.12.0
+[v0.11.0]: https://github.com/VictoriaMetrics/operator/compare/v0.10.0...v0.11.0
+[v0.10.0]: https://github.com/VictoriaMetrics/operator/compare/v0.9.1...v0.10.0
+[v0.9.1]: https://github.com/VictoriaMetrics/operator/compare/v0.9.0...v0.9.1
+[v0.9.0]: https://github.com/VictoriaMetrics/operator/compare/v0.8.0...v0.9.0
+[v0.8.0]: https://github.com/VictoriaMetrics/operator/compare/v0.7.4...v0.8.0
+[v0.7.4]: https://github.com/VictoriaMetrics/operator/compare/v0.7.3...v0.7.4
+[v0.7.3]: https://github.com/VictoriaMetrics/operator/compare/v0.7.2...v0.7.3
+[v0.7.2]: https://github.com/VictoriaMetrics/operator/compare/v0.7.1...v0.7.2
+[v0.7.1]: https://github.com/VictoriaMetrics/operator/compare/v0.7.0...v0.7.1
+[v0.7.0]: https://github.com/VictoriaMetrics/operator/compare/v0.6.1...v0.7.0
+[v0.6.1]: https://github.com/VictoriaMetrics/operator/compare/v0.6.0...v0.6.1
+[v0.6.0]: https://github.com/VictoriaMetrics/operator/compare/v0.5.0...v0.6.0
+[v0.5.0]: https://github.com/VictoriaMetrics/operator/compare/v0.4.0...v0.5.0
+[v0.4.0]: https://github.com/VictoriaMetrics/operator/compare/v0.3.0...v0.4.0
+[v0.3.0]: https://github.com/VictoriaMetrics/operator/compare/v0.2.1...v0.3.0
+[v0.2.1]: https://github.com/VictoriaMetrics/operator/compare/v0.2.0...v0.2.1
+[v0.2.0]: https://github.com/VictoriaMetrics/operator/compare/v0.1.2...v0.2.0
+[v0.1.2]: https://github.com/VictoriaMetrics/operator/compare/v0.1.1...v0.1.2
+[v0.1.1]: https://github.com/VictoriaMetrics/operator/compare/v0.1.0...v0.1.1
+[v0.1.0]: https://github.com/VictoriaMetrics/operator/compare/v0.0.6...v0.1.0
+[v0.0.6]: https://github.com/VictoriaMetrics/operator/compare/v0.0.2...v0.0.6
+[v0.0.2]: https://github.com/VictoriaMetrics/operator/compare/v0.0.1...v0.0.2
+[v0.0.1]: https://github.com/VictoriaMetrics/operator/tree/v0.0.1
diff --git a/docs/operator/api.md b/docs/operator/api.md
index 6ca5a68f4..f592a2362 100644
--- a/docs/operator/api.md
+++ b/docs/operator/api.md
@@ -63,6 +63,7 @@ This Document documents the types introduced by the VictoriaMetrics to be consum
 * [EmbeddedPodDisruptionBudgetSpec](#embeddedpoddisruptionbudgetspec)
 * [EmbeddedProbes](#embeddedprobes)
 * [HTTPAuth](#httpauth)
+* [KeyValue](#keyvalue)
 * [ServiceSpec](#servicespec)
 * [StorageSpec](#storagespec)
 * [StreamAggrConfig](#streamaggrconfig)
@@ -122,12 +123,14 @@ This Document documents the types introduced by the VictoriaMetrics to be consum
 * [StaticRef](#staticref)
 * [TargetRef](#targetref)
 * [VMUser](#vmuser)
+* [VMUserIPFilters](#vmuseripfilters)
 * [VMUserList](#vmuserlist)
 * [VMUserSpec](#vmuserspec)
 * [EmbeddedIngress](#embeddedingress)
 * [VMAuth](#vmauth)
 * [VMAuthList](#vmauthlist)
 * [VMAuthSpec](#vmauthspec)
+* [VMAuthUnauthorizedPath](#vmauthunauthorizedpath)
 * [TargetEndpoint](#targetendpoint)
 * [VMStaticScrape](#vmstaticscrape)
 * [VMStaticScrapeList](#vmstaticscrapelist)
@@ -256,7 +259,7 @@ EmailConfig configures notifications via Email.
 | auth_password | AuthPassword defines secret name and key at CRD namespace. | *[v1.SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core) | false |
 | auth_secret | AuthSecret defines secrent name and key at CRD namespace. It must contain the CRAM-MD5 secret. | *[v1.SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core) | false |
 | auth_identity | The identity to use for authentication. | string | false |
-| headers | Further headers email header key/value pairs. Overrides any headers previously set by the notification implementation. | map[string]string | false |
+| headers | Further headers email header key/value pairs. Overrides any headers previously set by the notification implementation. | EmailConfigHeaders | false |
 | html | The HTML body of the email notification. | string | false |
 | text | The text body of the email notification. | string | false |
 | require_tls | The SMTP TLS requirement. Note that Go does not support unencrypted connections to remote SMTP endpoints. | *bool | false |
@@ -504,7 +507,7 @@ SlackConfirmationField protect users from destructive actions or particularly di
 
 ## SlackField
 
-See https://api.slack.com/docs/message-attachments#fields for more information.
+SlackField configures a single Slack field that is sent with each notification. See https://api.slack.com/docs/message-attachments#fields for more information.
 
 | Field | Description | Scheme | Required |
 | ----- | ----------- | ------ | -------- |
@@ -807,7 +810,7 @@ VMAgentSpec defines the desired state of VMAgent
 
 ## VMAgentStatus
 
-VmAgentStatus defines the observed state of VmAgent
+VMAgentStatus defines the observed state of VmAgent
 
 | Field | Description | Scheme | Required |
 | ----- | ----------- | ------ | -------- |
@@ -838,7 +841,7 @@ BearerAuth defines auth with bearer token
 
 | Field | Description | Scheme | Required |
 | ----- | ----------- | ------ | -------- |
-| bearerTokenFilePath |  | string | false |
+| bearerTokenFile | Path to bearer token file | string | false |
 | bearerTokenSecret | Optional bearer auth token to use for -remoteWrite.url | *[v1.SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core) | false |
 
 [Back to TOC](#table-of-contents)
@@ -932,14 +935,25 @@ HTTPAuth generic auth used with http protocols
 | Field | Description | Scheme | Required |
 | ----- | ----------- | ------ | -------- |
 | basicAuth |  | *[BasicAuth](#basicauth) | false |
-| OAuth2 |  | *[OAuth2](#oauth2) | false |
+| oauth2 |  | *[OAuth2](#oauth2) | false |
 | tlsConfig |  | *[TLSConfig](#tlsconfig) | false |
-| bearerTokenFilePath |  | string | false |
+| bearerTokenFile | Path to bearer token file | string | false |
 | bearerTokenSecret | Optional bearer auth token to use for -remoteWrite.url | *[v1.SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core) | false |
 | headers | Headers allow configuring custom http headers Must be in form of semicolon separated header with value e.g. headerName:headerValue vmalert supports it since 1.79.0 version | []string | false |
 
 [Back to TOC](#table-of-contents)
 
+## KeyValue
+
+KeyValue defines a (key, value) tuple.
+
+| Field | Description | Scheme | Required |
+| ----- | ----------- | ------ | -------- |
+| key | Key of the tuple. | string | true |
+| value | Value of the tuple. | string | true |
+
+[Back to TOC](#table-of-contents)
+
 ## ServiceSpec
 
 ServiceSpec defines additional service for CRD with user-defined params. by default, some of fields can be inherited from default service definition for the CRD: labels,selector, ports. if metadata.name is not defined, service will have format {{CRD_TYPE}}-{{CRD_NAME}}-additional-service.
@@ -1005,15 +1019,15 @@ VMAlert  executes a list of given alerting or recording rules against configured
 
 ## VMAlertDatasourceSpec
 
-VMAgentRemoteReadSpec defines the remote storage configuration for VmAlert to read alerts from
+VMAlertDatasourceSpec defines the remote storage configuration for VmAlert to read alerts from
 
 | Field | Description | Scheme | Required |
 | ----- | ----------- | ------ | -------- |
 | url | Victoria Metrics or VMSelect url. Required parameter. E.g. http://127.0.0.1:8428 | string | true |
 | basicAuth |  | *[BasicAuth](#basicauth) | false |
-| OAuth2 |  | *[OAuth2](#oauth2) | false |
+| oauth2 |  | *[OAuth2](#oauth2) | false |
 | tlsConfig |  | *[TLSConfig](#tlsconfig) | false |
-| bearerTokenFilePath |  | string | false |
+| bearerTokenFile | Path to bearer token file | string | false |
 | bearerTokenSecret | Optional bearer auth token to use for -remoteWrite.url | *[v1.SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core) | false |
 | headers | Headers allow configuring custom http headers Must be in form of semicolon separated header with value e.g. headerName:headerValue vmalert supports it since 1.79.0 version | []string | false |
 
@@ -1039,9 +1053,9 @@ VMAlertNotifierSpec defines the notifier url for sending information about alert
 | url | AlertManager url.  E.g. http://127.0.0.1:9093 | string | false |
 | selector | Selector allows service discovery for alertmanager in this case all matched vmalertmanager replicas will be added into vmalert notifier.url as statefulset pod.fqdn | *[DiscoverySelector](#discoveryselector) | false |
 | basicAuth |  | *[BasicAuth](#basicauth) | false |
-| OAuth2 |  | *[OAuth2](#oauth2) | false |
+| oauth2 |  | *[OAuth2](#oauth2) | false |
 | tlsConfig |  | *[TLSConfig](#tlsconfig) | false |
-| bearerTokenFilePath |  | string | false |
+| bearerTokenFile | Path to bearer token file | string | false |
 | bearerTokenSecret | Optional bearer auth token to use for -remoteWrite.url | *[v1.SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core) | false |
 | headers | Headers allow configuring custom http headers Must be in form of semicolon separated header with value e.g. headerName:headerValue vmalert supports it since 1.79.0 version | []string | false |
 
@@ -1049,16 +1063,16 @@ VMAlertNotifierSpec defines the notifier url for sending information about alert
 
 ## VMAlertRemoteReadSpec
 
-VMAgentRemoteReadSpec defines the remote storage configuration for VmAlert to read alerts from
+VMAlertRemoteReadSpec defines the remote storage configuration for VmAlert to read alerts from
 
 | Field | Description | Scheme | Required |
 | ----- | ----------- | ------ | -------- |
 | url | URL of the endpoint to send samples to. | string | true |
 | lookback | Lookback defines how far to look into past for alerts timeseries. For example, if lookback=1h then range from now() to now()-1h will be scanned. (default 1h0m0s) Applied only to RemoteReadSpec | *string | false |
 | basicAuth |  | *[BasicAuth](#basicauth) | false |
-| OAuth2 |  | *[OAuth2](#oauth2) | false |
+| oauth2 |  | *[OAuth2](#oauth2) | false |
 | tlsConfig |  | *[TLSConfig](#tlsconfig) | false |
-| bearerTokenFilePath |  | string | false |
+| bearerTokenFile | Path to bearer token file | string | false |
 | bearerTokenSecret | Optional bearer auth token to use for -remoteWrite.url | *[v1.SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core) | false |
 | headers | Headers allow configuring custom http headers Must be in form of semicolon separated header with value e.g. headerName:headerValue vmalert supports it since 1.79.0 version | []string | false |
 
@@ -1066,7 +1080,7 @@ VMAgentRemoteReadSpec defines the remote storage configuration for VmAlert to re
 
 ## VMAlertRemoteWriteSpec
 
-VMAgentRemoteWriteSpec defines the remote storage configuration for VmAlert
+VMAlertRemoteWriteSpec defines the remote storage configuration for VmAlert
 
 | Field | Description | Scheme | Required |
 | ----- | ----------- | ------ | -------- |
@@ -1076,9 +1090,9 @@ VMAgentRemoteWriteSpec defines the remote storage configuration for VmAlert
 | maxBatchSize | Defines defines max number of timeseries to be flushed at once (default 1000) | *int32 | false |
 | maxQueueSize | Defines the max number of pending datapoints to remote write endpoint (default 100000) | *int32 | false |
 | basicAuth |  | *[BasicAuth](#basicauth) | false |
-| OAuth2 |  | *[OAuth2](#oauth2) | false |
+| oauth2 |  | *[OAuth2](#oauth2) | false |
 | tlsConfig |  | *[TLSConfig](#tlsconfig) | false |
-| bearerTokenFilePath |  | string | false |
+| bearerTokenFile | Path to bearer token file | string | false |
 | bearerTokenSecret | Optional bearer auth token to use for -remoteWrite.url | *[v1.SecretKeySelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#secretkeyselector-v1-core) | false |
 | headers | Headers allow configuring custom http headers Must be in form of semicolon separated header with value e.g. headerName:headerValue vmalert supports it since 1.79.0 version | []string | false |
 
@@ -1114,7 +1128,7 @@ VMAlertSpec defines the desired state of VMAlert
 | hostNetwork | HostNetwork controls whether the pod may use the node network namespace | bool | false |
 | dnsPolicy | DNSPolicy sets DNS policy for the pod | [v1.DNSPolicy](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#pod-v1-core) | false |
 | topologySpreadConstraints | TopologySpreadConstraints embedded kubernetes pod configuration option, controls how pods are spread across your cluster among failure-domains such as regions, zones, nodes, and other user-defined topology domains https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/ | [][v1.TopologySpreadConstraint](https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/) | false |
-| evaluationInterval | EvaluationInterval how often evalute rules by default | string | false |
+| evaluationInterval | EvaluationInterval defines how often to evaluate rules by default | string | false |
 | enforcedNamespaceLabel | EnforcedNamespaceLabel enforces adding a namespace label of origin for each alert and metric that is user created. The label value will always be the namespace of the object that is being created. | string | false |
 | selectAllByDefault | SelectAllByDefault changes default behavior for empty CRD selectors, such RuleSelector. with selectAllByDefault: true and empty serviceScrapeSelector and RuleNamespaceSelector Operator selects all exist serviceScrapes with selectAllByDefault: false - selects nothing | bool | false |
 | ruleSelector | RuleSelector selector to select which VMRules to mount for loading alerting rules from. Works in combination with NamespaceSelector. If both nil - behaviour controlled by selectAllByDefault NamespaceSelector nil - only objects at VMAlert namespace. | *[metav1.LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#labelselector-v1-meta) | false |
@@ -1147,7 +1161,7 @@ VMAlertSpec defines the desired state of VMAlert
 
 ## VMAlertStatus
 
-VmAlertStatus defines the observed state of VmAlert
+VMAlertStatus defines the observed state of VmAlert
 
 | Field | Description | Scheme | Required |
 | ----- | ----------- | ------ | -------- |
@@ -1241,10 +1255,12 @@ VMSingleStatus defines the observed state of VMSingle
 
 | Field | Description | Scheme | Required |
 | ----- | ----------- | ------ | -------- |
-| replicas | ReplicaCount Total number of non-terminated pods targeted by this VMAlert cluster (their labels match the selector). | int32 | true |
-| updatedReplicas | UpdatedReplicas Total number of non-terminated pods targeted by this VMAlert cluster that have the desired version spec. | int32 | true |
-| availableReplicas | AvailableReplicas Total number of available pods (ready for at least minReadySeconds) targeted by this VMAlert cluster. | int32 | true |
-| unavailableReplicas | UnavailableReplicas Total number of unavailable pods targeted by this VMAlert cluster. | int32 | true |
+| replicas | ReplicaCount Total number of non-terminated pods targeted by this VMSingle. | int32 | true |
+| updatedReplicas | UpdatedReplicas Total number of non-terminated pods targeted by this VMSingle. | int32 | true |
+| availableReplicas | AvailableReplicas Total number of available pods (ready for at least minReadySeconds) targeted by this VMSingle. | int32 | true |
+| unavailableReplicas | UnavailableReplicas Total number of unavailable pods targeted by this VMSingle. | int32 | true |
+| singleStatus |  | SingleStatus | true |
+| reason |  | string | false |
 
 [Back to TOC](#table-of-contents)
 
@@ -1259,8 +1275,10 @@ Rule describes an alerting or recording rule.
 | expr | Expr is query, that will be evaluated at dataSource | string | true |
 | debug | Debug enables logging for rule it useful for tracking | *bool | false |
 | for | For evaluation interval in time.Duration format 30s, 1m, 1h  or nanoseconds | string | false |
+| keep_firing_for | KeepFiringFor will make alert continue firing for this long even when the alerting expression no longer has results. Use time.Duration format, 30s, 1m, 1h  or nanoseconds | string | false |
 | labels | Labels will be added to rule configuration | map[string]string | false |
 | annotations | Annotations will be added to rule configuration | map[string]string | false |
+| update_entries_limit | UpdateEntriesLimit defines max number of rule&#39;s state updates stored in memory. Overrides `-rule.updateEntriesLimit` in vmalert. | *int | false |
 
 [Back to TOC](#table-of-contents)
 
@@ -1281,6 +1299,7 @@ RuleGroup is a list of sequentially evaluated recording and alerting rules.
 | params | Params optional HTTP URL parameters added to each rule request | url.Values | false |
 | type | Type defines datasource type for enterprise version of vmalert possible values - prometheus,graphite | string | false |
 | headers | Headers contains optional HTTP headers added to each rule request Must be in form `header-name: value` For example:\n headers:\n   - \&#34;CustomHeader: foo\&#34;\n   - \&#34;CustomHeader2: bar\&#34; | []string | false |
+| notifier_headers | NotifierHeaders contains optional HTTP headers added to each alert request which will send to notifier Must be in form `header-name: value` For example:\n headers:\n   - \&#34;CustomHeader: foo\&#34;\n   - \&#34;CustomHeader2: bar\&#34; | []string | false |
 
 [Back to TOC](#table-of-contents)
 
@@ -1572,6 +1591,7 @@ PodMetricsEndpoint defines a scrapeable endpoint of a Kubernetes Pod serving Pro
 | authorization | Authorization with http header Authorization | *[Authorization](#authorization) | false |
 | vm_scrape_params | VMScrapeParams defines VictoriaMetrics specific scrape parametrs | *[VMScrapeParams](#vmscrapeparams) | false |
 | attach_metadata | AttachMetadata configures metadata attaching from service discovery | [AttachMetadata](#attachmetadata) | false |
+| filterRunning | FilterRunning applies filter with pod status == running it prevents from scrapping metrics at failed or succeed state pods. enabled by default | *bool | false |
 
 [Back to TOC](#table-of-contents)
 
@@ -1969,7 +1989,8 @@ StaticRef - user-defined routing host address.
 
 | Field | Description | Scheme | Required |
 | ----- | ----------- | ------ | -------- |
-| url | URL http url for given staticRef. | string | true |
+| url | URL http url for given staticRef. | string | false |
+| urls | URLs allows setting multiple urls for load-balancing at vmauth-side. | []string | false |
 
 [Back to TOC](#table-of-contents)
 
@@ -1984,6 +2005,7 @@ TargetRef describes target for user traffic forwarding. one of target types can
 | paths | Paths - matched path to route. | []string | false |
 | target_path_suffix | QueryParams []string `json:\&#34;queryParams,omitempty\&#34;` TargetPathSuffix allows to add some suffix to the target path It allows to hide tenant configuration from user with crd as ref. it also may contain any url encoded params. | string | false |
 | headers | Headers represent additional http headers, that vmauth uses in form of [\&#34;header_key: header_value\&#34;] multiple values for header key: [\&#34;header_key: value1,value2\&#34;] it&#39;s available since 1.68.0 version of vmauth | []string | false |
+| ip_filters | IPFilters defines per target src ip filters supported only with enterprise version of vmauth https://docs.victoriametrics.com/vmauth.html#ip-filters | [VMUserIPFilters](#vmuseripfilters) | false |
 
 [Back to TOC](#table-of-contents)
 
@@ -1999,6 +2021,17 @@ VMUser is the Schema for the vmusers API
 
 [Back to TOC](#table-of-contents)
 
+## VMUserIPFilters
+
+VMUserIPFilters defines filters for IP addresses supported only with enterprise version of vmauth https://docs.victoriametrics.com/vmauth.html#ip-filters
+
+| Field | Description | Scheme | Required |
+| ----- | ----------- | ------ | -------- |
+| deny_list |  | []string | false |
+| allow_list |  | []string | false |
+
+[Back to TOC](#table-of-contents)
+
 ## VMUserList
 
 VMUserList contains a list of VMUser
@@ -2024,6 +2057,7 @@ VMUserSpec defines the desired state of VMUser
 | generatePassword | GeneratePassword instructs operator to generate password for user if spec.password if empty. | bool | false |
 | bearerToken | BearerToken Authorization header value for accessing protected endpoint. | *string | false |
 | targetRefs | TargetRefs - reference to endpoints, which user may access. | [][TargetRef](#targetref) | true |
+| default_url | DefaultURLs backend url for non-matching paths filter usually used for default backend with error message | []string | false |
 
 [Back to TOC](#table-of-contents)
 
@@ -2106,7 +2140,7 @@ VMAuthSpec defines the desired state of VMAuth
 | userNamespaceSelector | UserNamespaceSelector Namespaces to be selected for  VMAuth discovery. Works in combination with Selector. NamespaceSelector nil - only objects at VMAuth namespace. Selector nil - only objects at NamespaceSelector namespaces. If both nil - behaviour controlled by selectAllByDefault | *[metav1.LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#labelselector-v1-meta) | false |
 | extraArgs | ExtraArgs that will be passed to  VMAuth pod for example remoteWrite.tmpDataPath: /tmp | map[string]string | false |
 | extraEnvs | ExtraEnvs that will be added to VMAuth pod | [][v1.EnvVar](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.27/#envvar-v1-core) | false |
-| serviceSpec | ServiceSpec that will be added to vmauth service spec | *[ServiceSpec](#servicespec) | false |
+| serviceSpec | ServiceSpec that will be added to vmsingle service spec | *[ServiceSpec](#servicespec) | false |
 | serviceScrapeSpec | ServiceScrapeSpec that will be added to vmauth VMServiceScrape spec | *[VMServiceScrapeSpec](#vmservicescrapespec) | false |
 | podDisruptionBudget | PodDisruptionBudget created by operator | *[EmbeddedPodDisruptionBudgetSpec](#embeddedpoddisruptionbudgetspec) | false |
 | ingress | Ingress enables ingress configuration for VMAuth. | *[EmbeddedIngress](#embeddedingress) | false |
@@ -2116,6 +2150,19 @@ VMAuthSpec defines the desired state of VMAuth
 | nodeSelector | NodeSelector Define which Nodes the Pods are scheduled on. | map[string]string | false |
 | terminationGracePeriodSeconds | TerminationGracePeriodSeconds period for container graceful termination | *int64 | false |
 | readinessGates | ReadinessGates defines pod readiness gates | []v1.PodReadinessGate | false |
+| unauthorizedAccessConfig | UnauthorizedAccessConfig configures access for un authorized users | [][VMAuthUnauthorizedPath](#vmauthunauthorizedpath) | false |
+
+[Back to TOC](#table-of-contents)
+
+## VMAuthUnauthorizedPath
+
+VMAuthUnauthorizedPath defines url_map for unauthorized access
+
+| Field | Description | Scheme | Required |
+| ----- | ----------- | ------ | -------- |
+| src_paths | Paths src request paths | []string | false |
+| url_prefix | URLs defines url_prefix for dst routing | []string | false |
+| ip_filters | IPFilters defines filter for src ip address enterprise only | [VMUserIPFilters](#vmuseripfilters) | false |
 
 [Back to TOC](#table-of-contents)
 
@@ -2200,7 +2247,7 @@ ProbeTargetIngress defines the set of Ingress objects considered for probing.
 
 ## VMProbe
 
-\n VMProbe defines a probe for targets, that will be executed with prober,\n like blackbox exporter.\nIt helps to monitor reachability of target with various checks.
+VMProbe defines a probe for targets, that will be executed with prober, like blackbox exporter. It helps to monitor reachability of target with various checks.
 
 | Field | Description | Scheme | Required |
 | ----- | ----------- | ------ | -------- |
diff --git a/docs/operator/vars.md b/docs/operator/vars.md
index 7e279d160..ac3bc1528 100644
--- a/docs/operator/vars.md
+++ b/docs/operator/vars.md
@@ -9,8 +9,8 @@ menu:
 aliases:
 - /operator/vars.html
 ---
-# Auto Generated vars for package config
-updated at Mon May  8 06:43:29 UTC 2023
+# Auto Generated vars for package config 
+ updated at Mon Jul 31 18:56:28 UTC 2023 
 
 
 | varible name | variable default value | variable required | variable description |
@@ -20,7 +20,7 @@ updated at Mon May  8 06:43:29 UTC 2023
 | VM_CUSTOMCONFIGRELOADERIMAGE | victoriametrics/operator:config-reloader-v0.32.0 | false | - |
 | VM_PSPAUTOCREATEENABLED | true | false | - |
 | VM_VMALERTDEFAULT_IMAGE | victoriametrics/vmalert | false | - |
-| VM_VMALERTDEFAULT_VERSION | v1.89.1 | false | - |
+| VM_VMALERTDEFAULT_VERSION | v1.91.3 | false | - |
 | VM_VMALERTDEFAULT_PORT | 8080 | false | - |
 | VM_VMALERTDEFAULT_USEDEFAULTRESOURCES | true | false | - |
 | VM_VMALERTDEFAULT_RESOURCE_LIMIT_MEM | 500Mi | false | - |
@@ -31,7 +31,7 @@ updated at Mon May  8 06:43:29 UTC 2023
 | VM_VMALERTDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - |
 | VM_VMALERTDEFAULT_CONFIGRELOADIMAGE | jimmidyson/configmap-reload:v0.3.0 | false | - |
 | VM_VMAGENTDEFAULT_IMAGE | victoriametrics/vmagent | false | - |
-| VM_VMAGENTDEFAULT_VERSION | v1.89.1 | false | - |
+| VM_VMAGENTDEFAULT_VERSION | v1.91.3 | false | - |
 | VM_VMAGENTDEFAULT_CONFIGRELOADIMAGE | quay.io/prometheus-operator/prometheus-config-reloader:v0.58.0 | false | - |
 | VM_VMAGENTDEFAULT_PORT | 8429 | false | - |
 | VM_VMAGENTDEFAULT_USEDEFAULTRESOURCES | true | false | - |
@@ -42,7 +42,7 @@ updated at Mon May  8 06:43:29 UTC 2023
 | VM_VMAGENTDEFAULT_CONFIGRELOADERCPU | 100m | false | - |
 | VM_VMAGENTDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - |
 | VM_VMSINGLEDEFAULT_IMAGE | victoriametrics/victoria-metrics | false | - |
-| VM_VMSINGLEDEFAULT_VERSION | v1.89.1 | false | - |
+| VM_VMSINGLEDEFAULT_VERSION | v1.91.3 | false | - |
 | VM_VMSINGLEDEFAULT_PORT | 8429 | false | - |
 | VM_VMSINGLEDEFAULT_USEDEFAULTRESOURCES | true | false | - |
 | VM_VMSINGLEDEFAULT_RESOURCE_LIMIT_MEM | 1500Mi | false | - |
@@ -53,14 +53,14 @@ updated at Mon May  8 06:43:29 UTC 2023
 | VM_VMSINGLEDEFAULT_CONFIGRELOADERMEMORY | 25Mi | false | - |
 | VM_VMCLUSTERDEFAULT_USEDEFAULTRESOURCES | true | false | - |
 | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_IMAGE | victoriametrics/vmselect | false | - |
-| VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_VERSION | v1.89.1-cluster | false | - |
+| VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_VERSION | v1.91.3-cluster | false | - |
 | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_PORT | 8481 | false | - |
 | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_MEM | 1000Mi | false | - |
 | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_LIMIT_CPU | 500m | false | - |
 | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_MEM | 500Mi | false | - |
 | VM_VMCLUSTERDEFAULT_VMSELECTDEFAULT_RESOURCE_REQUEST_CPU | 100m | false | - |
 | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_IMAGE | victoriametrics/vmstorage | false | - |
-| VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_VERSION | v1.89.1-cluster | false | - |
+| VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_VERSION | v1.91.3-cluster | false | - |
 | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_VMINSERTPORT | 8400 | false | - |
 | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_VMSELECTPORT | 8401 | false | - |
 | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_PORT | 8482 | false | - |
@@ -69,7 +69,7 @@ updated at Mon May  8 06:43:29 UTC 2023
 | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_REQUEST_MEM | 500Mi | false | - |
 | VM_VMCLUSTERDEFAULT_VMSTORAGEDEFAULT_RESOURCE_REQUEST_CPU | 250m | false | - |
 | VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_IMAGE | victoriametrics/vminsert | false | - |
-| VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_VERSION | v1.89.1-cluster | false | - |
+| VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_VERSION | v1.91.3-cluster | false | - |
 | VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_PORT | 8480 | false | - |
 | VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_MEM | 500Mi | false | - |
 | VM_VMCLUSTERDEFAULT_VMINSERTDEFAULT_RESOURCE_LIMIT_CPU | 500m | false | - |
@@ -88,7 +88,7 @@ updated at Mon May  8 06:43:29 UTC 2023
 | VM_VMALERTMANAGER_RESOURCE_REQUEST_CPU | 30m | false | - |
 | VM_DISABLESELFSERVICESCRAPECREATION | false | false | - |
 | VM_VMBACKUP_IMAGE | victoriametrics/vmbackupmanager | false | - |
-| VM_VMBACKUP_VERSION | v1.89.1-enterprise | false | - |
+| VM_VMBACKUP_VERSION | v1.91.3-enterprise | false | - |
 | VM_VMBACKUP_PORT | 8300 | false | - |
 | VM_VMBACKUP_USEDEFAULTRESOURCES | true | false | - |
 | VM_VMBACKUP_RESOURCE_LIMIT_MEM | 500Mi | false | - |
@@ -97,7 +97,7 @@ updated at Mon May  8 06:43:29 UTC 2023
 | VM_VMBACKUP_RESOURCE_REQUEST_CPU | 150m | false | - |
 | VM_VMBACKUP_LOGLEVEL | INFO | false | - |
 | VM_VMAUTHDEFAULT_IMAGE | victoriametrics/vmauth | false | - |
-| VM_VMAUTHDEFAULT_VERSION | v1.89.1 | false | - |
+| VM_VMAUTHDEFAULT_VERSION | v1.91.3 | false | - |
 | VM_VMAUTHDEFAULT_CONFIGRELOADIMAGE | quay.io/prometheus-operator/prometheus-config-reloader:v0.48.1 | false | - |
 | VM_VMAUTHDEFAULT_PORT | 8427 | false | - |
 | VM_VMAUTHDEFAULT_USEDEFAULTRESOURCES | true | false | - |
@@ -126,4 +126,5 @@ updated at Mon May  8 06:43:29 UTC 2023
 | VM_PODWAITREADYTIMEOUT | 80s | false | - |
 | VM_PODWAITREADYINTERVALCHECK | 5s | false | - |
 | VM_PODWAITREADYINITDELAY | 10s | false | - |
-| VM_FORCERESYNCINTERVAL | 60s | false | configures force resync interval for VMAgent, VMAlert and VMAlertmanager |
+| VM_FORCERESYNCINTERVAL | 60s | false | configures force resync interval for VMAgent, VMAlert, VMAlertmanager and VMAuth. |
+| VM_ENABLESTRICTSECURITY | true | false | EnableStrictSecurity will add default `securityContext` to pods and containers created by operatorDefault PodSecurityContext include:1. RunAsNonRoot: true2. 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.Default container SecurityContext include:1. AllowPrivilegeEscalation: false2. ReadOnlyRootFilesystem: true |
diff --git a/docs/stream-aggregation.md b/docs/stream-aggregation.md
index acbb9ecb7..9be338bac 100644
--- a/docs/stream-aggregation.md
+++ b/docs/stream-aggregation.md
@@ -83,7 +83,7 @@ Sometimes [alerting queries](https://docs.victoriametrics.com/vmalert.html#alert
 disk IO and network bandwidth at metrics storage side. For example, if `http_request_duration_seconds` histogram is generated by thousands
 of application instances, then the alerting query `histogram_quantile(0.99, sum(increase(http_request_duration_seconds_bucket[5m])) without (instance)) > 0.5`
 can become slow, since it needs to scan too big number of unique [time series](https://docs.victoriametrics.com/keyConcepts.html#time-series)
-with `http_request_duration_seconds_bucket` name. This alerting query can be sped up by pre-calculating
+with `http_request_duration_seconds_bucket` name. This alerting query can be speed up by pre-calculating
 the `sum(increase(http_request_duration_seconds_bucket[5m])) without (instance)` via [recording rule](https://docs.victoriametrics.com/vmalert.html#recording-rules).
 But this recording rule may take too much time to execute too. In this case the slow recording rule can be substituted
 with the following [stream aggregation config](#stream-aggregation-config):
diff --git a/docs/vmalert.md b/docs/vmalert.md
index b70bfd0e8..d941caf0c 100644
--- a/docs/vmalert.md
+++ b/docs/vmalert.md
@@ -372,9 +372,9 @@ For recording rules to work `-remoteWrite.url` must be specified.
 
 ### Alerts state on restarts
 
-`vmalert` is stateless, it holds alerts state in the process memory. Restarting of `vmalert` process
-will reset alerts state in memory. To prevent `vmalert` from losing alerts state it should be configured
-to persist the state to the remote destination via the following flags:
+`vmalert` holds alerts state in the memory. Restart of the `vmalert` process will reset the state of all active alerts 
+in the memory. To prevent `vmalert` from losing the state on restarts configure it to persist the state 
+to the remote database via the following flags:
 
 * `-remoteWrite.url` - URL to VictoriaMetrics (Single) or vminsert (Cluster). `vmalert` will persist alerts state
   to the configured address in the form of [time series](https://docs.victoriametrics.com/keyConcepts.html#time-series)
@@ -1254,8 +1254,6 @@ The shortlist of configuration flags is the following:
      See https://docs.victoriametrics.com/vmalert.html#reading-rules-from-object-storage
      
      Supports an array of values separated by comma or specified via multiple flags.
-  -rule.configCheckInterval duration
-     Interval for checking for changes in '-rule' files. By default, the checking is disabled. Send SIGHUP signal in order to force config check for changes. DEPRECATED - see '-configCheckInterval' instead
   -rule.maxResolveDuration duration
      Limits the maximum duration for automatic alert expiration, which by default is 4 times evaluationInterval of the parent group.
   -rule.resendDelay duration
diff --git a/lib/logstorage/indexdb.go b/lib/logstorage/indexdb.go
index 4e69a9cdf..04a1b82f5 100644
--- a/lib/logstorage/indexdb.go
+++ b/lib/logstorage/indexdb.go
@@ -33,6 +33,18 @@ const (
 type IndexdbStats struct {
 	// StreamsCreatedTotal is the number of log streams created since the indexdb initialization.
 	StreamsCreatedTotal uint64
+
+	// IndexdbSizeBytes is the size of data in indexdb.
+	IndexdbSizeBytes uint64
+
+	// IndexdbItemsCount is the number of items in indexdb.
+	IndexdbItemsCount uint64
+
+	// IndexdbBlocksCount is the number of blocks in indexdb.
+	IndexdbBlocksCount uint64
+
+	// IndexdbPartsCount is the number of parts in indexdb.
+	IndexdbPartsCount uint64
 }
 
 type indexdb struct {
@@ -88,6 +100,14 @@ func (idb *indexdb) debugFlush() {
 
 func (idb *indexdb) updateStats(d *IndexdbStats) {
 	d.StreamsCreatedTotal += atomic.LoadUint64(&idb.streamsCreatedTotal)
+
+	var tm mergeset.TableMetrics
+	idb.tb.UpdateMetrics(&tm)
+
+	d.IndexdbSizeBytes += tm.InmemorySizeBytes + tm.FileSizeBytes
+	d.IndexdbItemsCount += tm.InmemoryItemsCount + tm.FileItemsCount
+	d.IndexdbPartsCount += tm.InmemoryPartsCount + tm.FilePartsCount
+	d.IndexdbBlocksCount += tm.InmemoryBlocksCount + tm.FileBlocksCount
 }
 
 func (idb *indexdb) appendStreamTagsByStreamID(dst []byte, sid *streamID) []byte {


Test patch:
diff --git a/app/vmalert/main_test.go b/app/vmalert/main_test.go
index ce495df4c..ace111851 100644
--- a/app/vmalert/main_test.go
+++ b/app/vmalert/main_test.go
@@ -92,7 +92,7 @@ groups:
 	}
 	writeToFile(t, f.Name(), rules1)
 
-	*rulesCheckInterval = 200 * time.Millisecond
+	*configCheckInterval = 200 * time.Millisecond
 	*rulePath = []string{f.Name()}
 	ctx, cancel := context.WithCancel(context.Background())
 
@@ -117,14 +117,14 @@ groups:
 		return len(m.groups)
 	}
 
-	time.Sleep(*rulesCheckInterval * 2)
+	time.Sleep(*configCheckInterval * 2)
 	groupsLen := lenLocked(m)
 	if groupsLen != 1 {
 		t.Fatalf("expected to have exactly 1 group loaded; got %d", groupsLen)
 	}
 
 	writeToFile(t, f.Name(), rules2)
-	time.Sleep(*rulesCheckInterval * 2)
+	time.Sleep(*configCheckInterval * 2)
 	groupsLen = lenLocked(m)
 	if groupsLen != 2 {
 		fmt.Println(m.groups)
@@ -133,7 +133,7 @@ groups:
 
 	writeToFile(t, f.Name(), rules1)
 	procutil.SelfSIGHUP()
-	time.Sleep(*rulesCheckInterval / 2)
+	time.Sleep(*configCheckInterval / 2)
 	groupsLen = lenLocked(m)
 	if groupsLen != 1 {
 		t.Fatalf("expected to have exactly 1 group loaded; got %d", groupsLen)
@@ -141,7 +141,7 @@ groups:
 
 	writeToFile(t, f.Name(), `corrupted`)
 	procutil.SelfSIGHUP()
-	time.Sleep(*rulesCheckInterval / 2)
+	time.Sleep(*configCheckInterval / 2)
 	groupsLen = lenLocked(m)
 	if groupsLen != 1 { // should remain unchanged
 		t.Fatalf("expected to have exactly 1 group loaded; got %d", groupsLen)
diff --git a/app/vmalert/web_test.go b/app/vmalert/web_test.go
index a036a586f..951e92e96 100644
--- a/app/vmalert/web_test.go
+++ b/app/vmalert/web_test.go
@@ -145,23 +145,6 @@ func TestHandler(t *testing.T) {
 			t.Errorf("expected 1 group got %d", length)
 		}
 	})
-
-	// check deprecated links support
-	// TODO: remove as soon as deprecated links removed
-	t.Run("/api/v1/0/0/status", func(t *testing.T) {
-		alert := &APIAlert{}
-		getResp(ts.URL+"/api/v1/0/0/status", alert, 200)
-		expAlert := ar.newAlertAPI(*ar.alerts[0])
-		if !reflect.DeepEqual(alert, expAlert) {
-			t.Errorf("expected %v is equal to %v", alert, expAlert)
-		}
-	})
-	t.Run("/api/v1/0/1/status", func(t *testing.T) {
-		getResp(ts.URL+"/api/v1/0/1/status", nil, 404)
-	})
-	t.Run("/api/v1/1/0/status", func(t *testing.T) {
-		getResp(ts.URL+"/api/v1/1/0/status", nil, 404)
-	})
 }
 
 func TestEmptyResponse(t *testing.T) {
diff --git a/app/vmctl/stepper/split_test.go b/app/vmctl/stepper/split_test.go
index 438485d4a..062ffbffa 100644
--- a/app/vmctl/stepper/split_test.go
+++ b/app/vmctl/stepper/split_test.go
@@ -170,6 +170,82 @@ func Test_splitDateRange(t *testing.T) {
 			},
 			wantErr: false,
 		},
+		{
+			name: "week chunking with not full week",
+			args: args{
+				start:       "2023-07-30T00:00:00Z",
+				end:         "2023-08-05T23:59:59.999999999Z",
+				granularity: StepWeek,
+			},
+			want: []testTimeRange{
+				{
+					"2023-07-30T00:00:00Z",
+					"2023-08-05T23:59:59.999999999Z",
+				},
+			},
+		},
+		{
+			name: "week chunking with start of the week and end of the week",
+			args: args{
+				start:       "2023-07-30T00:00:00Z",
+				end:         "2023-08-06T00:00:00Z",
+				granularity: StepWeek,
+			},
+			want: []testTimeRange{
+				{
+					"2023-07-30T00:00:00Z",
+					"2023-08-06T00:00:00Z",
+				},
+			},
+		},
+		{
+			name: "week chunking with next one day week",
+			args: args{
+				start:       "2023-07-30T00:00:00Z",
+				end:         "2023-08-07T01:12:00Z",
+				granularity: StepWeek,
+			},
+			want: []testTimeRange{
+				{
+					"2023-07-30T00:00:00Z",
+					"2023-08-06T00:00:00Z",
+				},
+				{
+					"2023-08-06T00:00:00Z",
+					"2023-08-07T01:12:00Z",
+				},
+			},
+		},
+		{
+			name: "week chunking with month and not full week representation",
+			args: args{
+				start:       "2023-07-30T00:00:00Z",
+				end:         "2023-09-01T01:12:00Z",
+				granularity: StepWeek,
+			},
+			want: []testTimeRange{
+				{
+					"2023-07-30T00:00:00Z",
+					"2023-08-06T00:00:00Z",
+				},
+				{
+					"2023-08-06T00:00:00Z",
+					"2023-08-13T00:00:00Z",
+				},
+				{
+					"2023-08-13T00:00:00Z",
+					"2023-08-20T00:00:00Z",
+				},
+				{
+					"2023-08-20T00:00:00Z",
+					"2023-08-27T00:00:00Z",
+				},
+				{
+					"2023-08-27T00:00:00Z",
+					"2023-09-01T01:12:00Z",
+				},
+			},
+		},
 	}
 	for _, tt := range tests {
 		t.Run(tt.name, func(t *testing.T) {
diff --git a/app/vmctl/vm_native_test.go b/app/vmctl/vm_native_test.go
index 457437f75..217df70aa 100644
--- a/app/vmctl/vm_native_test.go
+++ b/app/vmctl/vm_native_test.go
@@ -228,6 +228,7 @@ func Test_vmNativeProcessor_run(t *testing.T) {
 				interCluster: tt.fields.interCluster,
 				cc:           tt.fields.cc,
 				isSilent:     tt.args.silent,
+				isNative:     true,
 			}
 
 			if err := p.run(tt.args.ctx); (err != nil) != tt.wantErr {