diff options
| author | eltrac <hi@eltr.ac> | 2026-10-10 10:29:42 +0800 |
|---|---|---|
| committer | eltrac <hi@eltr.ac> | 2026-10-10 10:29:42 +0800 |
| commit | 373cf213d54f15d3f4dfa374bed2fdff5b2ba745 (patch) | |
| tree | d5e517b7c1d42dcd5f637150b60f11b7e42677f4 /src | |
| parent | 7ab402f5f3d12e3c1a8252515b1a79c4824c6300 (diff) | |
config, core: use WEEPINBELL_CONFIG env var to set custom config file path
- config/load-config now accepts one arg, which is the config file path
- core uses WEEPINBELL_CONFIG env, fallback to "config.edn"
Diffstat (limited to 'src')
| -rw-r--r-- | src/weepinbell/config.clj | 4 | ||||
| -rw-r--r-- | src/weepinbell/core.clj | 5 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/weepinbell/config.clj b/src/weepinbell/config.clj index cd1c2c3..549139c 100644 --- a/src/weepinbell/config.clj +++ b/src/weepinbell/config.clj @@ -4,10 +4,10 @@ (:require [fast-edn.core :as edn] [clojure.java.io :as io])) -(defn load-config [] +(defn load-config [config-file] (let [default-config (when-let [resource (io/resource "config.edn")] (-> resource slurp edn/read-string)) - external-file (io/file "config.edn") + external-file (io/file config-file) external-config (when (.exists external-file) (-> external-file slurp edn/read-string))] (merge default-config external-config))) diff --git a/src/weepinbell/core.clj b/src/weepinbell/core.clj index f97fffc..98d5d04 100644 --- a/src/weepinbell/core.clj +++ b/src/weepinbell/core.clj @@ -1,7 +1,6 @@ (ns weepinbell.core "Main component that loads resources and start other components." - (:require [clojure.spec.alpha :as s] - [weepinbell.storage.spec] + (:require [weepinbell.storage.spec] [weepinbell.config :refer [load-config]] [weepinbell.webhook :as webhook] [weepinbell.storage.edn-storage :as edn] @@ -26,7 +25,7 @@ wmc (chan) ;; Weepinbell configuration, ;; loaded from config.edn and merged with defaults. - config (load-config) + config (load-config (or (System/getenv "WEEPINBELL_CONFIG") "config.edn")) ;; Storage middle layer, a map of data-manipulating functions. ;; Supports various storage as long as the map conforms storage.spec. store (edn/use-store (:data-path config)) |
