graylog2-server
graylog2-server copied to clipboard
OpenAPI 3.1. spec generation
Generates an OpenAPI 3.1 description for the Graylog REST API.
- Updates the API browser to use Swagger UI as a React component.
- Removes the node-local API browser due to implementation challenges (CORS issues) and limited value.
- Migrates backend code from
io.swagger.annotations.*toio.swagger.v3.oas.annotations.*annotations. - Adds a
generate-openapimaven profile to create aopenapi.yamldescription for our default configuration as part of the build. - Includes several customizations for the swagger generator, e.g., inclusion of schemas for registered Jackson subtypes.
TODO:
- [ ] Generate concise schema components for types like
org.joda.time.Duration,org.joda.time.Period,com.google.common.collect.ImmutableSetand others which appear to be unnecessarily complex or outright wrong - [ ] Remove term
Graylogfrom API description - [ ] Don't add
openapi.yamlto VCS.
/prd https://github.com/Graylog2/graylog-project-internal/pull/198, https://github.com/Graylog2/graylog-plugin-enterprise/pull/12256