WL#13906: Enable REST interface on Router bootstrap

Affects: Server-8.0   —   Status: Complete

Motivation

Web services available in the Router requires a number of plugins configured in order to be used. This burden could be moved from the user to the Router bootstrap phase so that such configuration could be autogenerated.

Related WorkLogs

  • WL#8965 - REST interface
  • WL#11890 - REST endpoint for health of routes
  • WL#12441 - REST endpoints for metadata-cache
  • WL#12816 - REST endpoints for routes
  • WL#12817 - REST endpoints for router application
  • WL#12952 - Authenticating HTTP Component against MySQL Innodb Cluster metadata

User Stories

As a admin user I want the "bootstrap step" to configure the router with the REST API to easily monitor the router.

Design Requirements

DR1
REST API communication MUST be authenticated
DR2
REST API communication MUST be conducted over secure channels
DR3
X509 certificates MUST be placed in the data directory
DR4
If the data directory contain any of the X509 certificate files then existing X509 certificate files should be used
DR5
X509 certificates MUST be created atomically, if there is an error during X509 certificate generation then all X509 generated files MUST be cleaned up

Goals

Allow enabling web interface service on the Router in the boostrap phase by generating suitable Router configuration.