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