Add static OpenAPI document in Dockerfile #2216
Open
+14
−4
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
Implementation of the OpenAPI document support noted in #1849 and #2188, generating the full OpenAPI document can be troublesome or take an extended period to generate (some pygeoapi instances we have take >50 seconds) which makes horizontal scaling pygeoapi containers slow. The entrypoint should only generate the OpenAPI document if it does not already exist and respect an existing OpenAPI document. This allows for #2188 to also be resolved with a static OpenAPI document that stays in lock step with a configuration document.
Related Issue / discussion
This is a reimplementation of #1850. The goal of the entrypoint script is to handle entry commands, so while I appreciate that @yharby found a workaround, I think it makes sense to use the entrypoint where possible instead of requiring a user to overwrite the behavior of both the entrypoint and command.
Additional information
Dependency policy (RFC2)
Updates to public demo
Contributions and licensing
(as per https://github.com/geopython/pygeoapi/blob/master/CONTRIBUTING.md#contributions-and-licensing)