Swap to config impl w/ exec-fn

This commit is contained in:
2025-10-07 22:24:11 -05:00
parent d591aa3718
commit b5135bc726

View File

@@ -1,32 +1,26 @@
(ns k8s.add-ons.csi-driver.hetzner
(:require ["@pulumi/pulumi" :as pulumi]
["@pulumi/kubernetes" :as k8s]))
(ns k8s.add-ons.csi-driver.hetzner
(:require
["@pulumi/kubernetes" :as k8s]
["@pulumi/pulumi" :as pulumi]))
(defn deploy [provider]
(let [hcloud-config (pulumi/Config. "hcloud")
hcloud-token (.requireSecret hcloud-config "token")
core-v1 (.. k8s -core -v1)
helm-v3 (.. k8s -helm -v3)
(defn execute-fn [{:keys [provider]}]
(let [hcloud-config (pulumi/Config. "hcloud")
hcloud-token (.requireSecret hcloud-config "token")
csi-secret (new (.. k8s -core -v1 -Secret)
"hcloud-csi-secret"
(clj->js {:metadata {:name "hcloud"
:namespace "kube-system"}
:stringData {:token hcloud-token}})
#js {:provider provider})]
csi-secret))
csi-secret (core-v1.Secret.
"hcloud-csi-secret"
(clj->js {:metadata {:name "hcloud"
:namespace "kube-system"}
:stringData {:token hcloud-token}})
#js {:provider provider})
secret-name (-> csi-secret .-metadata .-name)
csi-chart (helm-v3.Chart.
"hcloud-csi"
(clj->js {:chart "hcloud-csi"
:fetchOpts {:repo "https://charts.hetzner.cloud"}
:namespace "kube-system"
:values {:controller
{:secret {:enabled false}
:existingSecret {:name secret-name}}
:node
{:existingSecret {:name secret-name}}}})
(clj->js {:provider provider
:dependsOn [csi-secret]}))]
csi-chart))
(def config
{:stack [:execute :chart]
:app-namespace "kube-system"
:app-name "hcloud-csi"
:helm-values-fn #(clj->js {:controller {:enabled false
:existingSecret {:name "hcloud-csi-secret"}
:node {:existingSecret {:name "hcloud-csi-secret"}}}})
:vault-load-yaml false
:exec-fn execute-fn
:chart-repo "https://charts.hetzner.cloud"})