From 19e580188ea56ea26ff3a0bfb08ca428b881ad9a Mon Sep 17 00:00:00 2001 From: jerger Date: Tue, 27 Dec 2022 08:50:48 +0100 Subject: [PATCH] use common-monitoring --- doc/SetupOnHetzner.md | 4 ++-- package.json | 2 +- project.clj | 2 +- shadow-cljs.edn | 2 +- src/main/clj/dda/c4k_jitsi/uberjar.clj | 4 ++-- src/main/cljc/dda/c4k_jitsi/core.cljc | 23 ++++++++++++++++++++--- valid-auth.edn | 4 +++- valid-config.edn | 5 ++++- 8 files changed, 34 insertions(+), 12 deletions(-) diff --git a/doc/SetupOnHetzner.md b/doc/SetupOnHetzner.md index 626a63e..1164415 100644 --- a/doc/SetupOnHetzner.md +++ b/doc/SetupOnHetzner.md @@ -45,7 +45,7 @@ output "ipv4" { ## k8s minicluster -For k8s installation we use our [dda-k8s-crate](https://github.com/DomainDrivenArchitecture/dda-k8s-crate) with the following configuation: +For k8s installation we use our [provs](https://repo.prod.meissa.de/meissa/provs) with the following configuation: ``` @@ -69,5 +69,5 @@ with the following config.edn: ``` {:fqdn "the-fqdn-from aws_route53_record.v4_neu" :postgres-data-volume-path "/var/postgres" ;; Volume was configured at dda-k8s-crate, results in a PersistentVolume definition. - :issuer :prod } + :issuer "prod" } ``` diff --git a/package.json b/package.json index 133cec9..6775ffa 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "c4k-jitsi", "description": "Generate c4k yaml for a jitsi deployment.", "author": "meissa GmbH", - "version": "1.2.3-SNAPSHOT", + "version": "1.3.0-SNAPSHOT", "homepage": "https://gitlab.com/domaindrivenarchitecture/c4k-jitsi#readme", "repository": "https://www.npmjs.com/package/c4k-jitsi", "license": "APACHE2", diff --git a/project.clj b/project.clj index 4321062..f81c673 100644 --- a/project.clj +++ b/project.clj @@ -1,4 +1,4 @@ -(defproject org.domaindrivenarchitecture/c4k-jitsi "1.2.3-SNAPSHOT" +(defproject org.domaindrivenarchitecture/c4k-jitsi "1.3.0-SNAPSHOT" :description "jitsi c4k-installation package" :url "https://domaindrivenarchitecture.org" :license {:name "Apache License, Version 2.0" diff --git a/shadow-cljs.edn b/shadow-cljs.edn index 7899e0e..ae81da8 100644 --- a/shadow-cljs.edn +++ b/shadow-cljs.edn @@ -4,7 +4,7 @@ "src/test/cljc" "src/test/cljs" "src/test/resources"] - :dependencies [[org.domaindrivenarchitecture/c4k-common-cljs "3.3.0"] + :dependencies [[org.domaindrivenarchitecture/c4k-common-cljs "4.0.0-SNAPSHOT"] [hickory "0.7.1"]] :builds {:frontend {:target :browser :modules {:main {:init-fn dda.c4k-jitsi.browser/init}} diff --git a/src/main/clj/dda/c4k_jitsi/uberjar.clj b/src/main/clj/dda/c4k_jitsi/uberjar.clj index d018411..57d439b 100644 --- a/src/main/clj/dda/c4k_jitsi/uberjar.clj +++ b/src/main/clj/dda/c4k_jitsi/uberjar.clj @@ -8,8 +8,8 @@ (defn -main [& cmd-args] (uberjar/main-common "c4k-jitsi" - jitsi/config? - jitsi/auth? + core/config? + core/auth? core/config-defaults core/k8s-objects cmd-args)) diff --git a/src/main/cljc/dda/c4k_jitsi/core.cljc b/src/main/cljc/dda/c4k_jitsi/core.cljc index d57adf1..9215f9a 100644 --- a/src/main/cljc/dda/c4k_jitsi/core.cljc +++ b/src/main/cljc/dda/c4k_jitsi/core.cljc @@ -1,16 +1,31 @@ (ns dda.c4k-jitsi.core (:require - [clojure.string :as cs] [clojure.spec.alpha :as s] #?(:clj [orchestra.core :refer [defn-spec]] :cljs [orchestra.core :refer-macros [defn-spec]]) [dda.c4k-common.common :as cm] + [dda.c4k-common.predicate :as cp] + [dda.c4k-common.monitoring :as mon] [dda.c4k-common.yaml :as yaml] [dda.c4k-jitsi.jitsi :as jitsi])) (def config-defaults {:issuer "staging"}) -(defn k8s-objects [config auth] +(s/def ::mon-cfg mon/config?) +(s/def ::mon-auth mon/auth?) + +(def config? (s/keys :req-un [::jitsi/fqdn] + :opt-un [::jitsi/issuer + ::mon-cfg])) + +(def auth? (s/keys :req-un [::jitsi/jvb-auth-password + ::jitsi/jicofo-auth-password + ::jitsi/jicofo-component-secret] + :opt-un [::mon-auth])) + +(defn-spec k8s-objects cp/map-or-seq? + [config config? + auth auth?] (map yaml/to-string (filter #(not (nil? %)) @@ -21,4 +36,6 @@ (jitsi/generate-etherpad-service) (jitsi/generate-deployment config)] (jitsi/generate-ingress-web config) - (jitsi/generate-ingress-etherpad config))))) + (jitsi/generate-ingress-etherpad config) + (when (:contains? config :mon-cfg) + (mon/generate (:mon-cfg config) (:mon-auth auth))))))) diff --git a/valid-auth.edn b/valid-auth.edn index f05fae3..0b4904b 100644 --- a/valid-auth.edn +++ b/valid-auth.edn @@ -1,3 +1,5 @@ {:jvb-auth-password "JvbAuth" :jicofo-auth-password "JicofoAuth" - :jicofo-component-secret "JicofoCompSec"} + :jicofo-component-secret "JicofoCompSec" + :mon-auth {:grafana-cloud-user "user" + :grafana-cloud-password "password"}} diff --git a/valid-config.edn b/valid-config.edn index 05a2550..f696324 100644 --- a/valid-config.edn +++ b/valid-config.edn @@ -1,2 +1,5 @@ {:fqdn "jitsi.test.meissa-gmbh.de" - :issuer :staging} + :issuer "staging" + :mon-cfg {:grafana-cloud-url "url-for-your-prom-remote-write-endpoint" + :k3s-cluster-name "jitsi" + :k3s-cluster-stage "test"}}