blob: 534e2fc5fb344fa111a76a0ebfa411ddbeb5b0f3 [file] [log] [blame]
// 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 prototype;
option go_package = "go.chromium.org/chromiumos/infra/proto/go/prototype";
// Defines the metadata for a project, which ultimately controls how this
// project is managed throughout the infrastructure.
message DesignProject {
// 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;
// Define the project's local_manifest.
string repo_manifest_path = 4;
// The Google Storage bucket for artifacts from the project's builds.
string gs_bucket = 5;
// Defines config needed to maintain firmware builders for the project.
FirmwareConfig firmware_config = 6;
// Define factory build config needed for manufacturing verification.
FactoryConfig factory_config = 7;
// Defines signing config unique to the given design project.
SigningConfig signing_config = 8;
message FirmwareConfig {
// Defines the firmware branch that will be maintained for the project.
string firmware_branch = 1;
}
message FactoryConfig {
// Defines the factory branch that will be maintained for the project.
string factory_branch = 1;
// A key in the project.yaml metadata file, to look up the branch, path,
// etc. For example, to match the entry in the project.yaml file:
//
// MILKYWAY:
// board: GALAXY
// branch: master
// version: 3
// path: v3/MILKYWAY
//
// project_key should be 'MILKYWAY'. The matching is case-insensitive.
string hwid_project_key = 2;
}
message SigningConfig {
// Key names have taken historically followed many different patterns.
// To support all of the cases, this defines an explicit mapping between the
// supported brands and corresponding keys present in the respective
// keysets.
// Going forward, this could be standardized, removing the need for the
// explict mapping, but this will be required for the foreseeable future.
map<string, string> brand_id_to_key = 1;
}
}