go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/common/proto/config/project_config.proto (about) 1 // Copyright 2014 The LUCI Authors. All rights reserved. 2 // Use of this source code is governed under the Apache License, Version 2.0 3 // that can be found in the LICENSE file. 4 5 // Schemas for some of config files in projects/<project_id> config sets. 6 7 syntax = "proto3"; 8 9 option go_package = "go.chromium.org/luci/common/proto/config"; 10 11 package config; 12 13 import "go.chromium.org/luci/common/proto/options.proto"; 14 15 option (luci.file_metadata) = { 16 doc_url: "https://config.luci.app/schemas/projects:project.cfg"; 17 }; 18 19 // Schema for project.cfg 20 message ProjectCfg { 21 // Full name of the project. 22 string name = 1; 23 // A list of identities that have read-only access to the project. 24 // 25 // An element is one of: 26 // * "group:<group>", where group is defined on auth server. 27 // * "<email>" 28 // * "<kind>:<value>" (for non-email identities) 29 // 30 // If not specified, only admins and trusted services have access. 31 // Talk to admins to determine the group name appropriate for your project. 32 repeated string access = 2; 33 34 // Populated when the config is generated by `lucicfg`. 35 // 36 // Contains information about how the config was generated. 37 GeneratorMetadata lucicfg = 3 [(luci.lucicfg_ignore) = true]; 38 } 39 40 // GeneratorMetadata is produced by lucicfg to describe how it generated the 41 // config. 42 message GeneratorMetadata { 43 // Version of lucicfg binary used to generate the config. 44 string version = 1; 45 // Path to the main package relative to project.cfg. 46 string package_dir = 5; 47 // Directory with generated LUCI project configs relative to the main package. 48 string config_dir = 2; 49 // Name of the entry point Starlark file at the root of the main package. 50 string entry_point = 3; 51 // Set of vars passed to lucicfg as "-var ...". 52 map<string, string> vars = 4; 53 // Set of enabled lucicfg experiments. 54 repeated string experiments = 6; 55 } 56 57 // DEPRECATED per crbug/924803. DO NOT USE in your project. 58 // Contact luci-team@ if you have a need for this. 59 // 60 // Schema of refs.cfg. 61 message RefsCfg { 62 message Ref { 63 // Name of the ref. Must start with "refs/". 64 string name = 1; 65 // Path to config directory for the ref. Defaults to "infra/config". 66 string config_path = 3; 67 } 68 // List of refs that have configuration files and need to be fetched into 69 // luci-config. Refs are accessible through get_refs() API endpoint. 70 // A CI service can read all refs of all projects and build them. 71 repeated Ref refs = 1; 72 }