At long last transformer for YAML manipulation and Pulumi output interop is working

This commit is contained in:
2025-10-05 05:01:21 -05:00
parent 8ad1d116c8
commit 8a75f5c67d

View File

@@ -1,8 +1,6 @@
(ns k8s.services.nextcloud.service (ns k8s.services.nextcloud.service
(:require (:require
["@pulumi/pulumi" :as pulumi] [utils.k8s :refer [ make-transformer deploy-stack]]))
[utils.vault :as vault-utils]
[utils.k8s :as k8s-utils]))
(defn- add-skip-await-transformation [args _opts] (defn- add-skip-await-transformation [args _opts]
(let [kind (get-in args [:resource :kind])] (let [kind (get-in args [:resource :kind])]
@@ -11,17 +9,18 @@
#(assoc (or % {}) "pulumi.com/skipAwait" "true")) #(assoc (or % {}) "pulumi.com/skipAwait" "true"))
args))) args)))
(defn deploy (defn deploy
"Deploy Nextcloud using direct vault connection info." "Deploy Nextcloud using direct vault connection info."
[provider vault-provider] [provider vault-provider]
(let [nextcloud-values-transformer (fn [{:keys [base-values hostname app-name]}] (let [nextcloud-values-transformer
(-> base-values (make-transformer
(assoc-in [:ingress :enabled] false) (fn [{:keys [app-name secrets]}]
(assoc-in [:nextcloud :host] hostname) (let [{:keys [host]} secrets]
(assoc-in [:nextcloud :trusted_domains] [hostname app-name]))) [[["nextcloud" "host"] host]
stack (k8s-utils/deploy-stack [["nextcloud" "trustedDomains"] [host app-name]]])))
:namespace :vault-secrets :hostname :chart :ingress
stack (deploy-stack
:namespace :vault-secrets :helm-fn :chart :ingress
{:provider provider {:provider provider
:vault-provider vault-provider :vault-provider vault-provider
:app-namespace "nextcloud" :app-namespace "nextcloud"