infra/terraform/gmem.ca.tf

102 lines
2.5 KiB
HCL

resource "aws_route53_zone" "gmemca" {
name = "gmem.ca"
}
resource "aws_route53_record" "hb" {
zone_id = aws_route53_zone.gmemca.zone_id
name = "hb"
type = "A"
ttl = 300
records = ["100.120.232.77"]
}
resource "aws_route53_record" "freshrss" {
zone_id = aws_route53_zone.gmemca.zone_id
name = "freshrss"
type = "A"
ttl = 300
records = ["100.120.232.77"]
}
resource "aws_route53_record" "ntfy" {
zone_id = aws_route53_zone.gmemca.zone_id
name = "ntfy"
type = "A"
ttl = 300
records = ["100.120.232.77"]
}
resource "aws_route53_record" "dref" {
zone_id = aws_route53_zone.gmemca.zone_id
name = "dref"
type = "A"
ttl = 300
records = ["100.120.232.77"]
}
resource "aws_route53_record" "api-by-becki" {
zone_id = aws_route53_zone.gmemca.zone_id
name = "abb"
type = "A"
ttl = 300
records = ["168.119.154.189"]
}
resource "aws_route53_record" "api-by-becki-primary" {
zone_id = aws_route53_zone.gmemca.zone_id
name = "api-by-becki"
type = "A"
alias {
name = aws_cloudfront_distribution.api-by-becki.domain_name
zone_id = aws_cloudfront_distribution.api-by-becki.hosted_zone_id
evaluate_target_health = false
}
}
resource "aws_route53_record" "api-by-becki-acm" {
for_each = {
for dvo in aws_acm_certificate.api-artbybecki-com.domain_validation_options : dvo.domain_name => {
name = dvo.resource_record_name
record = dvo.resource_record_value
type = dvo.resource_record_type
}
}
allow_overwrite = true
name = each.value.name
records = [each.value.record]
ttl = 60
type = each.value.type
zone_id = aws_route53_zone.gmemca.zone_id
}
resource "aws_route53_record" "gmem-ca-mx" {
zone_id = aws_route53_zone.gmemca.zone_id
name = "gmem.ca"
type = "MX"
records = ["10 in1-smtp.messagingengine.com", "20 in2-smtp.messagingengine.com"]
ttl = 300
}
resource "aws_route53_record" "gmem-ca-mail-cname" {
for_each = {
"fm1._domainkey" = "fm1.gmem.ca.dkim.fmhosted.com"
"fm2._domainkey" = "fm2.gmem.ca.dkim.fmhosted.com"
"fm3._domainkey" = "fm3.gmem.ca.dkim.fmhosted.com"
}
zone_id = aws_route53_zone.gmemca.zone_id
name = each.key
records = [each.value]
type = "CNAME"
ttl = 300
}
resource "aws_route53_record" "gmem-ca-mail-txt" {
zone_id = aws_route53_zone.gmemca.zone_id
name = "gmem.ca"
type = "TXT"
records = ["v=spf1 include:spf.messagingengine.com ?all"]
ttl = 300
}