cameri / nostream

A Nostr Relay written in TypeScript
MIT License
729 stars 188 forks source link

[REQUEST] Dynamic Config (store-based) for Settings #197

Open antonleviathan opened 1 year ago

antonleviathan commented 1 year ago

Is your feature request related to a problem? Please describe. Settings are difficult to manage across different environments, and at scale for clusters of relays.

Describe the solution you'd like The config values should be loaded from the DB using a bson object stored in the db, proper table for configs or a combination of both.

Describe alternatives you've considered The complexity of describing the schema for the settings yaml file is making me lean towards a single bson object which is manipulated to update config values, but it does make sense for some settings to remain in a file (ones that aren't updated as frequently). Additionally, consider using a framework/lib to help manage configs like https://www.npmjs.com/package/config. It's better if we can do this without an added library, but it should be assessed.