A ZIO-based library for working with application configuration data.
ZIO Config offloads all parsing and file formats to other libraries, and just focuses on being the interface to configuration data throughout an application.
Using a single definition of configuration requirements, which can be derived automatically from your data types, ZIO Config offers a bundle of features for free:
- Read flat or nested config data from any format, with descriptive errors
- Write flat or nested config data into any format
- Compose sources of configuration, so you can have, e.g., environmental or command-line overrides
- Automatically generate documentation so devs / devops know how to configure the application
- Generate a report that shows where each piece of configuration data came from
Please find more details in the website.
If you are only interested in automatic derviation of configuration, find the details here.
Try out ZIO Config quickly in Scastie, which comes pre-loaded with an example in scala-3. We try to make sure the scastie-buildsettings are updated with latest version of ZIO Config.