OpenAPI: Express server capabilities via /config endpoint
This introduces a capabilities field to the response of the /config endpoint, signaling what is being supported by the server.
The current capabilities that come to mind are:
- pagination
- scan-planning
- views
- vended-credentials
- remote-signing
- oauth2
- sigv4
Capabilities like scan-planning / views / remote-signing / oauth2 would indicate that certain endpoints are implemented by the server and can be safely called by clients. Other capabilities would reflect using a certain query param or sending a particular header by a client to the server.
Using tags allows to group endpoints in the Swagger UI:
For scan-planning it's not clear yet whether whether we'd like to only have scan-planning or whether there should also be scan-pre-planning, so it's best to introduce this capability as part of https://github.com/apache/iceberg/pull/9695 (cc @rahil-c)
You can also add the details from the ticket you've created to this PR details as well: https://issues.apache.org/jira/browse/GOBBLIN-2087
Nice work!