Make core reject invalid monitoring configs
This commit is contained in:
parent
938ba80275
commit
af17850b06
5 changed files with 15 additions and 8 deletions
|
@ -5,7 +5,7 @@
|
|||
:url "https://www.apache.org/licenses/LICENSE-2.0.html"}
|
||||
:dependencies [[org.clojure/clojure "1.10.3"]
|
||||
[org.clojure/tools.reader "1.3.6"]
|
||||
[org.domaindrivenarchitecture/c4k-common-clj "6.0.0"]]
|
||||
[org.domaindrivenarchitecture/c4k-common-clj "6.0.1"]]
|
||||
:target-path "target/%s/"
|
||||
:source-paths ["src/main/cljc"
|
||||
"src/main/clj"]
|
||||
|
|
|
@ -14,16 +14,16 @@
|
|||
|
||||
(def config-defaults {:issuer "staging"})
|
||||
|
||||
(s/def ::config (s/keys :req-un [::kc/fqdn]
|
||||
(def config? (s/keys :req-un [::kc/fqdn]
|
||||
:opt-un [::kc/issuer
|
||||
::mon/config]))
|
||||
::mon/mon-cfg]))
|
||||
|
||||
(def auth? (s/keys :req-un [::kc/keycloak-admin-user ::kc/keycloak-admin-password
|
||||
::postgres/postgres-db-user ::postgres/postgres-db-password]
|
||||
:opt-un [::mon/auth]))
|
||||
|
||||
(defn-spec k8s-objects cp/map-or-seq?
|
||||
[config ::config
|
||||
[config config?
|
||||
auth auth?]
|
||||
(map yaml/to-string
|
||||
(filter
|
||||
|
|
|
@ -16,5 +16,6 @@
|
|||
|
||||
;; TODO: 2023.01.27 - jem: may not validate k3s-cluster-name entries ... find out what's wrong.
|
||||
(deftest validate-valid-resources
|
||||
(is (s/valid? ::cut/config (yaml/load-as-edn "keycloak-test/valid-config.yaml")))
|
||||
(is (s/valid? cut/auth? (yaml/load-as-edn "keycloak-test/valid-auth.yaml"))))
|
||||
(is (s/valid? cut/config? (yaml/load-as-edn "keycloak-test/valid-config.yaml")))
|
||||
(is (s/valid? cut/auth? (yaml/load-as-edn "keycloak-test/valid-auth.yaml")))
|
||||
(is (not (s/valid? cut/config? (yaml/load-as-edn "keycloak-test/invalid-config.yaml")))))
|
6
src/test/resources/keycloak-test/invalid-config.yaml
Normal file
6
src/test/resources/keycloak-test/invalid-config.yaml
Normal file
|
@ -0,0 +1,6 @@
|
|||
fqdn: "keycloak.test.meissa-gmbh.de"
|
||||
issuer: "staging"
|
||||
mon-cfg:
|
||||
grafana-clod-url: "url-for-your-prom-remote-write-endpoint"
|
||||
cluster-nam: "keycloak"
|
||||
cluster-stage: "none"
|
|
@ -3,4 +3,4 @@ issuer: "staging"
|
|||
mon-cfg:
|
||||
grafana-cloud-url: "url-for-your-prom-remote-write-endpoint"
|
||||
cluster-name: "keycloak"
|
||||
cluster-stage: :test
|
||||
cluster-stage: "test"
|
Loading…
Reference in a new issue