diff options
Diffstat (limited to 'clarkzjw.cc/infra/dns.tf')
-rw-r--r-- | clarkzjw.cc/infra/dns.tf | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/clarkzjw.cc/infra/dns.tf b/clarkzjw.cc/infra/dns.tf new file mode 100644 index 0000000..d066f67 --- /dev/null +++ b/clarkzjw.cc/infra/dns.tf | |||
@@ -0,0 +1,72 @@ | |||
1 | # Cloudflare DNS records | ||
2 | |||
3 | # www | ||
4 | variable "homelab_www_domain" { | ||
5 | default = "clarkzjw.cc" | ||
6 | } | ||
7 | |||
8 | variable "homelab_www_ip" { | ||
9 | default = "8.8.8.8" | ||
10 | } | ||
11 | |||
12 | resource "cloudflare_record" "main" { | ||
13 | zone_id = data.cloudflare_zones.homelab_main_domain.zones[0].id | ||
14 | name = var.homelab_www_domain | ||
15 | value = var.homelab_www_ip | ||
16 | type = "A" | ||
17 | |||
18 | ttl = 1 | ||
19 | proxied = true | ||
20 | } | ||
21 | |||
22 | # bt | ||
23 | resource "cloudflare_record" "bt" { | ||
24 | zone_id = data.cloudflare_zones.homelab_main_domain.zones[0].id | ||
25 | name = "bt.${var.homelab_main_domain}" | ||
26 | value = "${cloudflare_argo_tunnel.atlas_main_tunnel.id}.cfargotunnel.com" | ||
27 | type = "CNAME" | ||
28 | proxied = true | ||
29 | } | ||
30 | |||
31 | # notify | ||
32 | # DNS config for Mailgun | ||
33 | resource "cloudflare_record" "notify_SPF" { | ||
34 | zone_id = data.cloudflare_zones.homelab_main_domain.zones[0].id | ||
35 | # type = "SPF" causes DNS Validation Error (1004) | ||
36 | # https://github.com/cloudflare/terraform-provider-cloudflare/issues/1473 | ||
37 | type = "TXT" | ||
38 | name = "notify.${var.homelab_main_domain}" | ||
39 | value = "v=spf1 include:mailgun.org ~all" | ||
40 | |||
41 | ttl = 1 | ||
42 | } | ||
43 | |||
44 | resource "cloudflare_record" "notify_DKIM" { | ||
45 | name = "pic._domainkey.notify.${var.homelab_main_domain}" | ||
46 | type = "TXT" | ||
47 | zone_id = data.cloudflare_zones.homelab_main_domain.zones[0].id | ||
48 | value = var.homelab_notify_DKIM | ||
49 | } | ||
50 | |||
51 | resource "cloudflare_record" "notify_CNAME" { | ||
52 | name = "email.notify.${var.homelab_main_domain}" | ||
53 | type = "CNAME" | ||
54 | zone_id = data.cloudflare_zones.homelab_main_domain.zones[0].id | ||
55 | value = "mailgun.org" | ||
56 | } | ||
57 | |||
58 | resource "cloudflare_record" "notify_MX_a" { | ||
59 | name = "notify.${var.homelab_main_domain}" | ||
60 | type = "MX" | ||
61 | zone_id = data.cloudflare_zones.homelab_main_domain.zones[0].id | ||
62 | value = "mxa.mailgun.org" | ||
63 | priority = 10 | ||
64 | } | ||
65 | |||
66 | resource "cloudflare_record" "notify_MX_b" { | ||
67 | name = "notify.${var.homelab_main_domain}" | ||
68 | type = "MX" | ||
69 | zone_id = data.cloudflare_zones.homelab_main_domain.zones[0].id | ||
70 | value = "mxb.mailgun.org" | ||
71 | priority = 10 | ||
72 | } | ||