summaryrefslogtreecommitdiff
path: root/src/buildtool/execution_api/remote/bazel
diff options
context:
space:
mode:
authorPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2024-07-01 17:07:02 +0200
committerPaul Cristian Sarbu <paul.cristian.sarbu@huawei.com>2024-07-04 16:05:08 +0200
commit0d60cd9ba4a5c18b01b6ef996434953071f0576e (patch)
treee2d96536db33b8e36cfc417e548d0f60b2d1ed28 /src/buildtool/execution_api/remote/bazel
parent217e31bf00c3437658033bd0829f31929f10a103 (diff)
downloadjustbuild-0d60cd9ba4a5c18b01b6ef996434953071f0576e.tar.gz
Pass Auth::TLS instance to serve and execute clients
Diffstat (limited to 'src/buildtool/execution_api/remote/bazel')
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_ac_client.cpp6
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp5
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_api.cpp7
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp8
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp5
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_execution_client.cpp5
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp4
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_network.cpp7
-rw-r--r--src/buildtool/execution_api/remote/bazel/bazel_network.hpp2
-rw-r--r--src/buildtool/execution_api/remote/bazel/bytestream_client.hpp7
10 files changed, 38 insertions, 18 deletions
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_ac_client.cpp b/src/buildtool/execution_api/remote/bazel/bazel_ac_client.cpp
index 39bc2b40..65853702 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_ac_client.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_ac_client.cpp
@@ -20,9 +20,11 @@
#include "src/buildtool/common/remote/retry.hpp"
#include "src/buildtool/logging/log_level.hpp"
-BazelAcClient::BazelAcClient(std::string const& server, Port port) noexcept {
+BazelAcClient::BazelAcClient(std::string const& server,
+ Port port,
+ Auth::TLS const* auth) noexcept {
stub_ = bazel_re::ActionCache::NewStub(
- CreateChannelWithCredentials(server, port));
+ CreateChannelWithCredentials(server, port, auth));
}
auto BazelAcClient::GetActionResult(
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp b/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp
index 8ec8b85f..4ac24bbc 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_ac_client.hpp
@@ -21,6 +21,7 @@
#include <vector>
#include "build/bazel/remote/execution/v2/remote_execution.grpc.pb.h"
+#include "src/buildtool/auth/authentication.hpp"
#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/common/remote/port.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_common.hpp"
@@ -31,7 +32,9 @@
/// https://github.com/bazelbuild/remote-apis/blob/e1fe21be4c9ae76269a5a63215bb3c72ed9ab3f0/build/bazel/remote/execution/v2/remote_execution.proto#L144
class BazelAcClient {
public:
- explicit BazelAcClient(std::string const& server, Port port) noexcept;
+ explicit BazelAcClient(std::string const& server,
+ Port port,
+ Auth::TLS const* auth) noexcept;
[[nodiscard]] auto GetActionResult(
std::string const& instance_name,
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
index dfd5dd6e..f463ab3c 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_api.cpp
@@ -24,6 +24,7 @@
#include <utility> // std::move
#include "fmt/core.h"
+#include "src/buildtool/auth/authentication.hpp"
#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/compatibility/compatibility.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp"
@@ -189,10 +190,10 @@ namespace {
BazelApi::BazelApi(std::string const& instance_name,
std::string const& host,
Port port,
- [[maybe_unused]] Auth::TLS const* auth,
+ Auth::TLS const* auth,
ExecutionConfiguration const& exec_config) noexcept {
- network_ =
- std::make_shared<BazelNetwork>(instance_name, host, port, exec_config);
+ network_ = std::make_shared<BazelNetwork>(
+ instance_name, host, port, auth, exec_config);
}
// implement move constructor in cpp, where all members are complete types
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
index 4f9214d8..3850ccff 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.cpp
@@ -173,10 +173,12 @@ namespace {
} // namespace
-BazelCasClient::BazelCasClient(std::string const& server, Port port) noexcept
- : stream_{std::make_unique<ByteStreamClient>(server, port)} {
+BazelCasClient::BazelCasClient(std::string const& server,
+ Port port,
+ Auth::TLS const* auth) noexcept
+ : stream_{std::make_unique<ByteStreamClient>(server, port, auth)} {
stub_ = bazel_re::ContentAddressableStorage::NewStub(
- CreateChannelWithCredentials(server, port));
+ CreateChannelWithCredentials(server, port, auth));
}
auto BazelCasClient::FindMissingBlobs(
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp
index 69ee45d4..d7aa5c05 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_cas_client.hpp
@@ -25,6 +25,7 @@
#include "build/bazel/remote/execution/v2/remote_execution.grpc.pb.h"
#include "gsl/gsl"
+#include "src/buildtool/auth/authentication.hpp"
#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/common/remote/port.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp"
@@ -37,7 +38,9 @@
/// https://github.com/bazelbuild/remote-apis/blob/e1fe21be4c9ae76269a5a63215bb3c72ed9ab3f0/build/bazel/remote/execution/v2/remote_execution.proto#L317
class BazelCasClient {
public:
- explicit BazelCasClient(std::string const& server, Port port) noexcept;
+ explicit BazelCasClient(std::string const& server,
+ Port port,
+ Auth::TLS const* auth) noexcept;
/// \brief Find missing blobs
/// \param[in] instance_name Name of the CAS instance
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_execution_client.cpp b/src/buildtool/execution_api/remote/bazel/bazel_execution_client.cpp
index 323b7dc4..f4ad250c 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_execution_client.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_execution_client.cpp
@@ -57,9 +57,10 @@ auto DebugString(grpc::Status const& status) -> std::string {
} // namespace
BazelExecutionClient::BazelExecutionClient(std::string const& server,
- Port port) noexcept {
+ Port port,
+ Auth::TLS const* auth) noexcept {
stub_ = bazel_re::Execution::NewStub(
- CreateChannelWithCredentials(server, port));
+ CreateChannelWithCredentials(server, port, auth));
}
auto BazelExecutionClient::Execute(std::string const& instance_name,
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp b/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp
index cb933b99..74676d45 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_execution_client.hpp
@@ -22,6 +22,7 @@
#include "build/bazel/remote/execution/v2/remote_execution.grpc.pb.h"
#include "google/longrunning/operations.pb.h"
+#include "src/buildtool/auth/authentication.hpp"
#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/common/remote/port.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_common.hpp"
@@ -55,7 +56,8 @@ class BazelExecutionClient {
};
explicit BazelExecutionClient(std::string const& server,
- Port port) noexcept;
+ Port port,
+ Auth::TLS const* auth) noexcept;
[[nodiscard]] auto Execute(std::string const& instance_name,
bazel_re::Digest const& action_digest,
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_network.cpp b/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
index 38bb1aa0..4d5509c9 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_network.cpp
@@ -24,12 +24,13 @@
BazelNetwork::BazelNetwork(std::string instance_name,
std::string const& host,
Port port,
+ Auth::TLS const* auth,
ExecutionConfiguration const& exec_config) noexcept
: instance_name_{std::move(instance_name)},
exec_config_{exec_config},
- cas_{std::make_unique<BazelCasClient>(host, port)},
- ac_{std::make_unique<BazelAcClient>(host, port)},
- exec_{std::make_unique<BazelExecutionClient>(host, port)} {}
+ cas_{std::make_unique<BazelCasClient>(host, port, auth)},
+ ac_{std::make_unique<BazelAcClient>(host, port, auth)},
+ exec_{std::make_unique<BazelExecutionClient>(host, port, auth)} {}
auto BazelNetwork::IsAvailable(bazel_re::Digest const& digest) const noexcept
-> bool {
diff --git a/src/buildtool/execution_api/remote/bazel/bazel_network.hpp b/src/buildtool/execution_api/remote/bazel/bazel_network.hpp
index a55fa064..4da302c9 100644
--- a/src/buildtool/execution_api/remote/bazel/bazel_network.hpp
+++ b/src/buildtool/execution_api/remote/bazel/bazel_network.hpp
@@ -22,6 +22,7 @@
#include <utility>
#include <vector>
+#include "src/buildtool/auth/authentication.hpp"
#include "src/buildtool/common/bazel_types.hpp"
#include "src/buildtool/common/remote/port.hpp"
#include "src/buildtool/execution_api/bazel_msg/bazel_blob_container.hpp"
@@ -38,6 +39,7 @@ class BazelNetwork {
explicit BazelNetwork(std::string instance_name,
std::string const& host,
Port port,
+ Auth::TLS const* auth,
ExecutionConfiguration const& exec_config) noexcept;
/// \brief Check if digest exists in CAS
diff --git a/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp b/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp
index 908f6e2a..2879a90f 100644
--- a/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp
+++ b/src/buildtool/execution_api/remote/bazel/bytestream_client.hpp
@@ -26,6 +26,7 @@
#include "google/bytestream/bytestream.grpc.pb.h"
#include "gsl/gsl"
+#include "src/buildtool/auth/authentication.hpp"
#include "src/buildtool/common/remote/client_common.hpp"
#include "src/buildtool/common/remote/port.hpp"
#include "src/buildtool/execution_api/common/bytestream_common.hpp"
@@ -80,9 +81,11 @@ class ByteStreamClient {
}
};
- explicit ByteStreamClient(std::string const& server, Port port) noexcept {
+ explicit ByteStreamClient(std::string const& server,
+ Port port,
+ Auth::TLS const* auth) noexcept {
stub_ = google::bytestream::ByteStream::NewStub(
- CreateChannelWithCredentials(server, port));
+ CreateChannelWithCredentials(server, port, auth));
}
[[nodiscard]] auto IncrementalRead(