-
Task
-
Resolution: Unresolved
-
Major
-
None
-
None
-
False
-
-
False
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
Not Started
-
-
-
RHOAM Sprint 62
WHY
We want to allow customers to import OpenApi 3.1 (OAS 3.1) compliant specs.
WHAT
Add support to the operator to consume OpenAPI CRs that refer to OpenApi 3.1 (OAS 3.1) compliant specs.
HOW
This blog from OpenAPI provides a good summary on the differences between OAS 3.0 and 3.1. TLDR: there are a small number of breaking changes which are limited to the "schema" object.
3scale-operator is currently using the github.com/getkin/kin-openapi/openapi3 library to parse OAS documents. This project supports Swagger 2.0 and OpenAPI 3.0 but based on this issue, it does not look like it will support OpenAPI 3.1 anytime soon (the issue is over 4 years old but no progress has been made to support OAS 3.1).
The community (Go projects that require OAS handling) seems to be coalescing around the libopenapi project as an alternative. This project looks to be quite active and already fully supports Swagger 2.0, OpenAPI 3.0, and OpenAPI 3.1. We may need to switch to this library to parse OAS documents in order to support OpenAPI 3.1. NOTE: Unfortunately this library doesn't have any built in validation for Swagger 2 (it does have validation for 3.0 and 3.1).
DONE
- The operator supports consuming OpenAPI CRs that use OpenApi 3.1 (OAS 3.1)