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.
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.
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.
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.
The static service hosts static content, including:
- The LogDog Web Application
- The LogDog Lightweight Stream Viewer
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
Binary default is a simple AppEngine LUCI service.
|Binary default is a simple AppEngine LUCI service.|
Package main is the main entry point for the `logs` LogDog AppEngine executable.
|Package main is the main entry point for the `logs` LogDog AppEngine executable.|
Binary services is the main entry point for the `services` LogDog AppEngine executable.
|Binary services is the main entry point for the `services` LogDog AppEngine executable.|
Binary stub doesn't actually do anything.
|Binary stub doesn't actually do anything.|