Skip to content

Commit

Permalink
Move shovel prometheus to its own plugin
Browse files Browse the repository at this point in the history
  • Loading branch information
SimonUnge committed Aug 7, 2024
1 parent f447986 commit 39d5ef4
Show file tree
Hide file tree
Showing 29 changed files with 1,454 additions and 107 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ elvis
!/deps/rabbitmq_event_exchange/
!/deps/rabbitmq_federation/
!/deps/rabbitmq_federation_management/
!/deps/rabbitmq_federation_prometheus/
!/deps/rabbitmq_jms_topic_exchange/
!/deps/rabbitmq_management/
!/deps/rabbitmq_management_agent/
Expand All @@ -64,6 +65,7 @@ elvis
!/deps/rabbitmq_sharding/
!/deps/rabbitmq_shovel/
!/deps/rabbitmq_shovel_management/
!/deps/rabbitmq_shovel_prometheus/
!/deps/rabbitmq_stomp/
!/deps/rabbitmq_stream/
!/deps/rabbitmq_stream_common/
Expand Down
2 changes: 2 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -594,6 +594,7 @@ TIER1_PLUGINS := \
rabbitmq_event_exchange \
rabbitmq_federation \
rabbitmq_federation_management \
rabbitmq_federation_prometheus \
rabbitmq_jms_topic_exchange \
rabbitmq_management \
rabbitmq_management_agent \
Expand All @@ -610,6 +611,7 @@ TIER1_PLUGINS := \
rabbitmq_sharding \
rabbitmq_shovel \
rabbitmq_shovel_management \
rabbitmq_shovel_prometheus \
rabbitmq_stomp \
rabbitmq_stream \
rabbitmq_stream_management \
Expand Down
104 changes: 104 additions & 0 deletions deps/rabbitmq_federation_prometheus/BUILD.bazel
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
load("@rules_erlang//:eunit2.bzl", "eunit")
load("@rules_erlang//:xref2.bzl", "xref")
load("@rules_erlang//:dialyze.bzl", "dialyze", "plt")
load(
"//:rabbitmq.bzl",
"RABBITMQ_DIALYZER_OPTS",
"assert_suites",
"broker_for_integration_suites",
"rabbitmq_app",
"rabbitmq_integration_suite",
)
load(
":app.bzl",
"all_beam_files",
"all_srcs",
"all_test_beam_files",
"test_suite_beam_files",
)

# gazelle:erlang_always_generate_test_beam_files

APP_ENV = """[
]"""

all_srcs(name = "all_srcs")

all_beam_files(name = "all_beam_files")

all_test_beam_files(name = "all_test_beam_files")

test_suite_beam_files(name = "test_suite_beam_files")

# gazelle:erlang_app_extra_app crypto

# gazelle:erlang_app_dep rabbit
# gazelle:erlang_app_dep rabbitmq_prometheus

# gazelle:erlang_app_dep_exclude prometheus

rabbitmq_app(
name = "erlang_app",
srcs = [":all_srcs"],
hdrs = [":public_hdrs"],
app_description = "Exposes rabbitmq_federation metrics to Prometheus",
app_env = APP_ENV,
app_module = "rabbitmq_federation_prometheus",
app_name = "rabbitmq_federation_prometheus",
app_version = module_version(),
beam_files = [":beam_files"],
extra_apps = [
"crypto",
"rabbit_common",
],
license_files = [":license_files"],
priv = [":priv"],
deps = [
"//deps/rabbit:erlang_app",
"//deps/rabbitmq_federation:erlang_app",
"//deps/rabbitmq_prometheus:erlang_app",
],
)

alias(
name = "rabbitmq_federation_prometheus",
actual = ":erlang_app",
visibility = ["//visibility:public"],
)

xref(
name = "xref",
target = ":erlang_app",
)

plt(
name = "deps_plt",
for_target = ":erlang_app",
ignore_warnings = True,
libs = ["//deps/rabbitmq_cli:elixir"], # keep
plt = "//:base_plt",
deps = ["//deps/rabbitmq_cli:erlang_app"], # keep
)

dialyze(
name = "dialyze",
dialyzer_opts = RABBITMQ_DIALYZER_OPTS,
plt = ":deps_plt",
target = ":erlang_app",
)

broker_for_integration_suites()

rabbitmq_integration_suite(
name = "prometheus_rabbitmq_federation_collector_SUITE",
size = "small",
additional_beam = [
],
)

assert_suites()

eunit(
name = "eunit",
target = ":test_erlang_app",
)
1 change: 1 addition & 0 deletions deps/rabbitmq_federation_prometheus/CODE_OF_CONDUCT.md
1 change: 1 addition & 0 deletions deps/rabbitmq_federation_prometheus/CONTRIBUTING.md
1 change: 1 addition & 0 deletions deps/rabbitmq_federation_prometheus/LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
This package is licensed under the MPL 2.0. For the MPL 2.0, please see LICENSE-MPL-RabbitMQ.
Loading

0 comments on commit 39d5ef4

Please sign in to comment.