Stores a registry of projects that use chrome-infra. Imports config files from repos and provides unified API to read them.
Luci-config imports config files from Gitiles every 10 min:
infra/config
branch of project repos (example: infra.git)infra/config
directory of a branch.ConfigSet->Location mapping can be found by calling config.get_mapping.
Invalid configs are NOT imported into luci-config. Entire config set revision (all files) is rejected if at least one file is invalid. Services that consume configs through luci-config are guaranteed not to receive invalid configs, as long as they make backward-compatible changes to validation code.
As of 2015-08-13, when an invalid config is not imported, an error is emitted in luci-config logs and ereporter2 sends an email to config-ereporeter2-config group with max an hour latency. The plan is to implement presubmit check for configs through luci-config API, and maybe send an email to a commit author.
A project declares its visibility in project.cfg
configuration file in infra/config
branch. Example:
access: "group:all"
Means the project is public. If not set, it is visible only to an allowlist of trusted services.