The Moira API microservice serves as the backend for the web UI and it would be nice if the engineers who use Moira are able able to automate routine operations such as managing triggers with tools like Ansible. However, the API is undocumented currently and they have to study Moira’s source code or inspect the network requests from the web client to know the network requests they have to make and the responses to expect.

As part of the 2020 Google Summer of Code, I wish to:

  • Develop an up-to-date OpenAPI/Swagger description of the endpoints exposed by the API.
  • Generate language-specific client libraries from the API description file - with special focus on a Golang client.
  • Setup automated contract tests to test the OpenAPI document against the actual implementation.



Michael Okoko


  • Emil Sharifullin
  • Alexey Kirpichnikov
  • Nikolai Kudrin