orchestration.clouds/ahoskingit/terraform/dns_ahoskingit.tf
2021-11-18 10:51:36 -05:00

263 lines
7.8 KiB
HCL

#Terraform and its management of DNS in route53
#Setup the domain in route53
resource "cloudflare_zone" "ahoskingit_com" {
zone = "ahoskingit.com"
plan = "free"
}
resource "cloudflare_record" "ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "ahoskingit.com"
type = "A"
ttl = "1"
value = var.site5_ip
proxied = "true"
}
resource "cloudflare_record" "ahoskingit_www" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "www"
type = "CNAME"
value = cloudflare_record.ahoskingit.name
proxied = "true"
}
resource "cloudflare_record" "ahoskingit_influx" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "influx"
type = "CNAME"
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
proxied = "true"
}
#resource "cloudflare_record" "ahoskingit_wildcard" {
# domain = "ahoskingit.com"
# name = "*"
# type = "A"
# value = var.home_ip
# proxied = "true" #A records cannot be proxied if wildcard
#}
resource "cloudflare_record" "ahoskingit_plex" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "plex.ahoskingit.com"
type = "CNAME"
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
proxied = "true"
}
resource "cloudflare_record" "ahoskingit_recipes" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "recipes.ahoskingit.com"
type = "CNAME"
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
proxied = "true"
}
resource "cloudflare_record" "ahoskingit_food" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "food.ahoskingit.com"
type = "CNAME"
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
proxied = "true"
}
resource "cloudflare_record" "ahoskingit_jumbledev" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "jumbledev.ahoskingit.com"
type = "CNAME"
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
proxied = "true"
}
resource "cloudflare_record" "home_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "home"
type = "A"
value = var.home_ip
proxied = "true"
}
### Home Subdomains ###
resource "cloudflare_record" "smart_home_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "smart"
type = "CNAME"
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
proxied = "true"
}
resource "cloudflare_record" "temps_home_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "temperatures"
type = "CNAME"
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
# value = var.home_ip
proxied = "true"
}
### END Home Subdomains ###
resource "cloudflare_record" "kfa_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "kfa"
type = "A"
value = var.kfa_ip
}
resource "cloudflare_record" "lab_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "lab"
type = "CNAME"
proxied = true
value = join(".", [cloudflare_record.kfa_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
}
resource "cloudflare_record" "logs_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "logs"
type = "A"
proxied = true
value = var.home_ip
}
resource "cloudflare_record" "inventory_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "inventory"
type = "CNAME"
proxied = true
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
}
# resource "cloudflare_record" "requests_plex_ahoskingit" {
# zone_id = cloudflare_zone.ahoskingit_com
# name = "requests.plex"
# type = "CNAME"
# proxied = true
# value = "cloudflare_record.home_ahoskingit.name"
# }
resource "cloudflare_record" "ns1_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "ns1"
type = "CNAME"
proxied = true
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
}
resource "cloudflare_record" "docs_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "docs"
type = "CNAME"
proxied = true
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
}
resource "cloudflare_record" "cloud_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "cloud"
type = "CNAME"
proxied = true
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
}
resource "cloudflare_record" "goals_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "goals"
type = "CNAME"
proxied = true
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
}
resource "cloudflare_record" "office_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "office"
type = "CNAME"
proxied = true
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
}
resource "cloudflare_record" "support_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "support"
type = "CNAME"
proxied = true
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
}
resource "cloudflare_record" "git_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "git"
type = "CNAME"
proxied = "true"
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
}
resource "cloudflare_record" "gitlab_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "gitlab"
type = "CNAME"
proxied = true
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
}
resource "cloudflare_record" "monitors_ahoskingit" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "monitors"
type = "CNAME"
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
proxied = true
}
# email MX records for DNS
resource "cloudflare_record" "ahoskingit_com_mx" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = cloudflare_zone.ahoskingit_com.zone
type = "MX"
value = "aspmx.l.google.com"
priority = 1
}
resource "cloudflare_record" "ahoskingit_com_mx1" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = cloudflare_zone.ahoskingit_com.zone
type = "MX"
value = "alt1.aspmx.l.google.com"
priority = 5
}
resource "cloudflare_record" "ahoskingit_com_mx2" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = cloudflare_zone.ahoskingit_com.zone
type = "MX"
value = "alt2.aspmx.l.google.com"
priority = 5
}
resource "cloudflare_record" "ahoskingit_com_mx3" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = cloudflare_zone.ahoskingit_com.zone
type = "MX"
value = "alt3.aspmx.l.google.com"
priority = 10
}
resource "cloudflare_record" "ahoskingit_com_mx4" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = cloudflare_zone.ahoskingit_com.zone
type = "MX"
value = "alt4.aspmx.l.google.com"
priority = 10
}
resource "cloudflare_record" "ahoskingit_com_txt" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = cloudflare_zone.ahoskingit_com.zone
type = "TXT"
ttl = 120
value = "google-site-verification=8-QKnBQElI58gnygDWcCzvDGRh31c_bFmNMaSd0fCwE"
}
resource "cloudflare_record" "ahoskingit_house" {
zone_id = cloudflare_zone.ahoskingit_com.id
name = "house.ahoskingit.com"
type = "CNAME"
value = join(".", [cloudflare_record.home_ahoskingit.name, cloudflare_zone.ahoskingit_com.zone])
proxied = "true"
}