Add a third stack

This commit is contained in:
2025-10-07 22:26:25 -05:00
parent ec369a9fd3
commit 7ecc53bb2e

View File

@@ -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})