summaryrefslogtreecommitdiff
path: root/src/buildtool/main/main.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildtool/main/main.cpp')
-rw-r--r--src/buildtool/main/main.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/buildtool/main/main.cpp b/src/buildtool/main/main.cpp
index 1ae9c0ce..cd073847 100644
--- a/src/buildtool/main/main.cpp
+++ b/src/buildtool/main/main.cpp
@@ -813,6 +813,10 @@ auto main(int argc, char* argv[]) -> int {
}
SetupAuthConfig(arguments.auth, arguments.cauth, arguments.sauth);
+ std::optional<Auth::TLS> auth = {};
+ if (Auth::Instance().GetAuthMethod() == AuthMethod::kTLS) {
+ auth = Auth::TLS::Instance();
+ }
if (arguments.cmd == SubCommand::kGc) {
if (GarbageCollector::TriggerGarbageCollection(
@@ -824,7 +828,8 @@ auto main(int argc, char* argv[]) -> int {
if (arguments.cmd == SubCommand::kExecute) {
SetupExecutionServiceConfig(arguments.service);
- ApiBundle const exec_apis{nullptr,
+ ApiBundle const exec_apis{/*repo_config=*/nullptr,
+ auth ? &*auth : nullptr,
RemoteExecutionConfig::RemoteAddress()};
if (!ServerImpl::Instance().Run(exec_apis)) {
return kExitFailure;
@@ -840,7 +845,9 @@ auto main(int argc, char* argv[]) -> int {
arguments.service.pid_file);
if (serve_server) {
ApiBundle const serve_apis{
- nullptr, RemoteExecutionConfig::RemoteAddress()};
+ /*repo_config=*/nullptr,
+ auth ? &*auth : nullptr,
+ RemoteExecutionConfig::RemoteAddress()};
auto serve = ServeApi::Create(*serve_config, &serve_apis);
bool with_execute = not RemoteExecutionConfig::RemoteAddress();
return serve_server->Run(
@@ -892,6 +899,7 @@ auto main(int argc, char* argv[]) -> int {
std::exit(kExitFailure);
}
ApiBundle const main_apis{&repo_config,
+ auth ? &*auth : nullptr,
RemoteExecutionConfig::RemoteAddress()};
GraphTraverser const traverser{
{jobs,