duct-framework / duct

Server-side application framework for Clojure
MIT License
1.13k stars 51 forks source link

Data-driven configuration #42

Closed weavejester closed 7 years ago

weavejester commented 8 years ago

The default way of building configurations is by assembling them in the config.clj namespace, but libraries like Aero provide a way of declaratively defining configurations.

Combined with #41, we might expect the system to be created something like:

(let [new-system (system-factory (read-edn "foo/system.edn"))
  (new-system (read-config "foo/config.edn")))

Aside from being more declarative, this also has the advantage of allowing the application to be customized more easily. For instance, we could change the thread count on the HTTP server without needing to change anything in the code.

weavejester commented 7 years ago

Fixed in 0.8.0.