-
Notifications
You must be signed in to change notification settings - Fork 30
Open
Labels
Description
Currently, the server requires a config.yml file to load the configuration from. This works great for running the server straight on your system. When running the server as a docker container, this already feels a bit off. To change the configuration, you need to mount the config file from your host into your container.
While this isn't exactly bad, docker containers can often be configured via environment variables. That also makes them a lot more flexible.
Configuration management is currently self-built. In order to support env vars and other forms of configuration, we could switch to viper. It comes with support for various configuration formats and is widely adopted in the Go world.
Benefits
- Easy configuration management
- No need to maintain and extend config management ourselves
- Support for yml and env vars out of the box
- Great handling of default values
- Widely adopted package
Drawbacks
- Adds another dependency (chain of dependencies)