Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1825)

Unified Diff: appengine/config_service/README.md

Issue 1221643020: config services: services.cfg and validation (Closed) Base URL: git@github.com:luci/luci-py.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « appengine/components/components/net.py ('k') | appengine/config_service/common.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: appengine/config_service/README.md
diff --git a/appengine/config_service/README.md b/appengine/config_service/README.md
index 64a65d68bad51ba8de169101dbb4bd69420fc5c2..c10568a94ea949405e7708826ba71c8b4d3c0e47 100644
--- a/appengine/config_service/README.md
+++ b/appengine/config_service/README.md
@@ -2,17 +2,17 @@
- Stores and imports config files from repositories, such as Gitiles.
- Provides read-only access to config files and encapsulates their location.
+ - Stores a registry of LUCI services.
- Stores a registry of projects that use LUCI services.
-
## Quick examples
### Service config example
Auth service admins keep client id whitelist and configuration of group import
-from externa sources. They can store these configs as files in Gitiles.
-Config service can be configured to import them from Gitiles to
-to `services/auth` config set. Auth service can use config component to
-access its own configs.
+from external sources. These configs are stored as files in Gitiles.
+Config service imports them from Gitiles to `services/<auth-service-app-id>`
+config set. Auth service can use
+[config component](../components/components/config) to access its the configs.
As a result, Auth services has the following for free
@@ -61,11 +61,6 @@ There are three types of configs:
`services/<service_id>` is always accessible to
&lt;service-id&gt;.appspot.com.
- `services/luci-config:projects.cfg` is a project registry. It contains
- unique project ids (chromium, v8, skia) and location of project configs.
- This list is available through get_projects() API. This is how projects are
- discovered by services.
-
2. Project configs. Project-wide branch-independent configs for services.
This is what a project as a tenant tells a service about itself. Examples:
@@ -90,14 +85,42 @@ There are three types of configs:
Ref configs live in `projects/<project_id>/<ref_name>` config
set, where `<ref_name>` always starts with `refs/`.
+## Project registry
-## GAE component
+`services/luci-config:projects.cfg` is a project registry. It contains unique
+project ids (chromium, v8, skia) and location of project configs. This list is
+available through get_projects() API. This is how projects are discovered by
+services.
+
+See [ProjectsCfg message](proto/service_config.proto) for more info.
+
+## Service registry
+
+`services/luci-config:services.cfg` is a service registry. It contains unique
+service ids (chrome-infra-auth, swarming), location of configs if different from
+default and metadata url.
-config component can be used by a GAE app to read configs.
+See [ServicesCfg message](proto/service_config.proto) for more info.
+
+## Configuration validation
+
+Config files are validated and config set revisions containing invalid configs
+are not imported. Configs of the config service (services/luci-config config
+set) are validated by the config service. Other configs can be validated by
+registered services. A service may expose a list of config patterns that it is
+able to validate and the config service will call service's endpoint to
+validate.
+
+See [ServicesCfg and Validator messages](proto/service_config.proto) for more
+info.
+
+## GAE component
+[config component](../components/components/config) can be used by a GAE app to
+read configs.
## Config import
Configs are continuously imported from external sources to the datastore by
-config service backend.
+config service backend, with 10 min latency.
[Read more](https://github.com/luci/luci-py/wiki/Config-service:-config-import)
« no previous file with comments | « appengine/components/components/net.py ('k') | appengine/config_service/common.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698