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