Return pod metadata instead of putting in ctx

This commit is contained in:
Wes Morgan 2022-03-19 09:33:44 -06:00
parent f0ba916f32
commit c2a2facb0f
No known key found for this signature in database
GPG key ID: 5639E4CBFA17DC84

View file

@ -43,20 +43,19 @@
(impl/write w metadata)))
metadata))
(defn load-pod-metadata [ctx pod-spec {:keys [:version] :as opts}]
(defn load-pod-metadata [pod-spec {:keys [:version] :as opts}]
(let [metadata
(if-let [cached-metadata (when (qualified-symbol? pod-spec) ; don't cache local pods b/c their namespaces can change
(load-metadata-from-cache pod-spec opts))]
cached-metadata
(load-pod-metadata* pod-spec opts))]
(dorun
(for [ns (get metadata "namespaces")]
(let [ns-sym (-> ns (get "name") impl/bytes->string symbol)
key-path [:pod-namespaces ns-sym]
env (:env ctx)]
(swap! env assoc-in key-path
{:pod-spec pod-spec
:opts (assoc opts :metadata metadata)}))))))
(reduce
(fn [pod-namespaces ns]
(let [ns-sym (-> ns (get "name") impl/bytes->string symbol)]
(assoc pod-namespaces ns-sym {:pod-spec pod-spec
:opts (assoc opts :metadata metadata)})))
{} (get metadata "namespaces"))))
(defn load-pod
([ctx pod-spec] (load-pod ctx pod-spec nil))