Index of all namespaces
« Project + dependencies
An opinionated configuration library
The README below is fetched from the published project artifact. Some relative links may be broken.
- We might remove features if we think they are not useful anymore
- We will reject PRs and issues about features we wouldn’t use ourselves
- Represents application configuration as a single map which is read once on startup
- Should work well with Component
- Reads configuration from multiple sources and recursively merges it
- EDN files in classpath – shipped with JAR, useful for default options
- EDN files in filesystem – created by hand or by deploy tooling
- Environment variables
- Java properties
- Override parameter – useful for overriding options for test systems
- User selects the sources themselves
- Extendable with functions
(ns backend.system (:require [maailma.core :as m])) (defn system [override] (let [env (m/build-config (m/resource "config-defaults.edn") (m/env "prefix") (m/env-var "SERVER_PORT" [:http :port]) (m/properties "prefix") (m/file "./config-local.edn") override)] ...))
- Is it necessary to refresh configuration of running application?
- Most fixes done to running production systems over REPL are very small fixes to integration logic
- It’s possible that some integration settings need to be changed quickly?
- Probably not necessary. Most logic is isolated to pure functions and the can be replaced over REPL without touching components or configuration.
Copyright © 2015-2018 Metosin Oy.
Distributed under the Eclipse Public License, the same as Clojure.