[Proposal] Support storing OpenAPI definitions of APIs in the API platform #1623
Piumal1999
started this conversation in
Ideas
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
Problem
In the Developer Portal, features such as API Try Out, displaying API resources, scopes, and security schemes require an OpenAPI definition. However, this definition is not currently stored in the platform. As a result, when publishing an API to the Developer Portal through the Management Portal, it is not possible to provide a complete OpenAPI definition with all the necessary details.
Existing Behavior
Currently, the source of truth for an API in the platform is the configuration given as
api.yamlartifact. The actual OpenAPI definition is not stored.Even when an API is created or imported using an OpenAPI definition, that definition is not preserved. Instead, it is converted into
api.yamlformat, and much of the original information is lost. This is acceptable for the Management Portal and Gateway, asapi.yamlcontains all the required details for their operation.When an API is published to the Developer Portal, a new OpenAPI definition is generated from the content in
api.yaml. This generated definition lacks details such as securitySchemes, response formats, schemas, examples, and other metadata, limiting the functionality of the Developer Portal.Proposed Solution
To address this limitation, it is preferable to optionally store the OpenAPI definition within the platform, make it editable, and keep it synchronized with
api.yaml. This would allow users to enhance and customize additional details as needed. When publishing an API to the Developer Portal, the stored OpenAPI definition can then be used directly, enabling the portal to function independently of the control plane and gateway.At the same time,
api.yamlshould remain the source of truth for the Management Portal.It is required to ensure that the OpenAPI definition stays in sync with
api.yaml.securitySchemeelement and header details.Implementation Steps
Beta Was this translation helpful? Give feedback.
All reactions