tree: 78e10a498f972e191603e79ef4d65b5774c2d970 [path history] [tgz]
  1. default/
  2. logs/
  3. services/
  4. static/
  5. README.md
logdog/appengine/cmd/coordinator/README.md

LogDog Coordinator

The LogDog Coordinator is an AppEngine application that serves as a central coordinating and interactive authority for a LogDog instance. The Coordinator is responsible for:

  • Supplying logs to end users through its logs API.
  • Coordinating log stream state throughout its lifecycle.
  • Handling Butler Prefix registration.
  • Acting as a configuration authority for its deployment.
  • Accepting stream registrations from Collector instances.
  • Dispatching archival tasks to Archivist instances.

Services

A Coordinator occupies the AppEngine space of a given cloud project, and assumes ownership of that project's resources. It is composed of several cooperative AppEngine services.

Default

The default service handles basic LUCI services. Most other requests are redirected to other services by dispatch.yaml.

Logs

The logs service exposes the Logs API for log stream querying and consumption.

It is a AppEngine Flex instance, since Flex is the only supported type of AppEngine instance that can use gRPC, and gRPC is needed to read from BigTable.

Services

The services service exposes management endpoints to the instance's microservices, notably the Collector and Archivist microservices. These endpoints are used to coordinate the microservice-managed aspects of the log stream lifecycle.

Static

The static service hosts static content, including:

  • The LogDog Web Application
  • The LogDog Lightweight Stream Viewer
  • rpcexplorer

Deployment

Similar to other LUCI GAE apps:

cd coordinator
gae.py upload -A luci-logdog-dev
gae.py switch -A luci-logdog-dev

# Or if you want to update a single module only, e.g. "logs".
gae.py upload -A luci-logdog-dev logs