From 373cf213d54f15d3f4dfa374bed2fdff5b2ba745 Mon Sep 17 00:00:00 2001 From: eltrac Date: Sat, 10 Oct 2026 10:29:42 +0800 Subject: 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" --- src/weepinbell/config.clj | 4 ++-- src/weepinbell/core.clj | 5 ++--- 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'src') 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)) -- cgit v1.2.3