Uploaded image for project: 'Red Hat 3scale API Management'
  1. Red Hat 3scale API Management
  2. THREESCALE-11104

Add support for OpenApi 3.1 (OAS 3.1)

XMLWordPrintable

    • False
    • Hide

      None

      Show
      None
    • 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)

              Unassigned Unassigned
              ckyrillo@redhat.com Carl Kyrillos
              Martin Kudlej Martin Kudlej (Inactive)
              Carl Kyrillos Carl Kyrillos
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: