FgForrest / evitaDB

evitaDB is a specialized database with an easy-to-use API for e-commerce systems. It is a low-latency NoSQL in-memory engine that handles all the complex tasks that e-commerce systems have to deal with on a daily basis. evitaDB is expected to act as a fast secondary lookup/search index used by front stores.
https://evitadb.io
Other
62 stars 7 forks source link

Switching off developer tools on demand #138

Open lukashornych opened 1 year ago

lukashornych commented 1 year ago

Provide way to disable introspection in GraphQL and disable OpenAPI schema endpoint via configuration options.

novoj commented 5 months ago

Because there is a lot of settings I don't think the production mode is a good idea. Can we simply add configuration option for exposing API schemas to ApiOptions of REST / GraphQL API endpoints instead?!

lukashornych commented 5 months ago

Why do you think that? Wouldn't it be the same to switch the mode for the entire database for API only? The database doesn't have to use it right now.

novoj commented 5 months ago

You'd probably want different settings for queue sizes, thread count, limits and many more settings between different environments. So I don't think that adding "environment modes" is a good idea. Let alone to control specific behaviour of APIs. When the database is within DMZ (not publicly accessible) it might be ok - and maybe even necessary for it to provide API schemas even in production mode. In short - the abstraction for environments is maybe not correct enough to justify itself.

novoj commented 5 months ago

Based on the previous discussion I'm going to redefine this task to be able to selectively disable developer tools via. configuration options.