// Proto config.
syntax = "proto3";
package chromite.api;

option go_package = "go.chromium.org/chromiumos/infra/proto/go/chromite/api";

import "chromite/api/build_api.proto";
import "chromiumos/common.proto";
import "chromiumos/config/api/test/metadata/v1/metadata.proto";

message AssembleRequest {
  // The chroot used to execute the endpoint.
  chromiumos.Chroot chroot = 1;

  // Target directory for the RTD dirs.
  chromiumos.ResultPath target_dir = 2;
}

message AssembleResponse {
  repeated RemoteTestDriver remote_test_drivers = 1;
}

message RemoteTestDriver {
  // A folder containing the files needed to build a docker image for
  // the Remote Test Driver. This folder will contain a Dockerfile in addition
  // to test harness(es) and content. It will be such that `gcloud builds
  // submit` can be invoked in the directory.
  chromiumos.Path build_context = 1;
  // Metadata about the RTD.
  repeated chromiumos.config.api.test.metadata.v1.Specification specifications = 2;
}

service RemoteTestDriverService {
  option (service_options) = {
    module: "remote_test_driver",
    service_chroot_assert: INSIDE,
  };

  // Build RTDs (Tauto, Tast, etc.) and put them into a folder containing
  // everything needed to build a Dockerized RTD image. The caller can then do a
  // docker build from inside that directory.
  rpc Assemble(AssembleRequest) returns (AssembleResponse);
}
