mirror of
https://github.com/VictoriaMetrics/VictoriaMetrics.git
synced 2024-11-21 14:44:00 +00:00
app/vmauth: merge default_url
example into multi-url example in order to reduce the amounts of text to read for the user
Updates https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4084
This is a follow-up for 041e188df8
This commit is contained in:
parent
8703b2fa87
commit
22aeeeef3e
5 changed files with 32 additions and 83 deletions
|
@ -163,14 +163,22 @@ users:
|
||||||
- "http://vminsert2:8480/insert/42/prometheus"
|
- "http://vminsert2:8480/insert/42/prometheus"
|
||||||
|
|
||||||
# A single user for querying and inserting data:
|
# A single user for querying and inserting data:
|
||||||
|
#
|
||||||
# - Requests to http://vmauth:8427/api/v1/query, http://vmauth:8427/api/v1/query_range
|
# - Requests to http://vmauth:8427/api/v1/query, http://vmauth:8427/api/v1/query_range
|
||||||
# and http://vmauth:8427/api/v1/label/<label_name>/values are proxied to the following urls in a round-robin manner:
|
# and http://vmauth:8427/api/v1/label/<label_name>/values are proxied to the following urls in a round-robin manner:
|
||||||
# - http://vmselect1:8481/select/42/prometheus
|
# - http://vmselect1:8481/select/42/prometheus
|
||||||
# - http://vmselect2:8481/select/42/prometheus
|
# - http://vmselect2:8481/select/42/prometheus
|
||||||
# For example, http://vmauth:8427/api/v1/query is proxied to http://vmselect1:8480/select/42/prometheus/api/v1/query
|
# For example, http://vmauth:8427/api/v1/query is proxied to http://vmselect1:8480/select/42/prometheus/api/v1/query
|
||||||
# or to http://vmselect2:8480/select/42/prometheus/api/v1/query .
|
# or to http://vmselect2:8480/select/42/prometheus/api/v1/query .
|
||||||
|
#
|
||||||
# - Requests to http://vmauth:8427/api/v1/write are proxied to http://vminsert:8480/insert/42/prometheus/api/v1/write .
|
# - Requests to http://vmauth:8427/api/v1/write are proxied to http://vminsert:8480/insert/42/prometheus/api/v1/write .
|
||||||
# The "X-Scope-OrgID: abc" http header is added to these requests.
|
# The "X-Scope-OrgID: abc" http header is added to these requests.
|
||||||
|
#
|
||||||
|
# Request which do not match `src_paths` from the `url_map` are proxied to the urls from `default_url`
|
||||||
|
# in a round-robin manner. The original request path is passed in `request_path` query arg.
|
||||||
|
# For example, request to http://vmauth:8427/non/existing/path are proxied:
|
||||||
|
# - to http://default1:8888/unsupported_url_handler?request_path=/non/existing/path
|
||||||
|
# - or http://default2:8888/unsupported_url_handler?request_path=/non/existing/path
|
||||||
- username: "foobar"
|
- username: "foobar"
|
||||||
url_map:
|
url_map:
|
||||||
- src_paths:
|
- src_paths:
|
||||||
|
@ -186,34 +194,9 @@ users:
|
||||||
- "X-Scope-OrgID: abc"
|
- "X-Scope-OrgID: abc"
|
||||||
ip_filters:
|
ip_filters:
|
||||||
deny_list: [127.0.0.1]
|
deny_list: [127.0.0.1]
|
||||||
|
|
||||||
# A single user for querying and inserting data:
|
|
||||||
# - Requests to http://vmauth:8427/api/v1/query, http://vmauth:8427/api/v1/query_range
|
|
||||||
# and http://vmauth:8427/api/v1/label/<label_name>/values are proxied to the following urls in a round-robin manner:
|
|
||||||
# - http://vmselect1:8481/select/42/prometheus
|
|
||||||
# - http://vmselect2:8481/select/42/prometheus
|
|
||||||
# For example, http://vmauth:8427/api/v1/query is proxied to http://vmselect1:8480/select/42/prometheus/api/v1/query
|
|
||||||
# or to http://vmselect2:8480/select/42/prometheus/api/v1/query .
|
|
||||||
# - Requests to http://vmauth:8427/api/v1/write are proxied to http://vminsert:8480/insert/42/prometheus/api/v1/write .
|
|
||||||
# The requests which do not match `src_paths` from the `url_map` will be proxied to the urls rom `default_url`
|
|
||||||
# in a round-robin manner (with request path in `request_path` query param).
|
|
||||||
# For example, request to http://vmauth:8427/non/existing/path will be proxied:
|
|
||||||
# - to http://default1:8888/process?request_path=/non/existing/path
|
|
||||||
# - or http://default2:8888/process?request_path=/non/existing/path
|
|
||||||
- username: "foobar"
|
|
||||||
url_map:
|
|
||||||
- src_paths:
|
|
||||||
- "/api/v1/query"
|
|
||||||
- "/api/v1/query_range"
|
|
||||||
- "/api/v1/label/[^/]+/values"
|
|
||||||
url_prefix:
|
|
||||||
- "http://vmselect1:8481/select/42/prometheus"
|
|
||||||
- "http://vmselect2:8481/select/42/prometheus"
|
|
||||||
- src_paths: ["/api/v1/write"]
|
|
||||||
url_prefix: "http://vminsert:8480/insert/42/prometheus"
|
|
||||||
default_url:
|
default_url:
|
||||||
- "http://default1:8888/process"
|
- "http://default1:8888/unsupported_url_handler"
|
||||||
- "http://default2:8888/process"
|
- "http://default2:8888/unsupported_url_handler"
|
||||||
|
|
||||||
# Requests without Authorization header are routed according to `unauthorized_user` section.
|
# Requests without Authorization header are routed according to `unauthorized_user` section.
|
||||||
unauthorized_user:
|
unauthorized_user:
|
||||||
|
|
|
@ -372,7 +372,7 @@ users:
|
||||||
headers:
|
headers:
|
||||||
- "foo: bar"
|
- "foo: bar"
|
||||||
- "xxx: y"
|
- "xxx: y"
|
||||||
default_url:
|
default_url:
|
||||||
- http://default1/select/0/prometheus
|
- http://default1/select/0/prometheus
|
||||||
- http://default2/select/0/prometheus
|
- http://default2/select/0/prometheus
|
||||||
`, map[string]*UserInfo{
|
`, map[string]*UserInfo{
|
||||||
|
|
|
@ -60,14 +60,22 @@ users:
|
||||||
- "http://vminsert2:8480/insert/42/prometheus"
|
- "http://vminsert2:8480/insert/42/prometheus"
|
||||||
|
|
||||||
# A single user for querying and inserting data:
|
# A single user for querying and inserting data:
|
||||||
|
#
|
||||||
# - Requests to http://vmauth:8427/api/v1/query, http://vmauth:8427/api/v1/query_range
|
# - Requests to http://vmauth:8427/api/v1/query, http://vmauth:8427/api/v1/query_range
|
||||||
# and http://vmauth:8427/api/v1/label/<label_name>/values are proxied to the following urls in a round-robin manner:
|
# and http://vmauth:8427/api/v1/label/<label_name>/values are proxied to the following urls in a round-robin manner:
|
||||||
# - http://vmselect1:8481/select/42/prometheus
|
# - http://vmselect1:8481/select/42/prometheus
|
||||||
# - http://vmselect2:8481/select/42/prometheus
|
# - http://vmselect2:8481/select/42/prometheus
|
||||||
# For example, http://vmauth:8427/api/v1/query is proxied to http://vmselect1:8480/select/42/prometheus/api/v1/query
|
# For example, http://vmauth:8427/api/v1/query is proxied to http://vmselect1:8480/select/42/prometheus/api/v1/query
|
||||||
# or to http://vmselect2:8480/select/42/prometheus/api/v1/query .
|
# or to http://vmselect2:8480/select/42/prometheus/api/v1/query .
|
||||||
|
#
|
||||||
# - Requests to http://vmauth:8427/api/v1/write are proxied to http://vminsert:8480/insert/42/prometheus/api/v1/write .
|
# - Requests to http://vmauth:8427/api/v1/write are proxied to http://vminsert:8480/insert/42/prometheus/api/v1/write .
|
||||||
# The "X-Scope-OrgID: abc" http header is added to these requests.
|
# The "X-Scope-OrgID: abc" http header is added to these requests.
|
||||||
|
#
|
||||||
|
# Request which do not match `src_paths` from the `url_map` are proxied to the urls from `default_url`
|
||||||
|
# in a round-robin manner. The original request path is passed in `request_path` query arg.
|
||||||
|
# For example, request to http://vmauth:8427/non/existing/path are proxied:
|
||||||
|
# - to http://default1:8888/unsupported_url_handler?request_path=/non/existing/path
|
||||||
|
# - or http://default2:8888/unsupported_url_handler?request_path=/non/existing/path
|
||||||
- username: "foobar"
|
- username: "foobar"
|
||||||
url_map:
|
url_map:
|
||||||
- src_paths:
|
- src_paths:
|
||||||
|
@ -83,34 +91,9 @@ users:
|
||||||
- "X-Scope-OrgID: abc"
|
- "X-Scope-OrgID: abc"
|
||||||
ip_filters:
|
ip_filters:
|
||||||
deny_list: [127.0.0.1]
|
deny_list: [127.0.0.1]
|
||||||
|
|
||||||
# A single user for querying and inserting data:
|
|
||||||
# - Requests to http://vmauth:8427/api/v1/query, http://vmauth:8427/api/v1/query_range
|
|
||||||
# and http://vmauth:8427/api/v1/label/<label_name>/values are proxied to the following urls in a round-robin manner:
|
|
||||||
# - http://vmselect1:8481/select/42/prometheus
|
|
||||||
# - http://vmselect2:8481/select/42/prometheus
|
|
||||||
# For example, http://vmauth:8427/api/v1/query is proxied to http://vmselect1:8480/select/42/prometheus/api/v1/query
|
|
||||||
# or to http://vmselect2:8480/select/42/prometheus/api/v1/query .
|
|
||||||
# - Requests to http://vmauth:8427/api/v1/write are proxied to http://vminsert:8480/insert/42/prometheus/api/v1/write .
|
|
||||||
# The requests which do not match `src_paths` from the `url_map` will be proxied to the urls rom `default_url`
|
|
||||||
# in a round-robin manner (with request path in `request_path` query param).
|
|
||||||
# For example, request to http://vmauth:8427/non/existing/path will be proxied:
|
|
||||||
# - to http://default1:8888/process?request_path=/non/existing/path
|
|
||||||
# - or http://default2:8888/process?request_path=/non/existing/path
|
|
||||||
- username: "foobar"
|
|
||||||
url_map:
|
|
||||||
- src_paths:
|
|
||||||
- "/api/v1/query"
|
|
||||||
- "/api/v1/query_range"
|
|
||||||
- "/api/v1/label/[^/]+/values"
|
|
||||||
url_prefix:
|
|
||||||
- "http://vmselect1:8481/select/42/prometheus"
|
|
||||||
- "http://vmselect2:8481/select/42/prometheus"
|
|
||||||
- src_paths: ["/api/v1/write"]
|
|
||||||
url_prefix: "http://vminsert:8480/insert/42/prometheus"
|
|
||||||
default_url:
|
default_url:
|
||||||
- "http://default1:8888/process"
|
- "http://default1:8888/unsupported_url_handler"
|
||||||
- "http://default2:8888/process"
|
- "http://default2:8888/unsupported_url_handler"
|
||||||
|
|
||||||
# Requests without Authorization header are routed according to `unauthorized_user` section.
|
# Requests without Authorization header are routed according to `unauthorized_user` section.
|
||||||
unauthorized_user:
|
unauthorized_user:
|
||||||
|
|
|
@ -40,7 +40,7 @@ The following tip changes can be tested by building VictoriaMetrics components f
|
||||||
* FEATURE: [vmui](https://docs.victoriametrics.com/#vmui): add the metric relabel playground feature to the vmui. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3807).
|
* FEATURE: [vmui](https://docs.victoriametrics.com/#vmui): add the metric relabel playground feature to the vmui. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3807).
|
||||||
* FEATURE: [vmauth](https://docs.victoriametrics.com/vmauth.html): add ability to filter incoming requests by IP. See [these docs](https://docs.victoriametrics.com/vmauth.html#ip-filters) and [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3491).
|
* FEATURE: [vmauth](https://docs.victoriametrics.com/vmauth.html): add ability to filter incoming requests by IP. See [these docs](https://docs.victoriametrics.com/vmauth.html#ip-filters) and [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3491).
|
||||||
* FEATURE: [vmauth](https://docs.victoriametrics.com/vmauth.html): add ability to proxy requests for unauthorized users. See [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4083).
|
* FEATURE: [vmauth](https://docs.victoriametrics.com/vmauth.html): add ability to proxy requests for unauthorized users. See [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4083).
|
||||||
* FEATURE: [vmauth](https://docs.victoriametrics.com/vmauth.html): add ability to specify default route (`default_url`) for processing non-matched requests. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4084).
|
* FEATURE: [vmauth](https://docs.victoriametrics.com/vmauth.html): add ability to specify default route (`default_url`) for processing non-matched requests. See [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4084).
|
||||||
* FEATURE: [vmauth](https://docs.victoriametrics.com/vmauth.html): add ability to filter incoming requests by IP. See [these docs](https://docs.victoriametrics.com/vmauth.html#ip-filters) and [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3491).
|
* FEATURE: [vmauth](https://docs.victoriametrics.com/vmauth.html): add ability to filter incoming requests by IP. See [these docs](https://docs.victoriametrics.com/vmauth.html#ip-filters) and [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3491).
|
||||||
* FEATURE: [vmalert](https://docs.victoriametrics.com/vmalert.html): support configuring of custom HTTP headers sent to notifiers on the Group level. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3260).
|
* FEATURE: [vmalert](https://docs.victoriametrics.com/vmalert.html): support configuring of custom HTTP headers sent to notifiers on the Group level. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3260).
|
||||||
* FEATURE: [vmalert](https://docs.victoriametrics.com/vmalert.html): detect alerting rules which don't match any series. See this [issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4039) for details.
|
* FEATURE: [vmalert](https://docs.victoriametrics.com/vmalert.html): detect alerting rules which don't match any series. See this [issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/4039) for details.
|
||||||
|
|
|
@ -167,14 +167,22 @@ users:
|
||||||
- "http://vminsert2:8480/insert/42/prometheus"
|
- "http://vminsert2:8480/insert/42/prometheus"
|
||||||
|
|
||||||
# A single user for querying and inserting data:
|
# A single user for querying and inserting data:
|
||||||
|
#
|
||||||
# - Requests to http://vmauth:8427/api/v1/query, http://vmauth:8427/api/v1/query_range
|
# - Requests to http://vmauth:8427/api/v1/query, http://vmauth:8427/api/v1/query_range
|
||||||
# and http://vmauth:8427/api/v1/label/<label_name>/values are proxied to the following urls in a round-robin manner:
|
# and http://vmauth:8427/api/v1/label/<label_name>/values are proxied to the following urls in a round-robin manner:
|
||||||
# - http://vmselect1:8481/select/42/prometheus
|
# - http://vmselect1:8481/select/42/prometheus
|
||||||
# - http://vmselect2:8481/select/42/prometheus
|
# - http://vmselect2:8481/select/42/prometheus
|
||||||
# For example, http://vmauth:8427/api/v1/query is proxied to http://vmselect1:8480/select/42/prometheus/api/v1/query
|
# For example, http://vmauth:8427/api/v1/query is proxied to http://vmselect1:8480/select/42/prometheus/api/v1/query
|
||||||
# or to http://vmselect2:8480/select/42/prometheus/api/v1/query .
|
# or to http://vmselect2:8480/select/42/prometheus/api/v1/query .
|
||||||
|
#
|
||||||
# - Requests to http://vmauth:8427/api/v1/write are proxied to http://vminsert:8480/insert/42/prometheus/api/v1/write .
|
# - Requests to http://vmauth:8427/api/v1/write are proxied to http://vminsert:8480/insert/42/prometheus/api/v1/write .
|
||||||
# The "X-Scope-OrgID: abc" http header is added to these requests.
|
# The "X-Scope-OrgID: abc" http header is added to these requests.
|
||||||
|
#
|
||||||
|
# Request which do not match `src_paths` from the `url_map` are proxied to the urls from `default_url`
|
||||||
|
# in a round-robin manner. The original request path is passed in `request_path` query arg.
|
||||||
|
# For example, request to http://vmauth:8427/non/existing/path are proxied:
|
||||||
|
# - to http://default1:8888/unsupported_url_handler?request_path=/non/existing/path
|
||||||
|
# - or http://default2:8888/unsupported_url_handler?request_path=/non/existing/path
|
||||||
- username: "foobar"
|
- username: "foobar"
|
||||||
url_map:
|
url_map:
|
||||||
- src_paths:
|
- src_paths:
|
||||||
|
@ -190,34 +198,9 @@ users:
|
||||||
- "X-Scope-OrgID: abc"
|
- "X-Scope-OrgID: abc"
|
||||||
ip_filters:
|
ip_filters:
|
||||||
deny_list: [127.0.0.1]
|
deny_list: [127.0.0.1]
|
||||||
|
|
||||||
# A single user for querying and inserting data:
|
|
||||||
# - Requests to http://vmauth:8427/api/v1/query, http://vmauth:8427/api/v1/query_range
|
|
||||||
# and http://vmauth:8427/api/v1/label/<label_name>/values are proxied to the following urls in a round-robin manner:
|
|
||||||
# - http://vmselect1:8481/select/42/prometheus
|
|
||||||
# - http://vmselect2:8481/select/42/prometheus
|
|
||||||
# For example, http://vmauth:8427/api/v1/query is proxied to http://vmselect1:8480/select/42/prometheus/api/v1/query
|
|
||||||
# or to http://vmselect2:8480/select/42/prometheus/api/v1/query .
|
|
||||||
# - Requests to http://vmauth:8427/api/v1/write are proxied to http://vminsert:8480/insert/42/prometheus/api/v1/write .
|
|
||||||
# The requests which do not match `src_paths` from the `url_map` will be proxied to the urls rom `default_url`
|
|
||||||
# in a round-robin manner (with request path in `request_path` query param).
|
|
||||||
# For example, request to http://vmauth:8427/non/existing/path will be proxied:
|
|
||||||
# - to http://default1:8888/process?request_path=/non/existing/path
|
|
||||||
# - or http://default2:8888/process?request_path=/non/existing/path
|
|
||||||
- username: "foobar"
|
|
||||||
url_map:
|
|
||||||
- src_paths:
|
|
||||||
- "/api/v1/query"
|
|
||||||
- "/api/v1/query_range"
|
|
||||||
- "/api/v1/label/[^/]+/values"
|
|
||||||
url_prefix:
|
|
||||||
- "http://vmselect1:8481/select/42/prometheus"
|
|
||||||
- "http://vmselect2:8481/select/42/prometheus"
|
|
||||||
- src_paths: ["/api/v1/write"]
|
|
||||||
url_prefix: "http://vminsert:8480/insert/42/prometheus"
|
|
||||||
default_url:
|
default_url:
|
||||||
- "http://default1:8888/process"
|
- "http://default1:8888/unsupported_url_handler"
|
||||||
- "http://default2:8888/process"
|
- "http://default2:8888/unsupported_url_handler"
|
||||||
|
|
||||||
# Requests without Authorization header are routed according to `unauthorized_user` section.
|
# Requests without Authorization header are routed according to `unauthorized_user` section.
|
||||||
unauthorized_user:
|
unauthorized_user:
|
||||||
|
|
Loading…
Reference in a new issue