# CooperConfig v0.1.0 - Table of Contents

> A Config.Provider that loads app config from a CASC file (via Cooper) at release boot, replacing Mix's compile-time config.exs/runtime.exs for the settings that need to come from CASC instead.

## Pages

- [CooperConfig](readme.md)
- [Changelog](changelog.md)
- [LICENSE](license.md)

## Modules

- Public API
  - [CooperConfig](CooperConfig.md): A companion to [`cooper`](https://hex.pm/packages/cooper): loads app
config from a CASC file instead of `config/config.exs`/`runtime.exs`.
  - [CooperConfig.Convert](CooperConfig.Convert.md): Converts a `Cooper.load_file/2`/`Cooper.load_string/2` result (a
string-keyed map, CASC blocks nested arbitrarily deep) into the
`[app: [key: value, ...]]` shape `Application` and `Config.Provider`
expect.
  - [CooperConfig.Provider](CooperConfig.Provider.md): A `Config.Provider` that loads a CASC file via `Cooper.load_file/2`
and merges it into the release's app config at boot -- the same slot
`Config.Reader` (`config/runtime.exs`) normally fills.

