263 lines
7.8 KiB
HCL
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 = "A"
|
|
value = var.home_ip
|
|
proxied = "true"
|
|
}
|
|
|
|
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"
|
|
}
|