| // Copyright 2014 The LUCI Authors. All rights reserved. |
| // Use of this source code is governed under the Apache License, Version 2.0 |
| // that can be found in the LICENSE file. |
| |
| // Schemas for some of config files in projects/<project_id> config sets. |
| |
| syntax = "proto3"; |
| |
| option go_package = "go.chromium.org/luci/common/proto/config"; |
| |
| package config; |
| |
| import "go.chromium.org/luci/common/proto/options.proto"; |
| |
| option (luci.file_metadata) = { |
| doc_url: "https://luci-config.appspot.com/schemas/projects:project.cfg"; |
| }; |
| |
| // Schema for project.cfg |
| message ProjectCfg { |
| // Full name of the project. |
| string name = 1; |
| // A list of identities that have read-only access to the project. |
| // |
| // An element is one of: |
| // * "group:<group>", where group is defined on auth server. |
| // * "<email>" |
| // * "<kind>:<value>" (for non-email identities) |
| // |
| // If not specified, only admins and trusted services have access. |
| // Talk to admins to determine the group name appropriate for your project. |
| repeated string access = 2; |
| |
| // Populated when the config is generated by `lucicfg`. |
| // |
| // Contains information about how the config was generated. |
| GeneratorMetadata lucicfg = 3 [(luci.lucicfg_ignore) = true]; |
| } |
| |
| // GeneratorMetadata is produced by lucicfg to describe how it generated the |
| // config. |
| message GeneratorMetadata { |
| // Version of lucicfg binary used to generate the config. |
| string version = 1; |
| // Path to the main package relative to project.cfg. |
| string package_dir = 5; |
| // Directory with generated LUCI project configs relative to the main package. |
| string config_dir = 2; |
| // Name of the entry point Starlark file at the root of the main package. |
| string entry_point = 3; |
| // Set of vars passed to lucicfg as "-var ...". |
| map<string, string> vars = 4; |
| // Set of enabled lucicfg experiments. |
| repeated string experiments = 6; |
| } |
| |
| // DEPRECATED per crbug/924803. DO NOT USE in your project. |
| // Contact luci-team@ if you have a need for this. |
| // |
| // Schema of refs.cfg. |
| message RefsCfg { |
| message Ref { |
| // Name of the ref. Must start with "refs/". |
| string name = 1; |
| // Path to config directory for the ref. Defaults to "infra/config". |
| string config_path = 3; |
| } |
| // List of refs that have configuration files and need to be fetched into |
| // luci-config. Refs are accessible through get_refs() API endpoint. |
| // A CI service can read all refs of all projects and build them. |
| repeated Ref refs = 1; |
| } |