diff options
Diffstat (limited to 'src/buildtool/main/main.cpp')
-rw-r--r-- | src/buildtool/main/main.cpp | 12 |
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, |