mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2026-05-17 00:26:36 +03:00
app/{vmalert,vmagent}: add basicAuth.usernameFile CLI flags
The core `lib/promauth` already supports `usernameFile` configs, but the CLI flags for vmagent remotewrite and vmalert datasource/remotewrite/remoteread/notifier only expose `basicAuth.username`. This commit adds the corresponding `basicAuth.usernameFile` flags to match the existing `basicAuth.passwordFile` pattern, closing the gap between YAML and CLI configuration. Fixes https://github.com/VictoriaMetrics/VictoriaMetrics/issues/9436
This commit is contained in:
@@ -59,6 +59,8 @@ var (
|
|||||||
"Multiple headers must be delimited by '^^': -remoteWrite.headers='header1:value1^^header2:value2'")
|
"Multiple headers must be delimited by '^^': -remoteWrite.headers='header1:value1^^header2:value2'")
|
||||||
|
|
||||||
basicAuthUsername = flagutil.NewArrayString("remoteWrite.basicAuth.username", "Optional basic auth username to use for the corresponding -remoteWrite.url")
|
basicAuthUsername = flagutil.NewArrayString("remoteWrite.basicAuth.username", "Optional basic auth username to use for the corresponding -remoteWrite.url")
|
||||||
|
basicAuthUsernameFile = flagutil.NewArrayString("remoteWrite.basicAuth.usernameFile", "Optional path to basic auth username to use for the corresponding -remoteWrite.url. "+
|
||||||
|
"The file is re-read every second")
|
||||||
basicAuthPassword = flagutil.NewArrayString("remoteWrite.basicAuth.password", "Optional basic auth password to use for the corresponding -remoteWrite.url")
|
basicAuthPassword = flagutil.NewArrayString("remoteWrite.basicAuth.password", "Optional basic auth password to use for the corresponding -remoteWrite.url")
|
||||||
basicAuthPasswordFile = flagutil.NewArrayString("remoteWrite.basicAuth.passwordFile", "Optional path to basic auth password to use for the corresponding -remoteWrite.url. "+
|
basicAuthPasswordFile = flagutil.NewArrayString("remoteWrite.basicAuth.passwordFile", "Optional path to basic auth password to use for the corresponding -remoteWrite.url. "+
|
||||||
"The file is re-read every second")
|
"The file is re-read every second")
|
||||||
@@ -223,12 +225,14 @@ func getAuthConfig(argIdx int) (*promauth.Config, error) {
|
|||||||
hdrs = strings.Split(headersValue, "^^")
|
hdrs = strings.Split(headersValue, "^^")
|
||||||
}
|
}
|
||||||
username := basicAuthUsername.GetOptionalArg(argIdx)
|
username := basicAuthUsername.GetOptionalArg(argIdx)
|
||||||
|
usernameFile := basicAuthUsernameFile.GetOptionalArg(argIdx)
|
||||||
password := basicAuthPassword.GetOptionalArg(argIdx)
|
password := basicAuthPassword.GetOptionalArg(argIdx)
|
||||||
passwordFile := basicAuthPasswordFile.GetOptionalArg(argIdx)
|
passwordFile := basicAuthPasswordFile.GetOptionalArg(argIdx)
|
||||||
var basicAuthCfg *promauth.BasicAuthConfig
|
var basicAuthCfg *promauth.BasicAuthConfig
|
||||||
if username != "" || password != "" || passwordFile != "" {
|
if username != "" || usernameFile != "" || password != "" || passwordFile != "" {
|
||||||
basicAuthCfg = &promauth.BasicAuthConfig{
|
basicAuthCfg = &promauth.BasicAuthConfig{
|
||||||
Username: username,
|
Username: username,
|
||||||
|
UsernameFile: usernameFile,
|
||||||
Password: promauth.NewSecret(password),
|
Password: promauth.NewSecret(password),
|
||||||
PasswordFile: passwordFile,
|
PasswordFile: passwordFile,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -772,7 +772,7 @@ func TestHeaders(t *testing.T) {
|
|||||||
|
|
||||||
// basic auth
|
// basic auth
|
||||||
f(func() *Client {
|
f(func() *Client {
|
||||||
cfg, err := vmalertutil.AuthConfig(vmalertutil.WithBasicAuth("foo", "bar", ""))
|
cfg, err := vmalertutil.AuthConfig(vmalertutil.WithBasicAuth("foo", "", "bar", ""))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Error get auth config: %s", err)
|
t.Fatalf("Error get auth config: %s", err)
|
||||||
}
|
}
|
||||||
@@ -817,7 +817,7 @@ func TestHeaders(t *testing.T) {
|
|||||||
|
|
||||||
// custom header overrides basic auth
|
// custom header overrides basic auth
|
||||||
f(func() *Client {
|
f(func() *Client {
|
||||||
cfg, err := vmalertutil.AuthConfig(vmalertutil.WithBasicAuth("foo", "bar", ""))
|
cfg, err := vmalertutil.AuthConfig(vmalertutil.WithBasicAuth("foo", "", "bar", ""))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Error get auth config: %s", err)
|
t.Fatalf("Error get auth config: %s", err)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ var (
|
|||||||
"Multiple headers must be delimited by '^^': -datasource.headers='header1:value1^^header2:value2'")
|
"Multiple headers must be delimited by '^^': -datasource.headers='header1:value1^^header2:value2'")
|
||||||
|
|
||||||
basicAuthUsername = flag.String("datasource.basicAuth.username", "", "Optional basic auth username for -datasource.url")
|
basicAuthUsername = flag.String("datasource.basicAuth.username", "", "Optional basic auth username for -datasource.url")
|
||||||
|
basicAuthUsernameFile = flag.String("datasource.basicAuth.usernameFile", "", "Optional path to basic auth username to use for -datasource.url")
|
||||||
basicAuthPassword = flag.String("datasource.basicAuth.password", "", "Optional basic auth password for -datasource.url")
|
basicAuthPassword = flag.String("datasource.basicAuth.password", "", "Optional basic auth password for -datasource.url")
|
||||||
basicAuthPasswordFile = flag.String("datasource.basicAuth.passwordFile", "", "Optional path to basic auth password to use for -datasource.url")
|
basicAuthPasswordFile = flag.String("datasource.basicAuth.passwordFile", "", "Optional path to basic auth password to use for -datasource.url")
|
||||||
|
|
||||||
@@ -105,7 +106,7 @@ func Init(extraParams url.Values) (QuerierBuilder, error) {
|
|||||||
return nil, fmt.Errorf("cannot parse JSON for -datasource.oauth2.endpointParams=%s: %w", *oauth2EndpointParams, err)
|
return nil, fmt.Errorf("cannot parse JSON for -datasource.oauth2.endpointParams=%s: %w", *oauth2EndpointParams, err)
|
||||||
}
|
}
|
||||||
authCfg, err := vmalertutil.AuthConfig(
|
authCfg, err := vmalertutil.AuthConfig(
|
||||||
vmalertutil.WithBasicAuth(*basicAuthUsername, *basicAuthPassword, *basicAuthPasswordFile),
|
vmalertutil.WithBasicAuth(*basicAuthUsername, *basicAuthUsernameFile, *basicAuthPassword, *basicAuthPasswordFile),
|
||||||
vmalertutil.WithBearer(*bearerToken, *bearerTokenFile),
|
vmalertutil.WithBearer(*bearerToken, *bearerTokenFile),
|
||||||
vmalertutil.WithOAuth(*oauth2ClientID, *oauth2ClientSecret, *oauth2ClientSecretFile, *oauth2TokenURL, *oauth2Scopes, endpointParams),
|
vmalertutil.WithOAuth(*oauth2ClientID, *oauth2ClientSecret, *oauth2ClientSecretFile, *oauth2TokenURL, *oauth2Scopes, endpointParams),
|
||||||
vmalertutil.WithHeaders(*headers))
|
vmalertutil.WithHeaders(*headers))
|
||||||
|
|||||||
@@ -191,7 +191,7 @@ func NewAlertManager(alertManagerURL string, fn AlertURLGenerator, authCfg proma
|
|||||||
}
|
}
|
||||||
|
|
||||||
aCfg, err := vmalertutil.AuthConfig(
|
aCfg, err := vmalertutil.AuthConfig(
|
||||||
vmalertutil.WithBasicAuth(ba.Username, ba.Password.String(), ba.PasswordFile),
|
vmalertutil.WithBasicAuth(ba.Username, ba.UsernameFile, ba.Password.String(), ba.PasswordFile),
|
||||||
vmalertutil.WithBearer(authCfg.BearerToken.String(), authCfg.BearerTokenFile),
|
vmalertutil.WithBearer(authCfg.BearerToken.String(), authCfg.BearerTokenFile),
|
||||||
vmalertutil.WithOAuth(oauth.ClientID, oauth.ClientSecret.String(), oauth.ClientSecretFile, oauth.TokenURL, strings.Join(oauth.Scopes, ";"), oauth.EndpointParams),
|
vmalertutil.WithOAuth(oauth.ClientID, oauth.ClientSecret.String(), oauth.ClientSecretFile, oauth.TokenURL, strings.Join(oauth.Scopes, ";"), oauth.EndpointParams),
|
||||||
vmalertutil.WithHeaders(strings.Join(authCfg.Headers, "^^")),
|
vmalertutil.WithHeaders(strings.Join(authCfg.Headers, "^^")),
|
||||||
|
|||||||
@@ -36,6 +36,7 @@ var (
|
|||||||
"For example, -remoteWrite.headers='My-Auth:foobar' would send 'My-Auth: foobar' HTTP header with every request to the corresponding -notifier.url. "+
|
"For example, -remoteWrite.headers='My-Auth:foobar' would send 'My-Auth: foobar' HTTP header with every request to the corresponding -notifier.url. "+
|
||||||
"Multiple headers must be delimited by '^^': -notifier.headers='header1:value1^^header2:value2,header3:value3'")
|
"Multiple headers must be delimited by '^^': -notifier.headers='header1:value1^^header2:value2,header3:value3'")
|
||||||
basicAuthUsername = flagutil.NewArrayString("notifier.basicAuth.username", "Optional basic auth username for -notifier.url")
|
basicAuthUsername = flagutil.NewArrayString("notifier.basicAuth.username", "Optional basic auth username for -notifier.url")
|
||||||
|
basicAuthUsernameFile = flagutil.NewArrayString("notifier.basicAuth.usernameFile", "Optional path to basic auth username file for -notifier.url")
|
||||||
basicAuthPassword = flagutil.NewArrayString("notifier.basicAuth.password", "Optional basic auth password for -notifier.url")
|
basicAuthPassword = flagutil.NewArrayString("notifier.basicAuth.password", "Optional basic auth password for -notifier.url")
|
||||||
basicAuthPasswordFile = flagutil.NewArrayString("notifier.basicAuth.passwordFile", "Optional path to basic auth password file for -notifier.url")
|
basicAuthPasswordFile = flagutil.NewArrayString("notifier.basicAuth.passwordFile", "Optional path to basic auth password file for -notifier.url")
|
||||||
|
|
||||||
@@ -213,6 +214,7 @@ func notifiersFromFlags(gen AlertURLGenerator) ([]Notifier, error) {
|
|||||||
},
|
},
|
||||||
BasicAuth: &promauth.BasicAuthConfig{
|
BasicAuth: &promauth.BasicAuthConfig{
|
||||||
Username: basicAuthUsername.GetOptionalArg(i),
|
Username: basicAuthUsername.GetOptionalArg(i),
|
||||||
|
UsernameFile: basicAuthUsernameFile.GetOptionalArg(i),
|
||||||
Password: promauth.NewSecret(basicAuthPassword.GetOptionalArg(i)),
|
Password: promauth.NewSecret(basicAuthPassword.GetOptionalArg(i)),
|
||||||
PasswordFile: basicAuthPasswordFile.GetOptionalArg(i),
|
PasswordFile: basicAuthPasswordFile.GetOptionalArg(i),
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ var (
|
|||||||
"Multiple headers must be delimited by '^^': -remoteRead.headers='header1:value1^^header2:value2'")
|
"Multiple headers must be delimited by '^^': -remoteRead.headers='header1:value1^^header2:value2'")
|
||||||
|
|
||||||
basicAuthUsername = flag.String("remoteRead.basicAuth.username", "", "Optional basic auth username for -remoteRead.url")
|
basicAuthUsername = flag.String("remoteRead.basicAuth.username", "", "Optional basic auth username for -remoteRead.url")
|
||||||
|
basicAuthUsernameFile = flag.String("remoteRead.basicAuth.usernameFile", "", "Optional path to basic auth username to use for -remoteRead.url")
|
||||||
basicAuthPassword = flag.String("remoteRead.basicAuth.password", "", "Optional basic auth password for -remoteRead.url")
|
basicAuthPassword = flag.String("remoteRead.basicAuth.password", "", "Optional basic auth password for -remoteRead.url")
|
||||||
basicAuthPasswordFile = flag.String("remoteRead.basicAuth.passwordFile", "", "Optional path to basic auth password to use for -remoteRead.url")
|
basicAuthPasswordFile = flag.String("remoteRead.basicAuth.passwordFile", "", "Optional path to basic auth password to use for -remoteRead.url")
|
||||||
|
|
||||||
@@ -80,7 +81,7 @@ func Init() (datasource.QuerierBuilder, error) {
|
|||||||
return nil, fmt.Errorf("cannot parse JSON for -remoteRead.oauth2.endpointParams=%s: %w", *oauth2EndpointParams, err)
|
return nil, fmt.Errorf("cannot parse JSON for -remoteRead.oauth2.endpointParams=%s: %w", *oauth2EndpointParams, err)
|
||||||
}
|
}
|
||||||
authCfg, err := vmalertutil.AuthConfig(
|
authCfg, err := vmalertutil.AuthConfig(
|
||||||
vmalertutil.WithBasicAuth(*basicAuthUsername, *basicAuthPassword, *basicAuthPasswordFile),
|
vmalertutil.WithBasicAuth(*basicAuthUsername, *basicAuthUsernameFile, *basicAuthPassword, *basicAuthPasswordFile),
|
||||||
vmalertutil.WithBearer(*bearerToken, *bearerTokenFile),
|
vmalertutil.WithBearer(*bearerToken, *bearerTokenFile),
|
||||||
vmalertutil.WithOAuth(*oauth2ClientID, *oauth2ClientSecret, *oauth2ClientSecretFile, *oauth2TokenURL, *oauth2Scopes, endpointParams),
|
vmalertutil.WithOAuth(*oauth2ClientID, *oauth2ClientSecret, *oauth2ClientSecretFile, *oauth2TokenURL, *oauth2Scopes, endpointParams),
|
||||||
vmalertutil.WithHeaders(*headers))
|
vmalertutil.WithHeaders(*headers))
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ var (
|
|||||||
"Multiple headers must be delimited by '^^': -remoteWrite.headers='header1:value1^^header2:value2'")
|
"Multiple headers must be delimited by '^^': -remoteWrite.headers='header1:value1^^header2:value2'")
|
||||||
|
|
||||||
basicAuthUsername = flag.String("remoteWrite.basicAuth.username", "", "Optional basic auth username for -remoteWrite.url")
|
basicAuthUsername = flag.String("remoteWrite.basicAuth.username", "", "Optional basic auth username for -remoteWrite.url")
|
||||||
|
basicAuthUsernameFile = flag.String("remoteWrite.basicAuth.usernameFile", "", "Optional path to basic auth username to use for -remoteWrite.url")
|
||||||
basicAuthPassword = flag.String("remoteWrite.basicAuth.password", "", "Optional basic auth password for -remoteWrite.url")
|
basicAuthPassword = flag.String("remoteWrite.basicAuth.password", "", "Optional basic auth password for -remoteWrite.url")
|
||||||
basicAuthPasswordFile = flag.String("remoteWrite.basicAuth.passwordFile", "", "Optional path to basic auth password to use for -remoteWrite.url")
|
basicAuthPasswordFile = flag.String("remoteWrite.basicAuth.passwordFile", "", "Optional path to basic auth password to use for -remoteWrite.url")
|
||||||
|
|
||||||
@@ -83,7 +84,7 @@ func Init(ctx context.Context) (*Client, error) {
|
|||||||
return nil, fmt.Errorf("cannot parse JSON for -remoteWrite.oauth2.endpointParams=%s: %w", *oauth2EndpointParams, err)
|
return nil, fmt.Errorf("cannot parse JSON for -remoteWrite.oauth2.endpointParams=%s: %w", *oauth2EndpointParams, err)
|
||||||
}
|
}
|
||||||
authCfg, err := vmalertutil.AuthConfig(
|
authCfg, err := vmalertutil.AuthConfig(
|
||||||
vmalertutil.WithBasicAuth(*basicAuthUsername, *basicAuthPassword, *basicAuthPasswordFile),
|
vmalertutil.WithBasicAuth(*basicAuthUsername, *basicAuthUsernameFile, *basicAuthPassword, *basicAuthPasswordFile),
|
||||||
vmalertutil.WithBearer(*bearerToken, *bearerTokenFile),
|
vmalertutil.WithBearer(*bearerToken, *bearerTokenFile),
|
||||||
vmalertutil.WithOAuth(*oauth2ClientID, *oauth2ClientSecret, *oauth2ClientSecretFile, *oauth2TokenURL, *oauth2Scopes, endpointParams),
|
vmalertutil.WithOAuth(*oauth2ClientID, *oauth2ClientSecret, *oauth2ClientSecretFile, *oauth2TokenURL, *oauth2Scopes, endpointParams),
|
||||||
vmalertutil.WithHeaders(*headers))
|
vmalertutil.WithHeaders(*headers))
|
||||||
|
|||||||
@@ -20,11 +20,12 @@ func AuthConfig(filterOptions ...AuthConfigOptions) (*promauth.Config, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// WithBasicAuth returns AuthConfigOptions and initialized promauth.BasicAuthConfig based on given params
|
// WithBasicAuth returns AuthConfigOptions and initialized promauth.BasicAuthConfig based on given params
|
||||||
func WithBasicAuth(username, password, passwordFile string) AuthConfigOptions {
|
func WithBasicAuth(username, usernameFile, password, passwordFile string) AuthConfigOptions {
|
||||||
return func(config *promauth.HTTPClientConfig) {
|
return func(config *promauth.HTTPClientConfig) {
|
||||||
if username != "" || password != "" || passwordFile != "" {
|
if username != "" || usernameFile != "" || password != "" || passwordFile != "" {
|
||||||
config.BasicAuth = &promauth.BasicAuthConfig{
|
config.BasicAuth = &promauth.BasicAuthConfig{
|
||||||
Username: username,
|
Username: username,
|
||||||
|
UsernameFile: usernameFile,
|
||||||
Password: promauth.NewSecret(password),
|
Password: promauth.NewSecret(password),
|
||||||
PasswordFile: passwordFile,
|
PasswordFile: passwordFile,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -27,6 +27,7 @@ See also [LTS releases](https://docs.victoriametrics.com/victoriametrics/lts-rel
|
|||||||
## tip
|
## tip
|
||||||
|
|
||||||
* FEATURE: all VictoriaMetrics components: improve logging for the `-memory.allowedBytes` flag to warn about excessively low value (less than 1MB). See issue [#10935](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/10935).
|
* FEATURE: all VictoriaMetrics components: improve logging for the `-memory.allowedBytes` flag to warn about excessively low value (less than 1MB). See issue [#10935](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/10935).
|
||||||
|
* FEATURE: [vmagent](https://docs.victoriametrics.com/victoriametrics/vmagent/) and [vmalert](https://docs.victoriametrics.com/victoriametrics/vmalert/): add `basicAuth.usernameFile` command-line flags for reading basic auth username from a file, similar to the existing `basicAuth.passwordFile`. The file is re-read every second. See [#9436](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/9436). Thanks to @kimjune01 for the contribution.
|
||||||
* FEATURE: [vmsingle](https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/), `vminsert` in [VictoriaMetrics cluster](https://docs.victoriametrics.com/victoriametrics/cluster-victoriametrics/) and [vmagent](https://docs.victoriametrics.com/victoriametrics/vmagent/): add `-opentelemetry.labelNameUnderscoreSanitization` command-line flag to control whether to enable prepending of `key` to labels starting with `_` when `-opentelemetry.usePrometheusNaming` is enabled. See [OpenTelemetry](https://docs.victoriametrics.com/victoriametrics/integrations/opentelemetry/) docs and [#9663](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/9663). Thanks to @andriibeee for the contribution.
|
* FEATURE: [vmsingle](https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/), `vminsert` in [VictoriaMetrics cluster](https://docs.victoriametrics.com/victoriametrics/cluster-victoriametrics/) and [vmagent](https://docs.victoriametrics.com/victoriametrics/vmagent/): add `-opentelemetry.labelNameUnderscoreSanitization` command-line flag to control whether to enable prepending of `key` to labels starting with `_` when `-opentelemetry.usePrometheusNaming` is enabled. See [OpenTelemetry](https://docs.victoriametrics.com/victoriametrics/integrations/opentelemetry/) docs and [#9663](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/9663). Thanks to @andriibeee for the contribution.
|
||||||
* FEATURE: [vmui](https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#vmui): improve the [Top Queries](https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#top-queries) table UI. Duration columns now display human-readable values (e.g. `1.23s`) instead of raw seconds, memory column shows human-readable sizes (e.g. `1.23 MB`), instant queries are labeled as `instant` instead of empty string, and column headers now show tooltips with descriptions. See [#10790](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/10790).
|
* FEATURE: [vmui](https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#vmui): improve the [Top Queries](https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#top-queries) table UI. Duration columns now display human-readable values (e.g. `1.23s`) instead of raw seconds, memory column shows human-readable sizes (e.g. `1.23 MB`), instant queries are labeled as `instant` instead of empty string, and column headers now show tooltips with descriptions. See [#10790](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/10790).
|
||||||
|
|
||||||
|
|||||||
@@ -383,6 +383,10 @@ See the docs at https://docs.victoriametrics.com/victoriametrics/vmagent/ .
|
|||||||
Optional basic auth username to use for the corresponding -remoteWrite.url
|
Optional basic auth username to use for the corresponding -remoteWrite.url
|
||||||
Supports an array of values separated by comma or specified via multiple flags.
|
Supports an array of values separated by comma or specified via multiple flags.
|
||||||
Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
|
Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
|
||||||
|
-remoteWrite.basicAuth.usernameFile array
|
||||||
|
Optional path to basic auth username to use for the corresponding -remoteWrite.url. The file is re-read every second
|
||||||
|
Supports an array of values separated by comma or specified via multiple flags.
|
||||||
|
Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
|
||||||
-remoteWrite.bearerToken array
|
-remoteWrite.bearerToken array
|
||||||
Optional bearer auth token to use for the corresponding -remoteWrite.url
|
Optional bearer auth token to use for the corresponding -remoteWrite.url
|
||||||
Supports an array of values separated by comma or specified via multiple flags.
|
Supports an array of values separated by comma or specified via multiple flags.
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ See the docs at https://docs.victoriametrics.com/victoriametrics/vmalert/ .
|
|||||||
Optional path to basic auth password to use for -datasource.url
|
Optional path to basic auth password to use for -datasource.url
|
||||||
-datasource.basicAuth.username string
|
-datasource.basicAuth.username string
|
||||||
Optional basic auth username for -datasource.url
|
Optional basic auth username for -datasource.url
|
||||||
|
-datasource.basicAuth.usernameFile string
|
||||||
|
Optional path to basic auth username to use for -datasource.url
|
||||||
-datasource.bearerToken string
|
-datasource.bearerToken string
|
||||||
Optional bearer auth token to use for -datasource.url.
|
Optional bearer auth token to use for -datasource.url.
|
||||||
-datasource.bearerTokenFile string
|
-datasource.bearerTokenFile string
|
||||||
@@ -186,6 +188,10 @@ See the docs at https://docs.victoriametrics.com/victoriametrics/vmalert/ .
|
|||||||
Optional basic auth username for -notifier.url
|
Optional basic auth username for -notifier.url
|
||||||
Supports an array of values separated by comma or specified via multiple flags.
|
Supports an array of values separated by comma or specified via multiple flags.
|
||||||
Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
|
Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
|
||||||
|
-notifier.basicAuth.usernameFile array
|
||||||
|
Optional path to basic auth username file for -notifier.url
|
||||||
|
Supports an array of values separated by comma or specified via multiple flags.
|
||||||
|
Each array item can contain comma inside single-quoted or double-quoted string, {}, [] and () braces.
|
||||||
-notifier.bearerToken array
|
-notifier.bearerToken array
|
||||||
Optional bearer token for -notifier.url
|
Optional bearer token for -notifier.url
|
||||||
Supports an array of values separated by comma or specified via multiple flags.
|
Supports an array of values separated by comma or specified via multiple flags.
|
||||||
@@ -298,6 +304,8 @@ See the docs at https://docs.victoriametrics.com/victoriametrics/vmalert/ .
|
|||||||
Optional path to basic auth password to use for -remoteRead.url
|
Optional path to basic auth password to use for -remoteRead.url
|
||||||
-remoteRead.basicAuth.username string
|
-remoteRead.basicAuth.username string
|
||||||
Optional basic auth username for -remoteRead.url
|
Optional basic auth username for -remoteRead.url
|
||||||
|
-remoteRead.basicAuth.usernameFile string
|
||||||
|
Optional path to basic auth username to use for -remoteRead.url
|
||||||
-remoteRead.bearerToken string
|
-remoteRead.bearerToken string
|
||||||
Optional bearer auth token to use for -remoteRead.url.
|
Optional bearer auth token to use for -remoteRead.url.
|
||||||
-remoteRead.bearerTokenFile string
|
-remoteRead.bearerTokenFile string
|
||||||
@@ -342,6 +350,8 @@ See the docs at https://docs.victoriametrics.com/victoriametrics/vmalert/ .
|
|||||||
Optional path to basic auth password to use for -remoteWrite.url
|
Optional path to basic auth password to use for -remoteWrite.url
|
||||||
-remoteWrite.basicAuth.username string
|
-remoteWrite.basicAuth.username string
|
||||||
Optional basic auth username for -remoteWrite.url
|
Optional basic auth username for -remoteWrite.url
|
||||||
|
-remoteWrite.basicAuth.usernameFile string
|
||||||
|
Optional path to basic auth username to use for -remoteWrite.url
|
||||||
-remoteWrite.bearerToken string
|
-remoteWrite.bearerToken string
|
||||||
Optional bearer auth token to use for -remoteWrite.url.
|
Optional bearer auth token to use for -remoteWrite.url.
|
||||||
-remoteWrite.bearerTokenFile string
|
-remoteWrite.bearerTokenFile string
|
||||||
|
|||||||
@@ -419,6 +419,8 @@ Below is the list of configuration flags (it can be viewed by running `./vmgatew
|
|||||||
Optional path to basic auth password to use for -datasource.url
|
Optional path to basic auth password to use for -datasource.url
|
||||||
-datasource.basicAuth.username string
|
-datasource.basicAuth.username string
|
||||||
Optional basic auth username for -datasource.url
|
Optional basic auth username for -datasource.url
|
||||||
|
-datasource.basicAuth.usernameFile string
|
||||||
|
Optional path to basic auth username to use for -datasource.url
|
||||||
-datasource.bearerToken string
|
-datasource.bearerToken string
|
||||||
Optional bearer auth token to use for -datasource.url.
|
Optional bearer auth token to use for -datasource.url.
|
||||||
-datasource.bearerTokenFile string
|
-datasource.bearerTokenFile string
|
||||||
|
|||||||
Reference in New Issue
Block a user