From fabcd711c0da4b672ad1acc59ed53ab5df350b49 Mon Sep 17 00:00:00 2001 From: bom Date: Fri, 21 May 2021 16:22:00 +0200 Subject: [PATCH] mob --- src/main/cljc/dda/k8s_keycloak/core.cljc | 7 +++++++ src/test/cljc/dda/k8s_keycloak/core_test.cljc | 17 ++++++++++++++--- 2 files changed, 21 insertions(+), 3 deletions(-) diff --git a/src/main/cljc/dda/k8s_keycloak/core.cljc b/src/main/cljc/dda/k8s_keycloak/core.cljc index e344b04..ff84979 100644 --- a/src/main/cljc/dda/k8s_keycloak/core.cljc +++ b/src/main/cljc/dda/k8s_keycloak/core.cljc @@ -20,6 +20,13 @@ (defn generate-deployment [] (yaml/from-string (yaml/load-resource "deployment.yaml"))) +(defn generate-certificate [config] + (let [{:keys [fqdn issuer] + :or {issuer :staging}} config + letsencrypt-issuer (str "letsencrypt-" (name issuer) "-issuer")] + (-> + (yaml/from-string (yaml/load-resource "certificate.yaml")))) + (defn generate-ingress [config] (let [{:keys [fqdn issuer] :or {issuer :staging}} config diff --git a/src/test/cljc/dda/k8s_keycloak/core_test.cljc b/src/test/cljc/dda/k8s_keycloak/core_test.cljc index bc00a54..c079cb4 100644 --- a/src/test/cljc/dda/k8s_keycloak/core_test.cljc +++ b/src/test/cljc/dda/k8s_keycloak/core_test.cljc @@ -12,6 +12,17 @@ :credentials.edn "some-credentials-value\n"}} (cut/generate-config "some-config-value\n" "some-credentials-value\n")))) +(deftest should-generate-certificate + (is (= {:apiVersion "cert-manager.io/v1alpha2" + :kind "Certificate" + :metadata {:name "keycloak-cert", :namespace "default"} + :spec + {:secretName "keycloak-secret" + :commonName "test.de" + :dnsNames ["test.de"] + :issuerRef {:name "letsencrypt-prod-issuer", :kind "ClusterIssuer"}}} + (cut/generate-certificate {:fqdn "test.de" :issuer :prod} )))) + (deftest should-generate-ingress-yaml-with-default-issuer (is (= {:apiVersion "networking.k8s.io/v1beta1" :kind "Ingress" @@ -27,8 +38,8 @@ :nginx.ingress.kubernetes.io/proxy-read-timeout "300"} :namespace "default"} :spec - {:tls '({:hosts ["test.de"] :secretName "keycloak-secret"}) - :rules '({:host "test.de", :http {:paths '({:backend {:serviceName "keycloak", :servicePort 8080}})}})}} + {:tls [{:hosts ["test.de"] :secretName "keycloak-secret"}] + :rules [{:host "test.de", :http {:paths [{:backend {:serviceName "keycloak", :servicePort 8080}}]}}]}} (cut/generate-ingress {:fqdn "test.de"})))) (deftest should-generate-ingress-yaml-with-prod-issuer @@ -47,6 +58,6 @@ :namespace "default"} :spec {:tls [{:hosts ["test.de"], :secretName "keycloak-secret"}] - :rules '({:host "test.de", :http {:paths '({:backend {:serviceName "keycloak", :servicePort 8080}})}})}} + :rules '({:host "test.de", :http {:paths [{:backend {:serviceName "keycloak", :servicePort 8080}}]}})}} (cut/generate-ingress {:fqdn "test.de" :issuer :prod})))) \ No newline at end of file