fix(prometheus): Disable authorization for metrics scraping endpoint

This commit is contained in:
ieQu1 2022-06-22 14:34:15 +02:00
parent 466fd52168
commit a9ec193ef8
8 changed files with 39 additions and 25 deletions

5
CHANGES-5.0.md Normal file
View File

@ -0,0 +1,5 @@
# 5.0.1
## Enhancements
* Removed management API auth for prometheus scraping endpoint /api/v5/prometheus/stats [PR](https://github.com/emqx/emqx/pull/8299)

View File

@ -1,8 +1,5 @@
%% -*- mode: erlang -*-
%% Unless you know what you are doing, DO NOT edit manually!! %% Unless you know what you are doing, DO NOT edit manually!!
{VSN, {VSN,
[{"0.1.0", [{"0.1.0",[{load_module,emqx_authn_utils,brutal_purge,soft_purge,[]}]}],
[{load_module,emqx_authz_utils,brutal_purge,soft_purge,[]}]}, [{"0.1.0",[{load_module,emqx_authn_utils,brutal_purge,soft_purge,[]}]}]}.
{<<".*">>,[]}],
[{"0.1.0",
[{load_module,emqx_authz_utils,brutal_purge,soft_purge,[]}]},
{<<".*">>,[]}]}.

View File

@ -1,8 +1,7 @@
%% -*- mode: erlang -*-
%% Unless you know what you are doing, DO NOT edit manually!! %% Unless you know what you are doing, DO NOT edit manually!!
{VSN, {VSN,
[{"0.1.1", [{"0.1.0",[{load_module,emqx_authz_utils,brutal_purge,soft_purge,[]}]},
[{load_module,emqx_authn_utils,brutal_purge,soft_purge,[]}]}, {"0.1.1",[{load_module,emqx_authz_utils,brutal_purge,soft_purge,[]}]}],
{<<".*">>,[]}], [{"0.1.0",[{load_module,emqx_authz_utils,brutal_purge,soft_purge,[]}]},
[{"0.1.1", {"0.1.1",[{load_module,emqx_authz_utils,brutal_purge,soft_purge,[]}]}]}.
[{load_module,emqx_authn_utils,brutal_purge,soft_purge,[]}]},
{<<".*">>,[]}]}.

View File

@ -2,7 +2,7 @@
{application, emqx_prometheus, [ {application, emqx_prometheus, [
{description, "Prometheus for EMQX"}, {description, "Prometheus for EMQX"},
% strict semver, bump manually! % strict semver, bump manually!
{vsn, "5.0.0"}, {vsn, "5.0.1"},
{modules, []}, {modules, []},
{registered, [emqx_prometheus_sup]}, {registered, [emqx_prometheus_sup]},
{applications, [kernel, stdlib, prometheus, emqx]}, {applications, [kernel, stdlib, prometheus, emqx]},

View File

@ -0,0 +1,5 @@
%% -*- mode: erlang -*-
%% Unless you know what you are doing, DO NOT edit manually!!
{VSN,
[{"5.0.0",[{load_module,emqx_prometheus_api,brutal_purge,soft_purge,[]}]}],
[{"5.0.0",[{load_module,emqx_prometheus_api,brutal_purge,soft_purge,[]}]}]}.

View File

@ -67,6 +67,7 @@ schema("/prometheus/stats") ->
get => get =>
#{ #{
description => <<"Get Prometheus Data">>, description => <<"Get Prometheus Data">>,
security => [],
responses => responses =>
#{200 => prometheus_data_schema()} #{200 => prometheus_data_schema()}
} }

View File

@ -8,6 +8,11 @@
set -euo pipefail set -euo pipefail
set -x set -x
[ -d _checkouts ] && {
echo "Checkouts directory has been found, the resulting appup files will be incorrect. Exiting."
exit 1
}
usage() { usage() {
echo "$0 PROFILE" echo "$0 PROFILE"
} }

View File

@ -479,18 +479,20 @@ check_appup(App, Upgrade, Downgrade, OldUpgrade, OldDowngrade) ->
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
render_appup(App, File, Up, Down) -> render_appup(App, File, Up, Down) ->
IsCheck = getopt(check), case getopt(check) of
case do_read_appup(File) of true ->
{ok, {U, D}} when U =:= Up andalso D =:= Down -> case do_read_appup(File) of
ok; {ok, {U, D}} when U =:= Up andalso D =:= Down ->
{ok, {OldU, OldD}} when IsCheck -> ok;
check_appup(App, Up, Down, OldU, OldD); {ok, {OldU, OldD}} ->
{ok, {_, _}} -> check_appup(App, Up, Down, OldU, OldD);
do_render_appup(File, Up, Down); {error, enoent} ->
{error, enoent} when IsCheck -> %% failed to read old file, exit
%% failed to read old file, exit log("ERROR: ~s is missing", [File]),
log("ERROR: ~s is missing", [File]), set_invalid()
set_invalid() end;
false ->
do_render_appup(File, Up, Down)
end. end.
do_render_appup(File, Up, Down) -> do_render_appup(File, Up, Down) ->