Add dns.cljs
This commit is contained in:
22
iac/src/main/infra/dns.cljs
Normal file
22
iac/src/main/infra/dns.cljs
Normal file
@@ -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}))))))))
|
||||||
Reference in New Issue
Block a user