Parent issue: https://github.com/torrust/torrust-tracker/issues/401 The [figment](https://crates.io/crates/figment) crate provides some functionalities we want to have, like: - Overwrite and merge config options from different sources. - Allow users to use default values and only provide values that they want to overwrite. ### Subtasks - [x] Implement a new configuration mod with Figment. - [x] Reorganize configuration mods creating new submods for config file sections. - [x] Introduce versioning for configuration, so that we can make breaking changes to the configuration in the future. - [x] Replace in production the configuration with the new Figment implementation. - [x] Use `Default` trait for config sections (not only root config). - [x] Allow users not to provide values when defaults are OK for them.
Parent issue: #401
The figment crate provides some functionalities we want to have, like:
Subtasks
Defaulttrait for config sections (not only root config).