From 71610d21b3f7cd6f9360fece5b23efd8d8325883 Mon Sep 17 00:00:00 2001 From: GigiaJ Date: Fri, 26 Sep 2025 00:34:34 -0500 Subject: [PATCH] Add dns.cljs --- iac/src/main/infra/dns.cljs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 iac/src/main/infra/dns.cljs diff --git a/iac/src/main/infra/dns.cljs b/iac/src/main/infra/dns.cljs new file mode 100644 index 0000000..0b14fa2 --- /dev/null +++ b/iac/src/main/infra/dns.cljs @@ -0,0 +1,22 @@ +(ns dns + (:require + ["@pulumi/pulumi" :as pulumi] + ["@pulumi/vault" :as vault] + ["@pulumi/cloudflare" :as cloudflare])) + +(defn setup-dns [zone-id vault-provider] + (let [dns-secrets (.getSecret (.-generic vault) + (clj->js {:path "secret/dns-entries"}) + (clj->js {:provider vault-provider})) + dns-entries-map (.-dataJson dns-secrets) + ] + (pulumi/all [dns-entries-map] + (fn [[entries]] + (doall + (for [[name ip] entries] + (new cloudflare/Record (str "dns-record-" name) + (clj->js {:zoneId zone-id + :name name + :value ip + :type "A" ;; Need to check the IP and determine if we should use AAAA or A + :ttl 300})))))))) \ No newline at end of file