77 lines
2.5 KiB
Clojure
77 lines
2.5 KiB
Clojure
(ns service-registries
|
|
(:require
|
|
[infra.init :as init]
|
|
[infra.openbao :as openbao]
|
|
[k8s.add-ons.csi-driver.hetzner :as hetzner-csi]
|
|
[infra.dns :as dns]
|
|
[infra.buildkit :as buildkit]
|
|
[k8s.preparers.harbor :as harbor-prepare]
|
|
|
|
[k8s.add-ons.ingress-controller.caddy :as caddy]
|
|
[k8s.add-ons.gateway.traefik :as traefik]
|
|
[k8s.add-ons.cert-manager :as cert-manager]
|
|
[k8s.add-ons.csi-driver.wasabi :as wasabi-csi]
|
|
[k8s.add-ons.image-registry.harbor :as harbor]
|
|
[k8s.add-ons.secret-replicator :as secret-replicator]
|
|
[k8s.add-ons.minio :as minio]
|
|
[k8s.add-ons.s3proxy :as s3proxy]
|
|
[k8s.add-ons.proxy :as proxy]
|
|
[k8s.services.nextcloud.service :as nextcloud-service]
|
|
[k8s.services.mesite.service :as mesite-service]
|
|
[k8s.services.gitea.service :as gitea-service]
|
|
[k8s.services.act-runner.service :as act-runner-service]
|
|
[k8s.services.foundryvtt.service :as foundryvtt-service]
|
|
[k8s.services.productive.service :as productive-service]))
|
|
|
|
(defn general-provider-output-refs []
|
|
{:vault {:stack :init
|
|
:outputs ["vaultAddress" "vaultToken"]}
|
|
:harbor {:stack :shared
|
|
:outputs ["username" "password" "url"]}
|
|
:k8s {:stack :base
|
|
:outputs ["kubeconfig"]}})
|
|
|
|
(defn create-resource-definition [resource-configs stack-references provider-external-inputs]
|
|
{:resource-configs resource-configs
|
|
:stack-references stack-references
|
|
:provider-external-inputs provider-external-inputs})
|
|
|
|
(def base-resources-definition
|
|
(create-resource-definition
|
|
[init/config]
|
|
nil
|
|
nil))
|
|
|
|
(def initialize-resources-definition
|
|
(create-resource-definition
|
|
[hetzner-csi/config openbao/config]
|
|
["base"]
|
|
{:k8s {:stack :base
|
|
:outputs ["kubeconfig"]}}
|
|
))
|
|
|
|
(def shared-resources-definition
|
|
(create-resource-definition
|
|
[dns/config wasabi-csi/config proxy/config secret-replicator/config
|
|
traefik/config cert-manager/config
|
|
harbor/config
|
|
]
|
|
["base" "init"]
|
|
(general-provider-output-refs)))
|
|
|
|
(def preparation-resources-definition
|
|
(create-resource-definition
|
|
[harbor-prepare/config]
|
|
["base" "init" "shared"]
|
|
(general-provider-output-refs)))
|
|
|
|
|
|
(def deployment-resources-definition
|
|
(create-resource-definition
|
|
[#_buildkit/config #_nextcloud-service/config #_foundryvtt-service/config mesite-service/config #_productive-service/config #_gitea-service/config #_act-runner-service/config]
|
|
["base" "init" "shared"]
|
|
(general-provider-output-refs)))
|
|
|
|
|
|
(def deployment-matrix-service-registry [])
|