gatewayd icon indicating copy to clipboard operation
gatewayd copied to clipboard

Extend Admin API

Open mostafa opened this issue 1 year ago • 0 comments

Description

Currently the Admin API has endpoints that are used for serving information (get requests only), and there is no endpoint that can change the (runtime) configuration or control the behavior of GatewayD.

Planning for different features of the new API consists mostly of CRUD operations and/or updating configuration to enable/disable features. Also, reading configuration is okay, and is considered (partially) harmless, thus authentication is not needed, plus the API servers are only exposed locally. However, updating configuration might cause interruptions, especially if done via unverified sources. Adding some authentication and authorization helps secure the API.

Task list

  • [x] ~Move API to the SDK for easier access by plugins~ Harder than it looks and is a big breaking change. Might pick up later.
  • [x] #187
  • [x] #186
  • [ ] #300
  • [ ] #370
  • [ ] Plan for different features of the new API:
    • [ ] Loggers
    • [ ] Metrics
    • [ ] Clients
    • [ ] Pools
    • [ ] Proxies
    • [ ] Servers
    • [ ] API
    • [ ] Plugins Config
    • [ ] Plugins
  • [ ] Provide a standard interface for the plugins
  • [ ] Manage different components
  • [ ] Query everything including static and dynamic information
  • [ ] Write tests

mostafa avatar Mar 05 '23 16:03 mostafa