Swap to config impl w/ exec-fn
This commit is contained in:
@@ -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"})
|
||||
Reference in New Issue
Block a user