Description
Improving the process of creating artifacts and deploying them.
Today we have the option to separate the building of the handlers' artifacts and loading them to the gateway.
The artifacts that can be generated in two different formats - JSON or Code Files
So when developers use a CDN (like GraphQL Hive) to load and store these artifacts, the process is:
- Build artifacts
- Upload
- Use it in the configuration
With these configurations, Mesh doesn’t build artifacts again on the gateway.
All this is great but currently these types of configurations are different for each handler:
-
For GraphQL handler, they should give
introspection
-
For JSON Schema/OpenAPI/RAML, you provide a
bundle
and it doesn’t matter which handler you use since they are all the same sincebundle
already has all the configuration -
No option for gRPC
-
No option for Postgres, etc..
-
Consider a common option like
artifactsPath
instead of the specific options above
Also now that we have that separation, we could also:
- Split handler implementations to reduce the runtime code into (1. Validation 2. Artifacts generation 3. Execution)