From ea08da990430e3c189c94c8cc3de48d4c6ef5826 Mon Sep 17 00:00:00 2001 From: jerger Date: Tue, 27 Dec 2022 21:24:20 +0100 Subject: [PATCH] adjust to new c4k-common version --- src/main/clj/dda/c4k_website/uberjar.clj | 13 +++++++--- src/main/cljc/dda/c4k_website/core.cljc | 30 +++++++++++++++++----- src/main/cljc/dda/c4k_website/website.cljc | 2 +- 3 files changed, 34 insertions(+), 11 deletions(-) diff --git a/src/main/clj/dda/c4k_website/uberjar.clj b/src/main/clj/dda/c4k_website/uberjar.clj index 7e09e2a..d1800e5 100644 --- a/src/main/clj/dda/c4k_website/uberjar.clj +++ b/src/main/clj/dda/c4k_website/uberjar.clj @@ -1,10 +1,15 @@ (ns dda.c4k-website.uberjar (:gen-class) (:require - [dda.c4k-website.core :as core] - [dda.c4k-website.website :as website] - [dda.c4k-common.uberjar :as uberjar])) + [dda.c4k-common.uberjar :as uberjar] + [dda.c4k-website.core :as core])) (defn -main [& cmd-args] - (uberjar/main-common "c4k-website" website/config? website/auth? core/config-defaults core/k8s-objects cmd-args)) + (uberjar/main-common + "c4k-website" + core/config? + core/auth? + core/config-defaults + core/k8s-objects + cmd-args)) diff --git a/src/main/cljc/dda/c4k_website/core.cljc b/src/main/cljc/dda/c4k_website/core.cljc index 6a4d92f..f75c512 100644 --- a/src/main/cljc/dda/c4k_website/core.cljc +++ b/src/main/cljc/dda/c4k_website/core.cljc @@ -5,15 +5,27 @@ :cljs [orchestra.core :refer-macros [defn-spec]]) [dda.c4k-common.yaml :as yaml] [dda.c4k-common.common :as cm] - [dda.c4k-common.predicate :as pred] + [dda.c4k-common.predicate :as cp] + [dda.c4k-common.monitoring :as mon] [dda.c4k-website.website :as website])) (def config-defaults {:issuer "staging" :volume-size "3"}) +(s/def ::mon-cfg mon/config?) +(s/def ::mon-auth mon/auth?) + +(def config? (s/keys :req-un [::website/websites] + :opt-un [::website/issuer + ::website/volume-size + ::mon-cfg])) + +(def auth? (s/keys :req-un [::website/auth] + :opt-un [::mon-auth])) + (def merged-config-and-auth? (s/and website/config? website/auth?)) -(defn-spec sort-config pred/map-or-seq? +(defn-spec sort-config cp/map-or-seq? [unsorted-config merged-config-and-auth?] (let [sorted-websites (into [] (sort-by :unique-name (unsorted-config :websites))) sorted-auth (into [] (sort-by :unique-name (unsorted-config :auth)))] @@ -21,7 +33,7 @@ (assoc-in [:websites] sorted-websites) (assoc-in [:auth] sorted-auth)))) -(defn-spec flatten-and-reduce-config pred/map-or-seq? +(defn-spec flatten-and-reduce-config cp/map-or-seq? [config merged-config-and-auth?] (merge (-> config :websites first) (-> config :auth first) @@ -51,8 +63,14 @@ (website/generate-website-build-cron (flatten-and-reduce-config config)) (website/generate-website-build-secret (flatten-and-reduce-config config))))))) -(defn k8s-objects [config] +(defn-spec k8s-objects cp/map-or-seq? + [config config? + auth auth?] (cm/concat-vec (map yaml/to-string - (filter #(not (nil? %)) - (generate-configs config))))) + (filter + #(not (nil? %)) + (cm/concat-vec + (generate-configs (merge config auth)) + (when (:contains? config :mon-cfg) + (mon/generate (:mon-cfg config) (:mon-auth auth)))))))) diff --git a/src/main/cljc/dda/c4k_website/website.cljc b/src/main/cljc/dda/c4k_website/website.cljc index f9177f0..dd98adc 100644 --- a/src/main/cljc/dda/c4k_website/website.cljc +++ b/src/main/cljc/dda/c4k_website/website.cljc @@ -10,7 +10,7 @@ [dda.c4k-common.common :as cm] [dda.c4k-common.base64 :as b64] [dda.c4k-common.predicate :as pred] - [dda.c4k-common.ingress-cert :as ing] + [dda.c4k-common.ingress :as ing] [clojure.string :as str])) (defn fqdn-list?