|
|
|
(ns dda.c4k-jitsi.jitsi-test
|
|
|
|
(:require
|
|
|
|
#?(:clj [clojure.test :refer [deftest is are testing run-tests]]
|
|
|
|
:cljs [cljs.test :refer-macros [deftest is are testing run-tests]])
|
|
|
|
[dda.c4k-jitsi.jitsi :as cut]))
|
|
|
|
|
|
|
|
|
|
|
|
(deftest should-generate-deployment
|
|
|
|
(is (= {:apiVersion "apps/v1",
|
|
|
|
:kind "Deployment",
|
|
|
|
:metadata {:labels {:app "jitsi"}, :name "jitsi"},
|
|
|
|
:spec
|
|
|
|
{:strategy {:type "Recreate"},
|
|
|
|
:selector {:matchLabels {:app "jitsi"}},
|
|
|
|
:template
|
|
|
|
{:metadata {:labels {:app "jitsi"}},
|
|
|
|
:spec
|
|
|
|
{:containers
|
|
|
|
[{:name "jicofo",
|
|
|
|
:image "jitsi/jicofo:stable-7287",
|
|
|
|
:imagePullPolicy "IfNotPresent",
|
|
|
|
:env
|
|
|
|
[{:name "XMPP_SERVER", :value "localhost"}
|
|
|
|
{:name "XMPP_DOMAIN", :value "meet.meissa-gmbh"}
|
|
|
|
{:name "XMPP_AUTH_DOMAIN", :value "auth.meet.meissa-gmbh"}
|
|
|
|
{:name "XMPP_MUC_DOMAIN", :value "muc.meet.meissa-gmbh"}
|
|
|
|
{:name "XMPP_INTERNAL_MUC_DOMAIN",
|
|
|
|
:value "internal-muc.meet.meissa-gmbh"}
|
|
|
|
{:name "JICOFO_COMPONENT_SECRET",
|
|
|
|
:valueFrom
|
|
|
|
{:secretKeyRef
|
|
|
|
{:name "jitsi-config", :key "JICOFO_COMPONENT_SECRET"}}}
|
|
|
|
{:name "JICOFO_AUTH_USER", :value "focus"}
|
|
|
|
{:name "JICOFO_AUTH_PASSWORD",
|
|
|
|
:valueFrom
|
|
|
|
{:secretKeyRef
|
|
|
|
{:name "jitsi-config", :key "JICOFO_AUTH_PASSWORD"}}}
|
|
|
|
{:name "TZ", :value "Europe/Berlin"}
|
|
|
|
{:name "JVB_BREWERY_MUC", :value "jvbbrewery"}]}
|
|
|
|
{:name "prosody",
|
|
|
|
:image "jitsi/prosody:stable-7287",
|
|
|
|
:imagePullPolicy "IfNotPresent",
|
|
|
|
:env
|
|
|
|
[{:name "PUBLIC_URL", :value "xy"}
|
|
|
|
{:name "XMPP_DOMAIN", :value "meet.meissa-gmbh"}
|
|
|
|
{:name "XMPP_AUTH_DOMAIN", :value "auth.meet.meissa-gmbh"}
|
|
|
|
{:name "XMPP_MUC_DOMAIN", :value "muc.meet.meissa-gmbh"}
|
|
|
|
{:name "XMPP_INTERNAL_MUC_DOMAIN",
|
|
|
|
:value "internal-muc.meet.meissa-gmbh"}
|
|
|
|
{:name "JICOFO_COMPONENT_SECRET",
|
|
|
|
:valueFrom
|
|
|
|
{:secretKeyRef
|
|
|
|
{:name "jitsi-config", :key "JICOFO_COMPONENT_SECRET"}}}
|
|
|
|
{:name "JVB_AUTH_USER", :value "jvb"}
|
|
|
|
{:name "JVB_AUTH_PASSWORD",
|
|
|
|
:valueFrom
|
|
|
|
{:secretKeyRef
|
|
|
|
{:name "jitsi-config", :key "JVB_AUTH_PASSWORD"}}}
|
|
|
|
{:name "JICOFO_AUTH_USER", :value "focus"}
|
|
|
|
{:name "JICOFO_AUTH_PASSWORD",
|
|
|
|
:valueFrom
|
|
|
|
{:secretKeyRef
|
|
|
|
{:name "jitsi-config", :key "JICOFO_AUTH_PASSWORD"}}}
|
|
|
|
{:name "TZ", :value "Europe/Berlin"}
|
|
|
|
{:name "JVB_TCP_HARVESTER_DISABLED", :value "true"}]}
|
|
|
|
{:name "web",
|
|
|
|
:image "domaindrivenarchitecture/c4k-jitsi",
|
|
|
|
:imagePullPolicy "IfNotPresent",
|
|
|
|
:env
|
|
|
|
[{:name "PUBLIC_URL", :value "xy"}
|
|
|
|
{:name "XMPP_SERVER", :value "localhost"}
|
|
|
|
{:name "JICOFO_AUTH_USER", :value "focus"}
|
|
|
|
{:name "XMPP_DOMAIN", :value "meet.meissa-gmbh"}
|
|
|
|
{:name "XMPP_AUTH_DOMAIN", :value "auth.meet.meissa-gmbh"}
|
|
|
|
{:name "XMPP_INTERNAL_MUC_DOMAIN",
|
|
|
|
:value "internal-muc.meet.meissa-gmbh"}
|
|
|
|
{:name "XMPP_BOSH_URL_BASE", :value "http://127.0.0.1:5280"}
|
|
|
|
{:name "XMPP_MUC_DOMAIN", :value "muc.meet.meissa-gmbh"}
|
|
|
|
{:name "TZ", :value "Europe/Berlin"}
|
|
|
|
{:name "JVB_TCP_HARVESTER_DISABLED", :value "true"}
|
|
|
|
{:name "DEFAULT_LANGUAGE", :value "de"}
|
|
|
|
{:name "RESOLUTION", :value "480"}
|
|
|
|
{:name "RESOLUTION_MIN", :value "240"}
|
|
|
|
{:name "RESOLUTION_WIDTH", :value "853"}
|
|
|
|
{:name "RESOLUTION_WIDTH_MIN", :value "427"}
|
|
|
|
{:name "DISABLE_AUDIO_LEVELS", :value "true"}]}
|
|
|
|
{:name "jvb",
|
|
|
|
:image "jitsi/jvb:stable-7287",
|
|
|
|
:imagePullPolicy "IfNotPresent",
|
|
|
|
:env
|
|
|
|
[{:name "PUBLIC_URL", :value "xy"}
|
|
|
|
{:name "XMPP_SERVER", :value "localhost"}
|
|
|
|
{:name "DOCKER_HOST_ADDRESS", :value "xy"}
|
|
|
|
{:name "XMPP_DOMAIN", :value "meet.meissa-gmbh"}
|
|
|
|
{:name "XMPP_AUTH_DOMAIN", :value "auth.meet.meissa-gmbh"}
|
|
|
|
{:name "XMPP_INTERNAL_MUC_DOMAIN",
|
|
|
|
:value "internal-muc.meet.meissa-gmbh"}
|
|
|
|
{:name "JVB_STUN_SERVERS",
|
|
|
|
:value
|
|
|
|
"stun.1und1.de:3478,stun.t-online.de:3478,stun.hosteurope.de:3478"}
|
|
|
|
{:name "JICOFO_AUTH_USER", :value "focus"}
|
|
|
|
{:name "JVB_TCP_HARVESTER_DISABLED", :value "true"}
|
|
|
|
{:name "JVB_AUTH_USER", :value "jvb"}
|
|
|
|
{:name "JVB_PORT", :value "30300"}
|
|
|
|
{:name "JVB_AUTH_PASSWORD",
|
|
|
|
:valueFrom
|
|
|
|
{:secretKeyRef
|
|
|
|
{:name "jitsi-config", :key "JVB_AUTH_PASSWORD"}}}
|
|
|
|
{:name "JICOFO_AUTH_PASSWORD",
|
|
|
|
:valueFrom
|
|
|
|
{:secretKeyRef
|
|
|
|
{:name "jitsi-config", :key "JICOFO_AUTH_PASSWORD"}}}
|
|
|
|
{:name "JVB_BREWERY_MUC", :value "jvbbrewery"}
|
|
|
|
{:name "TZ", :value "Europe/Berlin"}]}]}}}}
|
|
|
|
(cut/generate-deployment {:fqdn "xy"}))))
|
|
|
|
|
|
|
|
(deftest should-generate-ingress
|
|
|
|
(is (= {:apiVersion "networking.k8s.io/v1",
|
|
|
|
:kind "Ingress",
|
|
|
|
:metadata
|
|
|
|
{:name "jitsi",
|
|
|
|
:annotations
|
|
|
|
{:cert-manager.io/cluster-issuer "staging",
|
|
|
|
:ingress.kubernetes.io/ssl-redirect "true",
|
|
|
|
:kubernetes.io/ingress.class ""}},
|
|
|
|
:spec
|
|
|
|
{:tls [{:hosts ["test.com"], :secretName "tls-jitsi"}],
|
|
|
|
:rules
|
|
|
|
[{:host "test.com",
|
|
|
|
:http
|
|
|
|
{:paths
|
|
|
|
[{:path "/",
|
|
|
|
:pathType "Prefix",
|
|
|
|
:backend {:service {:name "web", :port {:number 80}}}}]}}]}}
|
|
|
|
(cut/generate-ingress {:fqdn "test.com" :issuer :staging}))))
|
|
|
|
|
|
|
|
(deftest should-generate-secret
|
|
|
|
(is (= {:apiVersion "v1",
|
|
|
|
:kind "Secret",
|
|
|
|
:metadata {:name "jitsi-config"},
|
|
|
|
:type "Opaque",
|
|
|
|
:data
|
|
|
|
{:JVB_AUTH_PASSWORD "anZiLWF1dGg=",
|
|
|
|
:JICOFO_AUTH_PASSWORD "amljb2ZvLWF1dGg=",
|
|
|
|
:JICOFO_COMPONENT_SECRET "amljb2ZvLWNvbXA="}}
|
|
|
|
(cut/generate-secret {:jvb-auth-password "jvb-auth"
|
|
|
|
:jicofo-auth-password "jicofo-auth"
|
|
|
|
:jicofo-component-secret "jicofo-comp"}))))
|