| // 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; |
| } |