blob: 5cdb7301918bfea33dde629049cbc476764f7ad2 [file] [log] [blame]
// Copyright 2017 The Fuchsia 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 cobalt;
option go_package = "src/registry;config";
import "src/registry/metric_definition.proto";
// ProjectConfigFile is a representation of a yaml config file for a single
// cobalt project.
message ProjectConfigFile {
reserved 1, 2, 3;
// Cobalt 1.0 registration.
repeated MetricDefinition metric_definitions = 4;
}
// Configuration for the Cobalt 1.0 projects of a customer.
message CustomerConfig {
string customer_name = 1;
uint32 customer_id = 2;
repeated ProjectConfig projects = 3;
}
// Configuration for a Cobalt 1.0 project.
message ProjectConfig {
string project_name = 1;
uint32 project_id = 2;
repeated MetricDefinition metrics = 3;
string project_contact = 4;
}
// CobaltRegistry holds a set of metrics and reports registered with Cobalt.
//
// A CobaltRegistry can be in one of two states:
//
// (1) It can contain data for a single Cobalt 1.0 project. In this case, there is a single
// CustomerConfig which contains a single ProjectConfig.
//
// (2) It can contain data for multiple Cobalt projects. In this case, there may be any number of
// |customers|, which in turn may contain any number of ProjectConfigs.
message CobaltRegistry {
reserved 1, 2, 3, 4;
// Cobalt 1.0 registration.
repeated CustomerConfig customers = 5;
}