WL#8965: REST interface

Affects: Server-8.0   —   Status: Complete

Motivation

Understanding when the configured limits like max_connections are reached in the MySQL Router is currently not easily possible.

To make it easier, the Router needs an interface that exposes internal data to the user in a machine readable/human friendly format.

Goals

Utilize WL#11891 and exposes data as REST endpoints via HTTP methods as JSON payload.

Allow monitoring applications/users structured access to:

  • configuration data
  • performance information
  • resource usage

Design Requirements

The REST API should follow REST API guidelines like the ones for OCI:

  • APIs specified in OpenAPI 2.0
  • API version SHOULD be numeric and align with release date
  • Naming Rules
    • CamelCase
    • boolean valures: is...
  • Error messages SHOULD follow RFC7807
  • return objects for List operations
  • Unknown parameters SHOULD lead to HTTP status 400, "InvalidParameter"