blob: 33cbf73d8b03582509e7957c2c3cb61370e2fff6 [file]
// 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;
}