73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			HCL
		
	
	
	
	
	
			
		
		
	
	
			73 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			HCL
		
	
	
	
	
	
| #############################
 | |
| # shockrah.xyz DNS ZONE
 | |
| #############################
 | |
| 
 | |
| resource "aws_route53_zone" "shockrah-xyz" {
 | |
|   name    = "shockrah.xyz"
 | |
|   comment = "Main shockrah.xyz zone - for personal stuff"
 | |
| }
 | |
| 
 | |
| locals {
 | |
|   records = [
 | |
|     {
 | |
|       name    = "shockrah.xyz"
 | |
|       type    = "NS"
 | |
|       ttl     = 172800
 | |
|       records = [
 | |
|         "ns-612.awsdns-12.net.",
 | |
|         "ns-285.awsdns-35.com.",
 | |
|         "ns-1702.awsdns-20.co.uk.",
 | |
|         "ns-1360.awsdns-42.org.",
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       name    = "shockrah.xyz"
 | |
|       type    = "SOA"
 | |
|       ttl     = 900
 | |
|       records = [
 | |
|         "ns-612.awsdns-12.net. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400"
 | |
|       ]
 | |
|     },
 | |
|     {
 | |
|       name    = "shockrah.xyz"
 | |
|       type    = "TXT"
 | |
|       ttl     = 300
 | |
|       records = [ "v=spf1 include:_mailcust.gandi.net ?all" ]
 | |
|     },
 | |
|     { name = "www.shockrah.xyz",      records = [ var.alpha.dns ] },
 | |
|     { name = "resume.shockrah.xyz",   records = [ var.alpha.dns ] }
 | |
|   ]
 | |
| }
 | |
| 
 | |
| resource "aws_route53_record" "shockrah-xyz-record" {
 | |
|   for_each = {
 | |
|     for index, record in local.records:
 | |
|       index => record
 | |
|   }
 | |
| 
 | |
|   zone_id = aws_route53_zone.shockrah-xyz.id
 | |
|   name    = each.value.name
 | |
|   type    = lookup(each.value, "type", "CNAME")
 | |
|   ttl     = lookup(each.value, "ttl", 300)
 | |
|   records = each.value.records
 | |
| }
 | |
| 
 | |
| # This is our special snowflake """"master record"""" which points the root
 | |
| # domain to a alias which normally is not allowed however route53 _does_
 | |
| # allow this to happen. In basically every other case we would need to point
 | |
| # this root record to an IP and have an LB attach to that LB
 | |
| resource "aws_route53_record" "shockrah-xyz-apex" {
 | |
|   zone_id = aws_route53_zone.shockrah-xyz.id
 | |
|   name = "shockrah.xyz"
 | |
|   type = "A"
 | |
| 
 | |
|   alias {
 | |
|     name    = var.alpha.dns
 | |
|     zone_id = var.alpha.zone
 | |
|     evaluate_target_health = true
 | |
|   }
 | |
| }
 | |
| 
 | |
| 
 | |
| 
 |