add namespace & speced tests to taiga
This commit is contained in:
parent
7d7526132b
commit
ddda23bb10
25 changed files with 107 additions and 115 deletions
src
main
cljc/dda/c4k_taiga
resources/taiga
async-deployment.yamlasync-rabbitmq-deployment.yamlasync-rabbitmq-service.yamlasync-service.yamlback-deployment.yamlback-service.yamlconfigmap.yamlevents-deployment.yamlevents-rabbitmq-deployment.yamlevents-rabbitmq-service.yamlevents-service.yamlfront-deployment.yamlfront-service.yamlgateway-configmap.yamlgateway-deployment.yamlgateway-service.yamlprotected-deployment.yamlprotected-service.yamlpvc-taiga-media-data.yamlpvc-taiga-static-data.yamlrabbitmq-pvc-async.yamlrabbitmq-pvc-events.yamlsecret.yaml
test/cljc/dda/c4k_taiga
|
@ -1,35 +1,16 @@
|
|||
(ns dda.c4k-taiga.taiga
|
||||
(:require
|
||||
[clojure.spec.alpha :as s]
|
||||
#?(:cljs [shadow.resource :as rc])
|
||||
#?(:clj [orchestra.core :refer [defn-spec]]
|
||||
:cljs [orchestra.core :refer-macros [defn-spec]])
|
||||
#?(:clj [clojure.edn :as edn]
|
||||
:cljs [cljs.reader :as edn])
|
||||
[dda.c4k-common.yaml :as yaml]
|
||||
[dda.c4k-common.common :as cm]
|
||||
[dda.c4k-common.base64 :as b64]
|
||||
[dda.c4k-common.predicate :as cp]
|
||||
[dda.c4k-common.monitoring :as mon]
|
||||
[dda.c4k-common.postgres :as postgres]
|
||||
[dda.c4k-common.ingress :as ing]
|
||||
[clojure.string :as str]
|
||||
#?(:cljs [dda.c4k-common.macros :refer-macros [inline-resources]])))
|
||||
[dda.c4k-common.base64 :as b64]
|
||||
[dda.c4k-common.predicate :as p]
|
||||
[dda.c4k-common.common :as cm]
|
||||
#?(:cljs [dda.c4k-common.macros :refer-macros [inline-resources]])))
|
||||
|
||||
|
||||
(def config-defaults {:issuer "staging"
|
||||
:storage-class-name "local-path"
|
||||
:pv-storage-size-gb "5" ;; ToDo: check sensible defaults
|
||||
:storage-media-size "5"
|
||||
:storage-static-size "5"
|
||||
:storage-async-rabbitmq-size "5"
|
||||
:storage-events-rabbitmq-size "5"
|
||||
:public-register-enabled "false"
|
||||
:enable-telemetry "false"})
|
||||
|
||||
(s/def ::mon-cfg ::mon/mon-cfg)
|
||||
(s/def ::mon-auth ::mon/mon-auth)
|
||||
(s/def ::taiga-secret-key cp/bash-env-string?)
|
||||
(s/def ::taiga-secret-key p/bash-env-string?)
|
||||
(s/def ::mailer-user string?)
|
||||
(s/def ::mailer-pw string?)
|
||||
(s/def ::django-superuser-username string?)
|
||||
|
@ -39,9 +20,9 @@
|
|||
(s/def ::rabbitmq-pw string?)
|
||||
(s/def ::rabbitmq-erlang-cookie string?)
|
||||
|
||||
(s/def ::issuer cp/letsencrypt-issuer?)
|
||||
(s/def ::fqdn cp/fqdn-string?)
|
||||
(s/def ::public-register-enabled string?) ;; ToDo maybe check for boolean string
|
||||
(s/def ::issuer p/letsencrypt-issuer?)
|
||||
(s/def ::fqdn p/fqdn-string?)
|
||||
(s/def ::public-register-enabled string?)
|
||||
(s/def ::enable-telemetry string?)
|
||||
(s/def ::storage-class-name string?)
|
||||
(s/def ::storage-media-size pos?)
|
||||
|
@ -49,37 +30,34 @@
|
|||
(s/def ::storage-async-rabbitmq-size pos?)
|
||||
(s/def ::storage-events-rabbitmq-size pos?)
|
||||
|
||||
(def auth? (s/keys :req-un [::postgres/postgres-db-user
|
||||
::postgres/postgres-db-password
|
||||
::taiga-secret-key
|
||||
::mailer-pw
|
||||
::mailer-user
|
||||
::django-superuser-email
|
||||
::django-superuser-password
|
||||
::django-superuser-username
|
||||
::rabbitmq-erlang-cookie
|
||||
::rabbitmq-pw
|
||||
::rabbitmq-user]
|
||||
:opt-un [::mon-auth]))
|
||||
(s/def ::auth (s/keys :req-un [::taiga-secret-key
|
||||
::mailer-pw
|
||||
::mailer-user
|
||||
::django-superuser-email
|
||||
::django-superuser-password
|
||||
::django-superuser-username
|
||||
::rabbitmq-erlang-cookie
|
||||
::rabbitmq-pw
|
||||
::rabbitmq-user]
|
||||
:opt-un [::mon-auth]))
|
||||
|
||||
(def config? (s/keys :req-un [::fqdn]
|
||||
:opt-un [::issuer
|
||||
::storage-class-name
|
||||
::storage-media-size
|
||||
::storage-static-size
|
||||
::storage-async-rabbitmq-size
|
||||
::storage-events-rabbitmq-size
|
||||
::postgres/pv-storage-size-gb
|
||||
::public-register-enabled
|
||||
::enable-telemetry
|
||||
::mon-cfg]))
|
||||
(s/def ::config (s/keys :req-un [::fqdn]
|
||||
:opt-un [::issuer
|
||||
::storage-class-name
|
||||
::storage-media-size
|
||||
::storage-static-size
|
||||
::storage-async-rabbitmq-size
|
||||
::storage-events-rabbitmq-size
|
||||
::public-register-enabled
|
||||
::enable-telemetry
|
||||
::mon-cfg]))
|
||||
|
||||
#?(:cljs
|
||||
(defmethod yaml/load-resource :taiga [resource-name]
|
||||
(get (inline-resources "taiga") resource-name)))
|
||||
|
||||
(defn-spec generate-ingress-and-cert cp/map-or-seq?
|
||||
[config config?]
|
||||
(defn-spec generate-ingress-and-cert p/map-or-seq?
|
||||
[config ::config]
|
||||
(let [{:keys [fqdn]} config]
|
||||
(ing/generate-ingress-and-cert
|
||||
(merge
|
||||
|
@ -88,85 +66,85 @@
|
|||
:fqdns [fqdn]}
|
||||
config))))
|
||||
|
||||
(defn-spec generate-async-deployment cp/map-or-seq? []
|
||||
(defn-spec generate-async-deployment p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/async-deployment.yaml"))
|
||||
|
||||
(defn-spec generate-async-service cp/map-or-seq? []
|
||||
(defn-spec generate-async-service p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/async-service.yaml"))
|
||||
|
||||
(defn-spec generate-async-rabbitmq-deployment cp/map-or-seq? []
|
||||
(defn-spec generate-async-rabbitmq-deployment p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/async-rabbitmq-deployment.yaml"))
|
||||
|
||||
(defn-spec generate-events-rabbitmq-service cp/map-or-seq? []
|
||||
(defn-spec generate-events-rabbitmq-service p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/events-rabbitmq-service.yaml"))
|
||||
|
||||
(defn-spec generate-async-rabbitmq-service cp/map-or-seq? []
|
||||
(defn-spec generate-async-rabbitmq-service p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/async-rabbitmq-service.yaml"))
|
||||
|
||||
(defn-spec generate-back-deployment cp/map-or-seq? []
|
||||
(defn-spec generate-back-deployment p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/back-deployment.yaml"))
|
||||
|
||||
(defn-spec generate-back-service cp/map-or-seq? []
|
||||
(defn-spec generate-back-service p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/back-service.yaml"))
|
||||
|
||||
(defn-spec generate-events-rabbitmq-deployment cp/map-or-seq? []
|
||||
(defn-spec generate-events-rabbitmq-deployment p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/events-rabbitmq-deployment.yaml"))
|
||||
|
||||
(defn-spec generate-events-deployment cp/map-or-seq? []
|
||||
(defn-spec generate-events-deployment p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/events-deployment.yaml"))
|
||||
|
||||
(defn-spec generate-events-service cp/map-or-seq? []
|
||||
(defn-spec generate-events-service p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/events-service.yaml"))
|
||||
|
||||
(defn-spec generate-front-deployment cp/map-or-seq? []
|
||||
(defn-spec generate-front-deployment p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/front-deployment.yaml"))
|
||||
|
||||
(defn-spec generate-front-service cp/map-or-seq? []
|
||||
(defn-spec generate-front-service p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/front-service.yaml"))
|
||||
|
||||
(defn-spec generate-gateway-configmap cp/map-or-seq? []
|
||||
(defn-spec generate-gateway-configmap p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/gateway-configmap.yaml"))
|
||||
|
||||
(defn-spec generate-gateway-deployment cp/map-or-seq? []
|
||||
(defn-spec generate-gateway-deployment p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/gateway-deployment.yaml"))
|
||||
|
||||
(defn-spec generate-gateway-service cp/map-or-seq? []
|
||||
(defn-spec generate-gateway-service p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/gateway-service.yaml"))
|
||||
|
||||
(defn-spec generate-protected-deployment cp/map-or-seq? []
|
||||
(defn-spec generate-protected-deployment p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/protected-deployment.yaml"))
|
||||
|
||||
(defn-spec generate-protected-service cp/map-or-seq? []
|
||||
(defn-spec generate-protected-service p/map-or-seq? []
|
||||
(yaml/load-as-edn "taiga/protected-service.yaml"))
|
||||
|
||||
(defn-spec generate-configmap cp/map-or-seq?
|
||||
[config config?]
|
||||
(let [{:keys [fqdn enable-telemetry public-register-enabled]} (merge config-defaults config)]
|
||||
(-> (yaml/load-as-edn "taiga/configmap.yaml")
|
||||
(defn-spec generate-configmap p/map-or-seq?
|
||||
[config ::config]
|
||||
(let [{:keys [fqdn enable-telemetry public-register-enabled]} config]
|
||||
(-> (yaml/load-as-edn "taiga/configmap.yaml")
|
||||
(cm/replace-key-value :TAIGA_SITES_DOMAIN fqdn)
|
||||
(cm/replace-key-value :TAIGA_URL (str "https://" fqdn))
|
||||
(cm/replace-key-value :TAIGA_WEBSOCKETS_URL (str "wss://" fqdn))
|
||||
(cm/replace-key-value :ENABLE_TELEMETRY enable-telemetry)
|
||||
(cm/replace-key-value :PUBLIC_REGISTER_ENABLED public-register-enabled))))
|
||||
|
||||
(defn-spec generate-pvc-taiga-media-data cp/map-or-seq?
|
||||
[config config?]
|
||||
(let [{:keys [storage-class-name storage-media-size]} (merge config-defaults config)]
|
||||
(defn-spec generate-pvc-taiga-media-data p/map-or-seq?
|
||||
[config ::config]
|
||||
(let [{:keys [storage-class-name storage-media-size]} config]
|
||||
(->
|
||||
(yaml/load-as-edn "taiga/pvc-taiga-media-data.yaml")
|
||||
(assoc-in [:spec :storageClassName] storage-class-name)
|
||||
(assoc-in [:spec :resources :requests :storage] (str storage-media-size "Gi")))))
|
||||
|
||||
(defn-spec generate-pvc-taiga-static-data cp/map-or-seq?
|
||||
[config config?]
|
||||
(let [{:keys [storage-class-name storage-static-size]} (merge config-defaults config)]
|
||||
(defn-spec generate-pvc-taiga-static-data p/map-or-seq?
|
||||
[config ::config]
|
||||
(let [{:keys [storage-class-name storage-static-size]} config]
|
||||
(->
|
||||
(yaml/load-as-edn "taiga/pvc-taiga-static-data.yaml")
|
||||
(assoc-in [:spec :storageClassName] storage-class-name)
|
||||
(assoc-in [:spec :resources :requests :storage] (str storage-static-size "Gi")))))
|
||||
|
||||
(defn-spec generate-secret cp/map-or-seq?
|
||||
[auth auth?]
|
||||
(defn-spec generate-secret p/map-or-seq?
|
||||
[auth ::auth]
|
||||
(let [{:keys [taiga-secret-key
|
||||
mailer-user mailer-pw
|
||||
rabbitmq-user rabbitmq-pw rabbitmq-erlang-cookie
|
||||
|
@ -183,18 +161,18 @@
|
|||
(cm/replace-key-value :DJANGO_SUPERUSER_PASSWORD (b64/encode django-superuser-password))
|
||||
(cm/replace-key-value :DJANGO_SUPERUSER_EMAIL (b64/encode django-superuser-email)))))
|
||||
|
||||
(defn-spec generate-rabbitmq-pvc-async cp/map-or-seq?
|
||||
[config config?]
|
||||
(let [{:keys [storage-class-name storage-async-rabbitmq-size]} (merge config-defaults config)]
|
||||
(defn-spec generate-rabbitmq-pvc-async p/map-or-seq?
|
||||
[config ::config]
|
||||
(let [{:keys [storage-class-name storage-async-rabbitmq-size]} config]
|
||||
(->
|
||||
(yaml/load-as-edn "taiga/rabbitmq-pvc-async.yaml")
|
||||
(assoc-in [:spec :storageClassName] storage-class-name)
|
||||
(assoc-in [:spec :resources :requests :storage] (str storage-async-rabbitmq-size "Gi")))))
|
||||
|
||||
(defn-spec generate-rabbitmq-pvc-events cp/map-or-seq?
|
||||
[config config?]
|
||||
(let [{:keys [storage-class-name storage-events-rabbitmq-size]} (merge config-defaults config)]
|
||||
(->
|
||||
(defn-spec generate-rabbitmq-pvc-events p/map-or-seq?
|
||||
[config ::config]
|
||||
(let [{:keys [storage-class-name storage-events-rabbitmq-size]} config]
|
||||
(->
|
||||
(yaml/load-as-edn "taiga/rabbitmq-pvc-events.yaml")
|
||||
(assoc-in [:spec :storageClassName] storage-class-name)
|
||||
(assoc-in [:spec :resources :requests :storage] (str storage-events-rabbitmq-size "Gi")))))
|
||||
|
|
|
@ -2,6 +2,7 @@ apiVersion: apps/v1
|
|||
kind: Deployment
|
||||
metadata:
|
||||
name: taiga-async-deployment
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-async
|
||||
|
|
|
@ -2,6 +2,7 @@ apiVersion: apps/v1
|
|||
kind: Deployment
|
||||
metadata:
|
||||
name: taiga-async-rabbitmq-deployment
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-async-rabbitmq
|
||||
|
|
|
@ -2,6 +2,7 @@ kind: Service
|
|||
apiVersion: v1
|
||||
metadata:
|
||||
name: taiga-async-rabbitmq
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-async-rabbitmq
|
||||
|
|
|
@ -2,6 +2,7 @@ kind: Service
|
|||
apiVersion: v1
|
||||
metadata:
|
||||
name: taiga-async
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-async
|
||||
|
|
|
@ -2,6 +2,7 @@ apiVersion: apps/v1
|
|||
kind: Deployment
|
||||
metadata:
|
||||
name: taiga-back-deployment
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-back
|
||||
|
|
|
@ -2,10 +2,10 @@ kind: Service
|
|||
apiVersion: v1
|
||||
metadata:
|
||||
name: taiga-back
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-back
|
||||
namespace: default
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
|
|
|
@ -2,7 +2,7 @@ apiVersion: v1
|
|||
kind: ConfigMap
|
||||
metadata:
|
||||
name: taiga-configmap
|
||||
namespace: default
|
||||
namespace: taiga
|
||||
data:
|
||||
# These environment variables will be used by taiga-back and taiga-async.
|
||||
# Database settings handled in deployment
|
||||
|
|
|
@ -2,6 +2,7 @@ apiVersion: apps/v1
|
|||
kind: Deployment
|
||||
metadata:
|
||||
name: taiga-events-deployment
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-events
|
||||
|
|
|
@ -2,6 +2,7 @@ apiVersion: apps/v1
|
|||
kind: Deployment
|
||||
metadata:
|
||||
name: taiga-events-rabbitmq-deployment
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-events-rabbitmq
|
||||
|
|
|
@ -2,6 +2,7 @@ kind: Service
|
|||
apiVersion: v1
|
||||
metadata:
|
||||
name: taiga-events-rabbitmq
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-events-rabbitmq
|
||||
|
|
|
@ -2,10 +2,10 @@ kind: Service
|
|||
apiVersion: v1
|
||||
metadata:
|
||||
name: taiga-events
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-events
|
||||
namespace: default
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
|
|
|
@ -2,6 +2,7 @@ apiVersion: apps/v1
|
|||
kind: Deployment
|
||||
metadata:
|
||||
name: taiga-front-deployment
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-front
|
||||
|
|
|
@ -2,10 +2,10 @@ kind: Service
|
|||
apiVersion: v1
|
||||
metadata:
|
||||
name: taiga-front
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-front
|
||||
namespace: default
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
|
|
|
@ -2,6 +2,7 @@ apiVersion: v1
|
|||
kind: ConfigMap
|
||||
metadata:
|
||||
name: taiga-gateway-configmap
|
||||
namespace: taiga
|
||||
data:
|
||||
default.conf: |
|
||||
server {
|
||||
|
|
|
@ -2,6 +2,7 @@ apiVersion: apps/v1
|
|||
kind: Deployment
|
||||
metadata:
|
||||
name: taiga-gateway-deployment
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-gateway
|
||||
|
|
|
@ -2,10 +2,10 @@ kind: Service
|
|||
apiVersion: v1
|
||||
metadata:
|
||||
name: taiga-gateway
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-gateway
|
||||
namespace: default
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
|
|
|
@ -2,6 +2,7 @@ apiVersion: apps/v1
|
|||
kind: Deployment
|
||||
metadata:
|
||||
name: taiga-protected-deployment
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-protected
|
||||
|
|
|
@ -2,10 +2,10 @@ kind: Service
|
|||
apiVersion: v1
|
||||
metadata:
|
||||
name: taiga-protected
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: c4k-taiga
|
||||
app.kubernetes.io/component: taiga-protected
|
||||
namespace: default
|
||||
spec:
|
||||
type: ClusterIP
|
||||
selector:
|
||||
|
|
|
@ -2,7 +2,7 @@ apiVersion: v1
|
|||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: taiga-media-data
|
||||
namespace: default
|
||||
namespace: taiga
|
||||
labels:
|
||||
app: taiga
|
||||
app.kubernetes.part-of: taiga
|
||||
|
|
|
@ -2,7 +2,7 @@ apiVersion: v1
|
|||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: taiga-static-data
|
||||
namespace: default
|
||||
namespace: taiga
|
||||
labels:
|
||||
app: taiga
|
||||
app.kubernetes.part-of: taiga
|
||||
|
|
|
@ -2,7 +2,7 @@ apiVersion: v1
|
|||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: taiga-async-rabbitmq-data
|
||||
namespace: default
|
||||
namespace: taiga
|
||||
labels:
|
||||
app: taiga
|
||||
app.kubernetes.part-of: taiga
|
||||
|
|
|
@ -2,7 +2,7 @@ apiVersion: v1
|
|||
kind: PersistentVolumeClaim
|
||||
metadata:
|
||||
name: taiga-events-rabbitmq-data
|
||||
namespace: default
|
||||
namespace: taiga
|
||||
labels:
|
||||
app: taiga
|
||||
app.kubernetes.part-of: taiga
|
||||
|
|
|
@ -2,6 +2,7 @@ apiVersion: v1
|
|||
kind: Secret
|
||||
metadata:
|
||||
name: taiga-secret
|
||||
namespace: taiga
|
||||
labels:
|
||||
app.kubernetes.part-of: taiga
|
||||
data:
|
||||
|
|
|
@ -1,23 +1,26 @@
|
|||
(ns dda.c4k-taiga.taiga-test
|
||||
(:require
|
||||
#?(:cljs [shadow.resource :as rc])
|
||||
#?(:cljs [dda.c4k-common.macros :refer-macros [inline-resources]])
|
||||
#?(:clj [clojure.test :refer [deftest is are testing run-tests]]
|
||||
:cljs [cljs.test :refer-macros [deftest is are testing run-tests]])
|
||||
[clojure.spec.alpha :as s]
|
||||
[clojure.spec.test.alpha :as st]
|
||||
[dda.c4k-common.yaml :as yaml]
|
||||
[dda.c4k-taiga.taiga :as cut]))
|
||||
|
||||
(st/instrument `cut/generate-configmap)
|
||||
(st/instrument `cut/generate-pvc-taiga-media-data)
|
||||
(st/instrument `cut/generate-rabbitmq-pvc-async)
|
||||
(st/instrument `cut/generate-rabbitmq-pvc-events)
|
||||
(st/instrument `cut/generate-secret)
|
||||
|
||||
#?(:cljs
|
||||
(defmethod yaml/load-resource :taiga-test [resource-name]
|
||||
(case resource-name
|
||||
"taiga-test/valid-config.yaml" (rc/inline "taiga-test/valid-config.yaml")
|
||||
"taiga-test/valid-auth.yaml" (rc/inline "taiga-test/valid-auth.yaml")
|
||||
(throw (js/Error. "Undefined Resource!")))))
|
||||
(defmethod yaml/load-resource :nextcloud-test [resource-name]
|
||||
(get (inline-resources "nextcloud-test") resource-name)))
|
||||
|
||||
(deftest should-generate-configmap
|
||||
(is (= {:apiVersion "v1",
|
||||
:kind "ConfigMap",
|
||||
:metadata {:name "taiga-configmap", :namespace "default"},
|
||||
:metadata {:name "taiga-configmap", :namespace "taiga"},
|
||||
:data
|
||||
{:ENABLE_TELEMETRY "false",
|
||||
:TAIGA_SITES_SCHEME "https",
|
||||
|
@ -39,20 +42,18 @@
|
|||
:kind "PersistentVolumeClaim",
|
||||
:metadata
|
||||
{:name "taiga-media-data",
|
||||
:namespace "default",
|
||||
:namespace "taiga"
|
||||
:labels {:app "taiga", :app.kubernetes.part-of "taiga"}},
|
||||
:spec
|
||||
{:storageClassName "local-path",
|
||||
:accessModes ["ReadWriteOnce"],
|
||||
:resources {:requests {:storage "2Gi"}}}}
|
||||
(cut/generate-pvc-taiga-media-data (yaml/load-as-edn "taiga-test/valid-config.yaml")))))
|
||||
|
||||
(deftest should-generate-pvc-taiga-static-data
|
||||
(cut/generate-pvc-taiga-media-data (yaml/load-as-edn "taiga-test/valid-config.yaml"))))
|
||||
(is (= {:apiVersion "v1",
|
||||
:kind "PersistentVolumeClaim",
|
||||
:metadata
|
||||
{:name "taiga-static-data",
|
||||
:namespace "default",
|
||||
:namespace "taiga"
|
||||
:labels {:app "taiga", :app.kubernetes.part-of "taiga"}},
|
||||
:spec
|
||||
{:storageClassName "local-path",
|
||||
|
@ -65,20 +66,20 @@
|
|||
:kind "PersistentVolumeClaim",
|
||||
:metadata
|
||||
{:name "taiga-async-rabbitmq-data",
|
||||
:namespace "default",
|
||||
:namespace "taiga"
|
||||
:labels {:app "taiga", :app.kubernetes.part-of "taiga"}},
|
||||
:spec
|
||||
{:storageClassName "local-path",
|
||||
:accessModes ["ReadWriteOnce"],
|
||||
:resources {:requests {:storage "4Gi"}}}}
|
||||
(cut/generate-rabbitmq-pvc-async(yaml/load-as-edn "taiga-test/valid-config.yaml")))))
|
||||
(cut/generate-rabbitmq-pvc-async (yaml/load-as-edn "taiga-test/valid-config.yaml")))))
|
||||
|
||||
(deftest should-generate-rabbitmq-pvc-events
|
||||
(is (= {:apiVersion "v1",
|
||||
:kind "PersistentVolumeClaim",
|
||||
:metadata
|
||||
{:name "taiga-events-rabbitmq-data",
|
||||
:namespace "default",
|
||||
:namespace "taiga"
|
||||
:labels {:app "taiga", :app.kubernetes.part-of "taiga"}},
|
||||
:spec
|
||||
{:storageClassName "local-path",
|
||||
|
@ -90,7 +91,7 @@
|
|||
(is (= {:apiVersion "v1",
|
||||
:kind "Secret",
|
||||
:metadata
|
||||
{:name "taiga-secret", :labels {:app.kubernetes.part-of "taiga"}},
|
||||
{:name "taiga-secret", :namespace "taiga" :labels {:app.kubernetes.part-of "taiga"}},
|
||||
:data
|
||||
{:TAIGA_SECRET_KEY "c29tZS1rZXk=",
|
||||
:EMAIL_HOST_USER "bWFpbGVyLXVzZXI=",
|
||||
|
|
Loading…
Add table
Reference in a new issue