diff --git a/iac/src/main/k8s/add_ons/csi_driver/hetzner.cljs b/iac/src/main/k8s/add_ons/csi_driver/hetzner.cljs index 5552c48..e11f7ab 100644 --- a/iac/src/main/k8s/add_ons/csi_driver/hetzner.cljs +++ b/iac/src/main/k8s/add_ons/csi_driver/hetzner.cljs @@ -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"}) \ No newline at end of file