Files
hurricane/cloudflare/zones/ztariq/main.tf

84 lines
3.4 KiB
Terraform
Raw Normal View History

2026-02-12 17:26:28 +00:00
terraform {
required_providers {
cloudflare = {
source = "cloudflare/cloudflare"
version = "~> 5"
}
}
}
provider "cloudflare" {
api_token = var.cloudflare_apitoken
}
locals {
ztariq_records = {
# --- A Records ---
beszel = { name = "beszel", type = "A", content = "198.23.169.195", ttl = 1, proxied = true }
ca = { name = "ca", type = "A", content = "154.12.117.17", ttl = 1, proxied = false }
nc = { name = "nc", type = "A", content = "154.12.117.17", ttl = 1, proxied = false }
nl = { name = "nl", type = "A", content = "62.84.172.70", ttl = 1, proxied = false }
reg = { name = "reg", type = "A", content = "154.12.117.17", ttl = 1, proxied = false }
tea = { name = "tea", type = "A", content = "198.23.169.195", ttl = 1, proxied = false }
uk = { name = "uk", type = "A", content = "185.139.7.37", ttl = 1, proxied = false }
uk2 = { name = "uk2", type = "A", content = "154.41.135.47", ttl = 1, proxied = false }
uptime = { name = "uptime", type = "A", content = "198.23.169.195", ttl = 1, proxied = true }
us = { name = "us", type = "A", content = "198.23.169.195", ttl = 1, proxied = false }
root_a = { name = "@", type = "A", content = "185.139.7.37", ttl = 1, proxied = true }
# --- AAAA Records ---
nl_aaaa = { name = "nl", type = "AAAA", content = "2a12:bec4:1821:f0::a", ttl = 1, proxied = false }
root_uk_aaaa = { name = "@", type = "AAAA", content = "2a12:ab46:5344:fd::a", ttl = 1, proxied = true }
root_uk_uk = { name = "uk", type = "AAAA", content = "2a12:ab46:5344:fd::a", ttl = 1, proxied = false }
# --- CNAME Records ---
autodiscover = { name = "autodiscover", type = "CNAME", content = "eu1.workspace.org.", ttl = 360, proxied = false }
mail = { name = "mail", type = "CNAME", content = "eu1.workspace.org.", ttl = 360, proxied = false }
# --- MX Records ---
mx_root = { name = "@", type = "MX", content = "eu1.workspace.org.", priority = 10, ttl = 360 }
# --- TXT Records ---
dmarc = {
name = "_dmarc"
type = "TXT"
content = "v=DMARC1; p=quarantine; rua=mailto:postmaster@ztariq.com; ruf=mailto:postmaster@ztariq.com; fo=1; adkim=s; aspf=s"
ttl = 3600
}
dkim = {
name = "nd8ddf6995beebee4._domainkey"
type = "TXT"
content = "v=DKIM1; k=rsa; h=sha256; p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAoi3yX1W5V6a9QbEXo00k9JCZ8Vew5rQEanHLIY0cOxCauAIZZIrhQsexZ0j45EFVtfMrBHeddUtolVSSDHvvJg49HzJqWsKOsN061uBgmdN69JEtzme04pRmz/7H+3Y0QDUSYDd+ffYzWaouplFqGuhYkQ5QG2J1JzofcetuAkQICIgWStcOO+av5WoyTdxfqsY64d/XFP4PZJJHX0XA1P2YaSuyNF5c7nv/+a9A6F5+OrgZhFNNWjUurkKKhFzhbR82BUPTXVuG3EI5wSQcIYjhXgINagsmvVyPL1XP584qtnq0ScGysSkh0T3Vhg/Kob9eHX1du7mZj7G0z3PHmwIDAQAB"
ttl = 360
}
workspace_verification = {
name = "workspace-verification"
type = "TXT"
content = "f23716dd-2ad6-4dd4-8867-112e3c4c318d"
ttl = 360
}
spf = {
name = "@"
type = "TXT"
content = "v=spf1 include:_spf.workspace.org -all"
ttl = 360
}
}
}
resource "cloudflare_dns_record" "ztariq" {
for_each = local.ztariq_records
zone_id = var.zone_id
name = each.value.name
type = each.value.type
content = each.value.content
ttl = each.value.ttl
proxied = lookup(each.value, "proxied", null)
priority = lookup(each.value, "priority", null)
lifecycle {
prevent_destroy = false
}
}