            env-value
            parsed-default)))))
 
-(def configs-atom
-  "This contains information about all of the configuration parameters that have been added using
-  defconfig. It is used for allowing documentation generation of configuration parameters. It's a map
-  of namespaces to configuration keys to options maps."
+(defonce ^{:doc "This contains information about all of the
+                 configuration parameters that have been added using
+                 defconfig. It is used for allowing documentation
+                 generation of configuration parameters. It's a map of
+                 namespaces to configuration keys to options maps."}
+  configs-atom
   (atom {}))
 
 (defn register-config

                      (resolve config-type)
                      String)]
    (when-not doc-string
      (throw (Exception. "defconfig doc-string is required")))
    (when (nil? default)
      (throw (Exception. "defconfig default is required")))
    (when (and (nil? parser) config-type (nil? (type->parser config-type)))
      (throw (Exception. (str "Unrecognized defconfig type: " config-type))))


            [clojure.set :as set]
            [cmr.common.log :as log :refer (debug info warn error)]))

(defonce ^{:private true
           :doc "An atom containing a map of explicitly set config values."}
  runtime-config-values
  (atom {}))

(defn set-config-value!
