component

2018-10-01T20:43:45.000100Z

What is a simple way to pass env config into a system? I'm thinking, EDN that doesn't have to be commited to my repo (sensitive) coupled with ENV vars can overwrite the EDN when the app is launched?

seancorfield 2018-10-01T21:15:31.000100Z

@josh.freckleton We have a component that represents the configuration. Its start lifecycle loads the config from EDN/environment variables, and we also implement a few arities of IFn so you can "call" it to extract (nested) config values (so we can "ignore" the config record key where the configuration is stored).

seancorfield 2018-10-01T21:17:11.000100Z

There are plenty of options for reading configuration in (from EDN/environment variables/etc). We wrote our own because we wanted some fairly specific behavior with an EDN file of defaults inside the app that would be overridden by an external EDN file (so we only need to list what is non-default on each system -- but we have the option to control lots of configuration).

2018-10-01T21:17:47.000100Z

That sounds awesome, thanks, I'll create something like that 🙂

2018-10-01T21:18:38.000100Z

I'm thinking to use profiles.clj, is it pretty standard to use something like environ to get values out from it?

seancorfield 2018-10-01T21:19:10.000100Z

There are so many options out there for configuration libraries... pick whatever makes you happiest.

seancorfield 2018-10-01T21:20:01.000100Z

This is quite nice: https://github.com/sonian/carica (ours is similar to that)

seancorfield 2018-10-01T21:20:28.000100Z

Here's an article discussing some options http://realworldclojure.com/application-configuration/ (including environ and carica).