Status
Current state: "WIP/Under Discussion"
Discussion thread: N/A
JIRA: N/A
Released: 4.6.0
Motivation
Github #278 introduces BookKeeper Http Endpoint module. However there are only two endpoints, which is “/heartbeat” and “/api/config/serverConfig”, defined in #278. In order to fully leverage the http modules, The goal is to add more endpoints to this modules.
Public Interfaces
N/A
Proposed Changes
1, Overview
Provide Http EndPoints for these components:
* Components:
* Root endpoint: List all the available endpoints
* Config: Do the configuration.
* Bookkeeper : API related to BookKeeper.
* Ledger: API related to ledgers
* Bookie: API related to Bookie
* Recover: API related to Recover
All API access is over HTTPS. All data is sent and received as JSON. The common REST API Pattern will be:
/api/v1/<component>/<action>
Compatibility, Deprecation, and Migration Plan
This is a new component introduced in 4.6.0. So there is no migration required. You can still enable http endpint by setting `...` to true.
Test Plan
- Unit test
- will support backward compatibility test in future when there is more version introduced.
Rejected Alternatives
N/A