go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/buildbucket/proto/launcher.proto (about)

     1  // Copyright 2018 The LUCI Authors.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //      http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  syntax = "proto3";
    16  
    17  package buildbucket.v2;
    18  
    19  option go_package = "go.chromium.org/luci/buildbucket/proto;buildbucketpb";
    20  
    21  import "go.chromium.org/luci/buildbucket/proto/build.proto";
    22  
    23  // This file is meant for protos passed and used internally.
    24  
    25  // A collection of build-related secrets we might pass from Buildbucket to Kitchen.
    26  message BuildSecrets {
    27    // A BUILD token to identify UpdateBuild RPCs associated with the same build.
    28    string build_token = 1;
    29  
    30    // Token to allow updating this build's invocation in ResultDB.
    31    string resultdb_invocation_update_token = 2;
    32  
    33    // A START_BUILD token to identify StartBuild RPCs associated with
    34    // the same build.
    35    string start_build_token = 3;
    36  }
    37  
    38  // Arguments for bbagent command.
    39  //
    40  // All paths are relateive to bbagent's working directory, and must be delimited
    41  // with slashes ("/"), regardless of the host OS.
    42  message BBAgentArgs {
    43    // Path to the user executable.
    44    //
    45    // Deprecated. Superseded by payload_path and `build.exe.cmd`.
    46    string executable_path = 1;
    47  
    48    // Path to the base of the user executable package.
    49    //
    50    // Required.
    51    string payload_path = 5;
    52  
    53    // Path to a directory where each subdirectory is a cache dir.
    54    //
    55    // Required.
    56    string cache_dir = 2;
    57  
    58  	// List of Gerrit hosts to force git authentication for.
    59  	//
    60  	// By default public hosts are accessed anonymously, and the anonymous access
    61  	// has very low quota. Context needs to know all such hostnames in advance to
    62  	// be able to force authenticated access to them.
    63    repeated string known_public_gerrit_hosts = 3;
    64  
    65    // Initial state of the build, including immutable state such as id and input
    66    // properties.
    67    Build build = 4;
    68  }
    69  
    70  message BuildbucketAgentContext {
    71    // Should match the task_id that was sent to buildbucket in
    72    // either RunTaskResposne.Task.Id.Id or in
    73    // StartBuildTaskRequest.Task.Id.Id
    74    string task_id = 1;
    75  
    76    // The secrets that was provided to the backend from
    77    // RunTaskRequest or StartBuildTaskResponse.
    78    //
    79    // During the task backend migration, the BuildToken secret
    80    // bytes sent to swarming will be populated here. Bbagent will
    81    // read LUCI_CONTEXT provided by raw swarming tasks and convert it to
    82    // BuildbucketAgentContext. All swarming tasks ran as task backend tasks
    83    // will use BuildbucketAgentContext directly.
    84    BuildSecrets secrets = 2;
    85  
    86  }