| // Copyright 2020 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| syntax = "proto3"; |
| |
| package project_mgmt; |
| |
| option go_package = "go.chromium.org/chromiumos/infra/proto/go/project_mgmt"; |
| |
| // Defines ACLs for a project's builders. |
| message BuildbucketAcls { |
| // A list of LUCI Auth Service groups that can view a project's builds. |
| repeated string buildbucket_readers = 1; |
| } |
| |
| // Describes the location of a local manifest file. |
| // See https://gerrit.googlesource.com/git-repo/+/master/docs/manifest-format.md#local-manifests. |
| message LocalManifest { |
| // URL of the repo with the local manifest. E.g. |
| // https://chrome-internal.googlesource.com/chromeos/project/... |
| string repo_url = 1; |
| // Path to the local manifest. |
| // Relative to the repo. |
| string manifest_path = 2; |
| } |
| |
| // Defines the metadata for a project, which ultimately controls how this |
| // project is managed throughout the infrastructure. |
| // |
| // NEXT ID: 8 |
| message Project { |
| // Defines the human-readable name for the project. |
| string name = 1; |
| // Defines the git-repo path for the project. |
| string repo = 2; |
| // Defines the path that stores all of the project configuration. |
| // Relative to the git-repo |
| string config_path = 3; |
| // Defines the path the repo is checked out to in the source tree, i.e. the |
| // "path" attribute in the manifest. |
| string repo_checkout_path = 4; |
| // Defines ACLs for a project's builders. |
| BuildbucketAcls buildbucket_acls = 5; |
| // Define the project's local_manifest. |
| LocalManifest local_manifest = 6; |
| // The Google Storage bucket for artifacts from the project's builds. |
| string gs_bucket = 7; |
| } |
| |
| message ProjectList { |
| repeated Project value = 1; |
| } |