Full end to end execution is now working
This commit is contained in:
@@ -15,48 +15,55 @@
|
|||||||
:workDir "/home/jaggar/dotfiles/iac"
|
:workDir "/home/jaggar/dotfiles/iac"
|
||||||
:program base/quick-deploy}))
|
:program base/quick-deploy}))
|
||||||
|
|
||||||
|
(def deployment-stack (clj->js {:projectName "hetzner-k3s"
|
||||||
|
:stackName "cluster"
|
||||||
|
:workDir "/home/jaggar/dotfiles/iac"
|
||||||
|
:program deployments/quick-deploy}))
|
||||||
|
|
||||||
(defn run []
|
(defn run []
|
||||||
(p/let [
|
(p/let [_ (println "Deploying cluster")
|
||||||
_ (println "Deploying cluster")
|
|
||||||
core-stack (.createOrSelectStack pulumi-auto/LocalWorkspace
|
core-stack (.createOrSelectStack pulumi-auto/LocalWorkspace
|
||||||
init-stack)
|
init-stack)
|
||||||
_ (.setConfig core-stack "hetzner-k3s:sshKeyName" #js {:value (-> cfg :sshKeyName) :secret false})
|
_ (.setConfig core-stack "hetzner-k3s:sshKeyName" #js {:value (-> cfg :sshKeyName) :secret false})
|
||||||
_ (.setConfig core-stack "hetzner-k3s:sshPersonalKeyName" #js {:value (-> cfg :sshPersonalKeyName) :secret false})
|
_ (.setConfig core-stack "hetzner-k3s:sshPersonalKeyName" #js {:value (-> cfg :sshPersonalKeyName) :secret false})
|
||||||
_ (.setConfig core-stack "hcloud:token" #js {:value (-> cfg :hcloudToken) :secret true})
|
_ (.setConfig core-stack "hcloud:token" #js {:value (-> cfg :hcloudToken) :secret true})
|
||||||
_ (.setConfig core-stack "hetzner-k3s:privateKeySsh" #js {:value (-> cfg :privateKeySsh) :secret true})
|
_ (.setConfig core-stack "hetzner-k3s:privateKeySsh" #js {:value (-> cfg :privateKeySsh) :secret true})
|
||||||
_ (println "Check1?")
|
_ (println "Check1?")
|
||||||
up-result (.up core-stack #js {:onOutput println})
|
core-result (.up core-stack #js {:onOutput println})
|
||||||
_ (println "Check2?")
|
_ (println "Check2?")
|
||||||
|
|
||||||
outputs (.outputs core-stack)
|
core-outputs (.outputs core-stack)
|
||||||
_ (println outputs)
|
vault-address (-> core-outputs (aget "vaultAddress") (.-value))
|
||||||
;; service-name (-> outputs (aget "serviceName") (aget "value"))
|
vault-token (-> core-outputs (aget "vaultToken") (.-value))
|
||||||
;; namespace (-> outputs (aget "namespace") (aget "value"))
|
kubeconfig (-> core-outputs (aget "kubeconfig") (.-value))
|
||||||
;; _ (println (str "-> Service Name: " service-name ", Namespace: " namespace))
|
|
||||||
|
|
||||||
;; Start port-forward
|
_ (println core-outputs)
|
||||||
;; _ (println "Starting kubectl port-forward...")
|
port-forward (cp/spawn "kubectl"
|
||||||
;;port-forward (cp/spawn "kubectl"
|
#js ["--kubeconfig=kubeconfig.yaml"
|
||||||
;; #js ["port-forward"
|
"port-forward"
|
||||||
;; (str "svc/" service-name)
|
"svc/openbao"
|
||||||
;; "8080:80"
|
"8200:8200"
|
||||||
;; "-n"
|
"-n"
|
||||||
;; namespace])
|
"vault"])
|
||||||
;; _ (p/delay 3000)
|
|
||||||
|
|
||||||
;; Deploy Stack B
|
_ (println "WE ARE PORTFORWARDED ONLY IN THEORY")
|
||||||
;; _ (println "Deploying application stack")
|
|
||||||
;;app-stack (p/await (pulumi-auto/LocalWorkspace.createOrSelectStack
|
_ (p/delay 2000)
|
||||||
;; #js {:stackName "hetzner-k3s-cluster"
|
app-stack (.createOrSelectStack pulumi-auto/LocalWorkspace
|
||||||
;; :projectName ""
|
deployment-stack)
|
||||||
;; :program #(p/promise (deployments/deploy-services))}))
|
_ (.setConfig app-stack "hetzner-k3s:sshKeyName" #js {:value (-> cfg :sshKeyName) :secret false})
|
||||||
;; _ (p/await (.preview app-stack))
|
_ (.setConfig app-stack "hetzner-k3s:sshPersonalKeyName" #js {:value (-> cfg :sshPersonalKeyName) :secret false})
|
||||||
;; _ (println "Application stack deployment complete.")
|
_ (.setConfig app-stack "hcloud:token" #js {:value (-> cfg :hcloudToken) :secret true})
|
||||||
|
_ (.setConfig app-stack "hetzner-k3s:privateKeySsh" #js {:value (-> cfg :privateKeySsh) :secret true})
|
||||||
;; Clean up
|
_ (.setConfig app-stack "kubeconfig" #js {:value kubeconfig :secret true})
|
||||||
;;_ (.kill port-forward)
|
_ (.setConfig app-stack "vault:token" #js {:value vault-token :secret true})
|
||||||
;; _ (println "Cleaned up port-forward process.")
|
_ (.setConfig app-stack "vault:address" #js {:value vault-address :secret true})
|
||||||
]
|
|
||||||
|
app-result (.up app-stack #js {:onOutput println})
|
||||||
|
|
||||||
|
app-outputs (.outputs app-stack)
|
||||||
|
_ (println app-outputs)
|
||||||
|
_ (.kill port-forward)]
|
||||||
|
|
||||||
;; This final value is returned when the p/let chain completes
|
;; This final value is returned when the p/let chain completes
|
||||||
"All stacks deployed and cleaned up successfully."))
|
"All stacks deployed and cleaned up successfully."))
|
||||||
|
|||||||
Reference in New Issue
Block a user