Skip to content

Commit 3d62304

Browse files
committed
Add rabbitmq_trust_store to bazel
1 parent 59f0076 commit 3d62304

File tree

3 files changed

+151
-2
lines changed

3 files changed

+151
-2
lines changed

BUILD.trust_store_http

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
2+
3+
erlang_lib(
4+
app_name = "trust_store_http",
5+
app_description = "Trust store HTTP server",
6+
app_module = "trust_store_http_app",
7+
app_version = "1.0.0",
8+
extra_apps = [
9+
"ssl",
10+
],
11+
deps = [
12+
"@cowboy//:bazel_erlang_lib",
13+
"@jsx//:bazel_erlang_lib",
14+
],
15+
)

deps/rabbitmq_trust_store/BUILD.bazel

Lines changed: 122 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,122 @@
1+
load("@bazel-erlang//:ct.bzl", "ct_suite")
2+
load("//:rabbitmq_home.bzl", "rabbitmq_home")
3+
load("//:rabbitmq_run.bzl", "rabbitmq_run")
4+
load(
5+
"//:rabbitmq.bzl",
6+
"APP_VERSION",
7+
"RABBITMQ_ERLC_OPTS",
8+
"RABBITMQ_TEST_ERLC_OPTS",
9+
"rabbitmq_lib",
10+
)
11+
12+
APP_NAME = "rabbitmq_trust_store"
13+
14+
APP_DESCRIPTION = "Client X.509 certificates trust store"
15+
16+
APP_MODULE = "rabbit_trust_store_app"
17+
18+
APP_ENV = """[
19+
{default_refresh_interval, 30},
20+
{providers, [rabbit_trust_store_file_provider]}
21+
]"""
22+
23+
EXTRA_APPS = [
24+
"ssl",
25+
"crypto",
26+
"public_key",
27+
]
28+
29+
DEPS = [
30+
"//deps/rabbit_common:bazel_erlang_lib",
31+
]
32+
33+
RUNTIME_DEPS = [
34+
"//deps/rabbit:bazel_erlang_lib",
35+
]
36+
37+
rabbitmq_lib(
38+
app_description = APP_DESCRIPTION,
39+
app_env = APP_ENV,
40+
app_module = APP_MODULE,
41+
app_name = APP_NAME,
42+
app_version = APP_VERSION,
43+
extra_apps = EXTRA_APPS,
44+
first_srcs = [
45+
"src/rabbit_trust_store_certificate_provider.erl",
46+
],
47+
runtime_deps = RUNTIME_DEPS,
48+
deps = DEPS,
49+
)
50+
51+
rabbitmq_home(
52+
name = "broker-for-tests-home",
53+
plugins = [
54+
"//deps/rabbit:bazel_erlang_lib",
55+
":bazel_erlang_lib",
56+
"//deps/amqp_client:bazel_erlang_lib",
57+
"@ct_helper//:bazel_erlang_lib",
58+
],
59+
)
60+
61+
rabbitmq_run(
62+
name = "rabbitmq-for-tests-run",
63+
home = ":broker-for-tests-home",
64+
)
65+
66+
ct_suite(
67+
name = "config_schema_SUITE",
68+
data = [
69+
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
70+
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
71+
],
72+
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
73+
test_env = {
74+
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
75+
"RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/rabbitmq-for-tests-run",
76+
"RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/broker-for-tests-home/sbin/rabbitmqctl",
77+
"RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/broker-for-tests-home/sbin/rabbitmq-plugins",
78+
},
79+
tools = [
80+
":rabbitmq-for-tests-run",
81+
],
82+
runtime_deps = [
83+
"//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
84+
"//deps/rabbitmq_cli:rabbitmqctl",
85+
"@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
86+
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
87+
],
88+
)
89+
90+
ct_suite(
91+
name = "system_SUITE",
92+
data = [
93+
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
94+
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
95+
],
96+
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
97+
groups = [
98+
"file_provider_tests",
99+
"http_provider_tests",
100+
],
101+
test_env = {
102+
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
103+
"RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/rabbitmq-for-tests-run",
104+
"RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/broker-for-tests-home/sbin/rabbitmqctl",
105+
"RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/broker-for-tests-home/sbin/rabbitmq-plugins",
106+
},
107+
tools = [
108+
":rabbitmq-for-tests-run",
109+
],
110+
runtime_deps = [
111+
"//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
112+
"//deps/rabbitmq_cli:rabbitmqctl",
113+
"@ct_helper//:bazel_erlang_lib",
114+
"@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
115+
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
116+
"@trust_store_http//:bazel_erlang_lib",
117+
],
118+
deps = [
119+
"//deps/amqp_client:bazel_erlang_lib",
120+
"//deps/rabbit_common:bazel_erlang_lib",
121+
],
122+
)

workspace_helpers.bzl

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,11 @@ def rabbitmq_external_deps(rabbitmq_workspace = "@rabbitmq-server"):
4949
version = "2.4.0",
5050
)
5151

52+
github_bazel_erlang_lib(
53+
name = "ct_helper",
54+
org = "extend",
55+
)
56+
5257
github_bazel_erlang_lib(
5358
name = "cuttlefish",
5459
org = "Kyorai",
@@ -242,11 +247,18 @@ erlang_lib(
242247
commit = "e732727b0b637eb29e8adc77a4eb46d7ebc0f41a",
243248
build_file = rabbitmq_workspace + "//:BUILD.systemd",
244249
patch_cmds = [
245-
INJECT_GIT_VERSION,
250+
SYSTEMD_INJECT_GIT_VERSION,
246251
],
247252
)
248253

249-
INJECT_GIT_VERSION = """set -euo pipefail
254+
new_git_repository(
255+
name = "trust_store_http",
256+
remote = "https://github.com/rabbitmq/trust-store-http.git",
257+
branch = "master",
258+
build_file = rabbitmq_workspace + "//:BUILD.trust_store_http",
259+
)
260+
261+
SYSTEMD_INJECT_GIT_VERSION = """set -euo pipefail
250262
V="$(git describe --dirty --abbrev=7 --tags --always --first-parent 2>/dev/null \\
251263
|| git describe --dirty --abbrev=7 --tags --always 2>/dev/null || true)"
252264
cat src/systemd.app.src \\

0 commit comments

Comments
 (0)