tree: ace4bb6067cbba089e414b16ffae417d4c99eeaf [path history] [tgz]
  1. README.md
  2. auth_service/
  3. components/
  4. config_service/
  5. gce-backend/
  6. isolate/
  7. machine_provider/
  8. swarming/
  9. third_party/
  10. third_party_local/
appengine/README.md

appengine/

This directory contains the AppEngine services needed for a LUCI infrastructure.

Every single microservice below is optional. Please mix and match based on your needs.

TL;DR

Services

  • auth_service/ Authentication Server. Provides centralized group management and group database replication across services.
  • config_service/ is a project configuration distribution server that supports importing from repositories.
  • gce-backend/ is a Google Compute Engine backend for machine_provider.
  • isolate/ Isolate Server is a Content-Addressed Cache running on AppEngine backed by Cloud Storage.
  • machine_provider/ Machine provider is a service to lease VMs from a pool to users.
  • swarming/ Swarming Server is a task distribution engine for highly hetegeneous fleet at high scale.

Supporting code

  • components/ contains the modules shared by all services in this repository. This includes the embeddable part of auth_service to act as a client for auth_service, ereporter2, machine_provider, tooling for testing and deployment.
  • third_party/ contains shared third parties. Services using these should symlink the packages inside the root server directory so it becomes available in sys.path.
  • third_party_local/ constains testing or tooling related third parties that are not meant to be ever used on a AppEngine server.

Tooling

All services can be managed with ./tools/gae, including running locally or pushing a new version. Use ./tools/gae help for an up to date list of commands available.

External dependencies

luci-py leverages Chromium specific functionalities: CIPD (hermetic package management) and ts_mon (monitoring). Neither are strictly required for operational purpose.