infra/terraform/artbybecki.com.tf

132 lines
3.5 KiB
HCL

resource "vercel_project" "artbybecki-vercel" {
name = "art-by-becki"
framework = "sveltekit"
git_repository = {
type = "github"
repo = "gmemstr/artbybecki.com"
}
}
resource "vercel_project_domain" "artbybecki-vercel-domain" {
project_id = vercel_project.artbybecki-vercel.id
domain = "artbybecki.com"
}
resource "vercel_project" "admin-artbybecki-vercel" {
name = "admin-art-by-becki"
framework = "sveltekit"
git_repository = {
type = "github"
repo = "gmemstr/admin.artbybecki.com"
}
}
resource "vercel_project_domain" "admin-artbybecki-vercel-domain" {
project_id = vercel_project.admin-artbybecki-vercel.id
domain = "admin.artbybecki.com"
}
resource "cloudflare_record" "api-artbybecki-com" {
name = "api"
type = "CNAME"
value = aws_cloudfront_distribution.api-by-becki.domain_name
zone_id = "d3da3f1507724ea3fc4353ef9cf65569"
proxied = false
}
resource "cloudflare_record" "api-artbybecki-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
}
}
name = each.value.name
value = each.value.record
ttl = 60
type = each.value.type
zone_id = "d3da3f1507724ea3fc4353ef9cf65569"
}
# Disabled until domain is migrated to AWS.
# resource "aws_route53_zone" "artbybeckicom" {
# name = "artbybecki.com"
# }
# resource "aws_route53_record" "artbybeckicom-a" {
# zone_id = aws_route53_zone.artbybeckicom.zone_id
# name = "artbybecki.com"
# type = "A"
# ttl = 300
# records = ["76.76.21.21"]
# }
# resource "aws_route53_record" "artbybeckicom-api" {
# zone_id = aws_route53_zone.artbybeckicom.zone_id
# name = "api"
# type = "A"
# ttl = 300
# records = ["37.16.0.82"]
# }
# resource "aws_route53_record" "artbybeckicom-api-6" {
# zone_id = aws_route53_zone.artbybeckicom.zone_id
# name = "api"
# type = "AAAA"
# ttl = 300
# records = ["2a09:8280:1::6:39f8"]
# }
# resource "aws_route53_record" "artbybeckicom-api-verification" {
# zone_id = aws_route53_zone.artbybeckicom.zone_id
# name = "_acme-challenge.api"
# type = "CNAME"
# ttl = 300
# records = ["api.artbybecki.com.wzq08.flydns.net."]
# }
# resource "aws_route53_record" "artbybeckicom-world" {
# zone_id = aws_route53_zone.artbybeckicom.zone_id
# name = "world"
# type = "A"
# ttl = 300
# records = ["37.16.0.82"]
# }
# resource "aws_route53_record" "artbybeckicom-world-6" {
# zone_id = aws_route53_zone.artbybeckicom.zone_id
# name = "world"
# type = "AAAA"
# ttl = 300
# records = ["2a09:8280:1::6:39f8"]
# }
# resource "aws_route53_record" "artbybeckicom-world-verification" {
# zone_id = aws_route53_zone.artbybeckicom.zone_id
# name = "_acme-challenge.world"
# type = "CNAME"
# ttl = 300
# records = ["world.artbybecki.com.wzq08.flydns.net."]
# }
# resource "aws_route53_record" "artbybeckicom-images" {
# zone_id = aws_route53_zone.artbybeckicom.zone_id
# name = "images"
# type = "CNAME"
# ttl = 300
# records = ["f000.backblazeb2.com"]
# }
# resource "aws_route53_record" "artbybeckicom-gsv" {
# zone_id = aws_route53_zone.artbybeckicom.zone_id
# name = "artbybecki.com"
# type = "TXT"
# ttl = 300
# records = ["google-site-verification=u9EyJHPaDkmUQC7kucw4j7C4mdGR2q4IwkAdJtQjC80"]
# }