Add a third stack
This commit is contained in:
@@ -6,19 +6,23 @@
|
|||||||
[promesa.core :as p]
|
[promesa.core :as p]
|
||||||
[base :as base]
|
[base :as base]
|
||||||
[configs :refer [cfg]]
|
[configs :refer [cfg]]
|
||||||
[k8s.services.nextcloud.service :as nextcloud]
|
|
||||||
[deployments :as deployments]))
|
[deployments :as deployments]))
|
||||||
|
|
||||||
|
|
||||||
(def init-stack (clj->js {:projectName "hetzner-k3s"
|
(def init-stack (clj->js {:projectName "hetzner-k3s"
|
||||||
:stackName "init"
|
:stackName "init"
|
||||||
:workDir "/home/jaggar/dotfiles/iac"
|
:workDir "/home/jaggar/dotfiles/iac"
|
||||||
:program base/quick-deploy}))
|
:program base/quick-deploy-base}))
|
||||||
|
|
||||||
|
(def shared-platform-stack (clj->js {:projectName "hetzner-k3s"
|
||||||
|
:stackName "shared"
|
||||||
|
:workDir "/home/jaggar/dotfiles/iac"
|
||||||
|
:program deployments/quick-deploy-shared}))
|
||||||
|
|
||||||
(def deployment-stack (clj->js {:projectName "hetzner-k3s"
|
(def deployment-stack (clj->js {:projectName "hetzner-k3s"
|
||||||
:stackName "deployment"
|
:stackName "deployment"
|
||||||
:workDir "/home/jaggar/dotfiles/iac"
|
:workDir "/home/jaggar/dotfiles/iac"
|
||||||
:program deployments/quick-deploy}))
|
:program deployments/quick-deploy-services}))
|
||||||
|
|
||||||
(defn run []
|
(defn run []
|
||||||
(p/let [_ (println "Deploying cluster")
|
(p/let [_ (println "Deploying cluster")
|
||||||
@@ -56,12 +60,26 @@
|
|||||||
"vault"])
|
"vault"])
|
||||||
|
|
||||||
_ (p/delay 2000)
|
_ (p/delay 2000)
|
||||||
|
shared-stack (.createOrSelectStack pulumi-auto/LocalWorkspace
|
||||||
|
shared-platform-stack)
|
||||||
|
_ (.setConfig shared-stack "hetzner-k3s:sshKeyName" #js {:value (-> cfg :sshKeyName) :secret false})
|
||||||
|
_ (.setConfig shared-stack "hetzner-k3s:sshPersonalKeyName" #js {:value (-> cfg :sshPersonalKeyName) :secret false})
|
||||||
|
_ (.setConfig shared-stack "hcloud:token" #js {:value (-> cfg :hcloudToken) :secret true})
|
||||||
|
_ (.setConfig shared-stack "kubeconfig" #js {:value kubeconfig :secret true})
|
||||||
|
_ (.setConfig shared-stack "vault:token" #js {:value vault-token :secret true})
|
||||||
|
_ (.setConfig shared-stack "vault:address" #js {:value vault-address :secret true})
|
||||||
|
_ (.setConfig shared-stack "hetzner-k3s:apiToken" #js {:value (-> cfg :apiToken) :secret true})
|
||||||
|
|
||||||
|
shared-results (.up shared-stack #js {:onOutput println})
|
||||||
|
shared-outputs (.outputs shared-stack)
|
||||||
|
_ (println shared-outputs)
|
||||||
|
|
||||||
|
_ (p/delay 3000)
|
||||||
|
|
||||||
app-stack (.createOrSelectStack pulumi-auto/LocalWorkspace
|
app-stack (.createOrSelectStack pulumi-auto/LocalWorkspace
|
||||||
deployment-stack)
|
deployment-stack)
|
||||||
_ (.setConfig app-stack "hetzner-k3s:sshKeyName" #js {:value (-> cfg :sshKeyName) :secret false})
|
_ (.setConfig app-stack "hetzner-k3s:sshKeyName" #js {:value (-> cfg :sshKeyName) :secret false})
|
||||||
_ (.setConfig app-stack "hetzner-k3s:sshPersonalKeyName" #js {:value (-> cfg :sshPersonalKeyName) :secret false})
|
_ (.setConfig app-stack "hetzner-k3s:sshPersonalKeyName" #js {:value (-> cfg :sshPersonalKeyName) :secret false})
|
||||||
_ (.setConfig app-stack "hcloud:token" #js {:value (-> cfg :hcloudToken) :secret true})
|
|
||||||
_ (.setConfig app-stack "hetzner-k3s:privateKeySsh" #js {:value (-> cfg :privateKeySsh) :secret true})
|
_ (.setConfig app-stack "hetzner-k3s:privateKeySsh" #js {:value (-> cfg :privateKeySsh) :secret true})
|
||||||
_ (.setConfig app-stack "kubeconfig" #js {:value kubeconfig :secret true})
|
_ (.setConfig app-stack "kubeconfig" #js {:value kubeconfig :secret true})
|
||||||
_ (.setConfig app-stack "vault:token" #js {:value vault-token :secret true})
|
_ (.setConfig app-stack "vault:token" #js {:value vault-token :secret true})
|
||||||
|
|||||||
Reference in New Issue
Block a user