diff options
author | Philip Kuryloski <kuryloskip@vmware.com> | 2021-05-07 13:01:01 +0200 |
---|---|---|
committer | Philip Kuryloski <kuryloskip@vmware.com> | 2021-05-07 13:01:01 +0200 |
commit | 3d6230432a4dbcaea83e304d0dc49ba457353fce (patch) | |
tree | 68f992f4092b1bc362f01ad13a6a269e8b064969 | |
parent | 59f0076b0bfb752abd543fcb52943b4555300a6f (diff) | |
download | rabbitmq-server-git-3d6230432a4dbcaea83e304d0dc49ba457353fce.tar.gz |
Add rabbitmq_trust_store to bazel
-rw-r--r-- | BUILD.trust_store_http | 15 | ||||
-rw-r--r-- | deps/rabbitmq_trust_store/BUILD.bazel | 122 | ||||
-rw-r--r-- | workspace_helpers.bzl | 16 |
3 files changed, 151 insertions, 2 deletions
diff --git a/BUILD.trust_store_http b/BUILD.trust_store_http new file mode 100644 index 0000000000..9fceaaff5c --- /dev/null +++ b/BUILD.trust_store_http @@ -0,0 +1,15 @@ +load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib") + +erlang_lib( + app_name = "trust_store_http", + app_description = "Trust store HTTP server", + app_module = "trust_store_http_app", + app_version = "1.0.0", + extra_apps = [ + "ssl", + ], + deps = [ + "@cowboy//:bazel_erlang_lib", + "@jsx//:bazel_erlang_lib", + ], +) diff --git a/deps/rabbitmq_trust_store/BUILD.bazel b/deps/rabbitmq_trust_store/BUILD.bazel new file mode 100644 index 0000000000..71a6a883e1 --- /dev/null +++ b/deps/rabbitmq_trust_store/BUILD.bazel @@ -0,0 +1,122 @@ +load("@bazel-erlang//:ct.bzl", "ct_suite") +load("//:rabbitmq_home.bzl", "rabbitmq_home") +load("//:rabbitmq_run.bzl", "rabbitmq_run") +load( + "//:rabbitmq.bzl", + "APP_VERSION", + "RABBITMQ_ERLC_OPTS", + "RABBITMQ_TEST_ERLC_OPTS", + "rabbitmq_lib", +) + +APP_NAME = "rabbitmq_trust_store" + +APP_DESCRIPTION = "Client X.509 certificates trust store" + +APP_MODULE = "rabbit_trust_store_app" + +APP_ENV = """[ + {default_refresh_interval, 30}, + {providers, [rabbit_trust_store_file_provider]} + ]""" + +EXTRA_APPS = [ + "ssl", + "crypto", + "public_key", +] + +DEPS = [ + "//deps/rabbit_common:bazel_erlang_lib", +] + +RUNTIME_DEPS = [ + "//deps/rabbit:bazel_erlang_lib", +] + +rabbitmq_lib( + app_description = APP_DESCRIPTION, + app_env = APP_ENV, + app_module = APP_MODULE, + app_name = APP_NAME, + app_version = APP_VERSION, + extra_apps = EXTRA_APPS, + first_srcs = [ + "src/rabbit_trust_store_certificate_provider.erl", + ], + runtime_deps = RUNTIME_DEPS, + deps = DEPS, +) + +rabbitmq_home( + name = "broker-for-tests-home", + plugins = [ + "//deps/rabbit:bazel_erlang_lib", + ":bazel_erlang_lib", + "//deps/amqp_client:bazel_erlang_lib", + "@ct_helper//:bazel_erlang_lib", + ], +) + +rabbitmq_run( + name = "rabbitmq-for-tests-run", + home = ":broker-for-tests-home", +) + +ct_suite( + name = "config_schema_SUITE", + data = [ + "@rabbitmq_ct_helpers//tools/tls-certs:Makefile", + "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in", + ], + erlc_opts = RABBITMQ_TEST_ERLC_OPTS, + test_env = { + "RABBITMQ_CT_SKIP_AS_ERROR": "true", + "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/rabbitmq-for-tests-run", + "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/broker-for-tests-home/sbin/rabbitmqctl", + "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/broker-for-tests-home/sbin/rabbitmq-plugins", + }, + tools = [ + ":rabbitmq-for-tests-run", + ], + runtime_deps = [ + "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib", + "//deps/rabbitmq_cli:rabbitmqctl", + "@rabbitmq_ct_client_helpers//:bazel_erlang_lib", + "@rabbitmq_ct_helpers//:bazel_erlang_lib", + ], +) + +ct_suite( + name = "system_SUITE", + data = [ + "@rabbitmq_ct_helpers//tools/tls-certs:Makefile", + "@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in", + ], + erlc_opts = RABBITMQ_TEST_ERLC_OPTS, + groups = [ + "file_provider_tests", + "http_provider_tests", + ], + test_env = { + "RABBITMQ_CT_SKIP_AS_ERROR": "true", + "RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/rabbitmq-for-tests-run", + "RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/broker-for-tests-home/sbin/rabbitmqctl", + "RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_trust_store/broker-for-tests-home/sbin/rabbitmq-plugins", + }, + tools = [ + ":rabbitmq-for-tests-run", + ], + runtime_deps = [ + "//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib", + "//deps/rabbitmq_cli:rabbitmqctl", + "@ct_helper//:bazel_erlang_lib", + "@rabbitmq_ct_client_helpers//:bazel_erlang_lib", + "@rabbitmq_ct_helpers//:bazel_erlang_lib", + "@trust_store_http//:bazel_erlang_lib", + ], + deps = [ + "//deps/amqp_client:bazel_erlang_lib", + "//deps/rabbit_common:bazel_erlang_lib", + ], +) diff --git a/workspace_helpers.bzl b/workspace_helpers.bzl index e6d3195be7..42892c16df 100644 --- a/workspace_helpers.bzl +++ b/workspace_helpers.bzl @@ -50,6 +50,11 @@ def rabbitmq_external_deps(rabbitmq_workspace = "@rabbitmq-server"): ) github_bazel_erlang_lib( + name = "ct_helper", + org = "extend", + ) + + github_bazel_erlang_lib( name = "cuttlefish", org = "Kyorai", ) @@ -242,11 +247,18 @@ erlang_lib( commit = "e732727b0b637eb29e8adc77a4eb46d7ebc0f41a", build_file = rabbitmq_workspace + "//:BUILD.systemd", patch_cmds = [ - INJECT_GIT_VERSION, + SYSTEMD_INJECT_GIT_VERSION, ], ) -INJECT_GIT_VERSION = """set -euo pipefail + new_git_repository( + name = "trust_store_http", + remote = "https://github.com/rabbitmq/trust-store-http.git", + branch = "master", + build_file = rabbitmq_workspace + "//:BUILD.trust_store_http", + ) + +SYSTEMD_INJECT_GIT_VERSION = """set -euo pipefail V="$(git describe --dirty --abbrev=7 --tags --always --first-parent 2>/dev/null \\ || git describe --dirty --abbrev=7 --tags --always 2>/dev/null || true)" cat src/systemd.app.src \\ |