Add download-only opt when loading pods

...to support pre-caching pods for other OS / arch platforms
This commit is contained in:
Wes Morgan 2022-09-06 15:07:54 -06:00
parent 917b854803
commit 818a9de18f
No known key found for this signature in database
GPG key ID: 5639E4CBFA17DC84
2 changed files with 10 additions and 4 deletions

View file

@ -383,14 +383,19 @@
(read-readers describe-reply resolve-fn))]
{:format format, :ops ops, :readers readers}))
(defn load-pod-metadata [pod-spec opts]
(let [{:keys [:pod-spec :opts]} (resolve-pod pod-spec opts)
running-pod (run-pod pod-spec opts)
(defn run-pod-for-metadata [pod-spec opts]
(let [running-pod (run-pod pod-spec opts)
describe-reply (describe-pod running-pod)
ops (describe->ops describe-reply)]
(destroy* (assoc running-pod :ops ops))
describe-reply))
(defn load-pod-metadata [pod-spec {:keys [:download-only] :as opts}]
(let [{:keys [:pod-spec :opts]} (resolve-pod pod-spec opts)]
(if download-only
(resolver/warn "Not running pod" pod-spec "to pre-cache metadata because OS and/or arch are different than system")
(run-pod-for-metadata pod-spec opts))))
(defn load-pod
([pod-spec] (load-pod pod-spec nil))
([pod-spec opts]

View file

@ -43,7 +43,8 @@
(defn load-pod-metadata* [bb-edn-file pod-spec {:keys [:version :cache] :as opts}]
(let [metadata (impl/load-pod-metadata pod-spec opts)
cache-file (when cache (metadata-cache-file bb-edn-file pod-spec opts))]
cache-file (when (and metadata cache)
(metadata-cache-file bb-edn-file pod-spec opts))]
(when cache-file
(io/make-parents cache-file)
(when (fs/writable? (fs/parent cache-file))