|
1 | 1 | # openapi-implementation-tracker
|
2 | 2 | A repo to track openapi implementations
|
| 3 | + |
| 4 | +## Project Goals |
| 5 | +There are many many openapi implementations, but it is unclear exactly which features they support, and which version of openapi document they support. |
| 6 | +One can curate a list but it will become out of date as time goes on. We can do better than manual curation of a list. |
| 7 | +Instead, a listing of a projects supported features should be maintained by individual projects with a standard file format. |
| 8 | +This project defines that standard file format, and will inlcude all of those files in one place and collate the data into a listing of implementations with suppoted features. |
| 9 | +When new features are added, the workflow is: |
| 10 | +- source project udates their supprted feature file; file PR |
| 11 | +- this project updates the git submodule to pull in the latest version of that file; file PR |
| 12 | +- updates published to github pages |
| 13 | + |
| 14 | +## What would this Standard File Look Like? |
| 15 | +- Json schema definitions of openapi documents exist here and are versioned: https://github.com/OAI/OpenAPI-Specification/blob/main/schemas/v3.0/schema.yaml |
| 16 | +- I propose writing files based on that yaml where the json paths are preserved, and the values are an object: |
| 17 | +``` |
| 18 | +FeatureSupportInfo: |
| 19 | + type: object |
| 20 | + properties: |
| 21 | + supported: |
| 22 | + type: boolean |
| 23 | + docUrl: |
| 24 | + type: string |
| 25 | + verificationTestUrl: |
| 26 | + type: string |
| 27 | + required: |
| 28 | + - supported |
| 29 | +``` |
| 30 | +So for example if root document servers are supported, the value for `#/servers` would be an instance of FeatureSupportInfo |
| 31 | + |
| 32 | +Questions: |
| 33 | +- Can this be one already using additionalProperties? |
| 34 | +- Can one json schema file extend another? |
| 35 | + |
| 36 | +## Todo |
| 37 | +- demonstrate git submodule connection to one file |
| 38 | +- see https://stackoverflow.com/questions/6238590/set-git-submodule-to-shallow-clone-sparse-checkout |
| 39 | +- see https://web.archive.org/web/20150819045120/http://blog.quilitz.de/2010/03/checkout-sub-directories-in-git-sparse-checkouts |
| 40 | + |
| 41 | +## Similar-To Projects |
| 42 | +- https://github.com/OAI/Tooling |
| 43 | +- https://github.com/apisyouwonthate/openapi.tools |
0 commit comments