-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathwebsite.tf
106 lines (91 loc) · 3.04 KB
/
website.tf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
locals {
blog_redirects = [
"lesaker.org",
"www.lesaker.org",
"scrtybybscrty.org",
"www.scrtybybscrty.org",
"lesaker.com",
"www.lesaker.com",
"akerl.org",
"www.akerl.org",
"akerl.com",
"www.akerl.com",
"a-rwx.org",
"www.a-rwx.org",
"akerl.dev",
"www.akerl.dev",
"akerl.app",
"www.akerl.app",
"akerl.net",
"www.akerl.net",
]
host_to_zone_regex = "/^(?:.*\\.)?([^.]+\\.[^.]+)$/"
}
module "akerl-blog" {
source = "armorfret/s3-website/aws"
version = "0.11.4"
logging_bucket = aws_s3_bucket.logging.id
file_bucket = "akerl-blog"
redirect_bucket = "akerl-blog-redirect"
primary_hostname = "blog.akerl.org"
error_document = "404/index.html"
content_security_policy = "frame-ancestors 'none'; default-src 'none'; img-src 'self' goat.akerl.app; script-src 'self' 'unsafe-inline' https://goat.akerl.app https://gist.github.com; style-src 'self' 'unsafe-inline' https://github.githubassets.com; object-src 'none'; connect-src"
redirect_hostnames = local.blog_redirects
}
resource "aws_route53_record" "a_blog_akerl_org" {
zone_id = module.zones["akerl.org"].zone_id
name = "blog.akerl.org"
type = "A"
alias {
name = module.akerl-blog.site_dns_name
zone_id = module.akerl-blog.cloudfront_zone_id
evaluate_target_health = false
}
}
resource "aws_route53_record" "blog_redirect" {
for_each = toset(local.blog_redirects)
zone_id = module.zones[replace(each.key, local.host_to_zone_regex, "$1")].zone_id
name = each.key
type = "A"
alias {
name = module.akerl-blog.redirect_dns_name
zone_id = module.akerl-blog.cloudfront_zone_id
evaluate_target_health = false
}
}
module "akerl-littlesnitch" {
source = "armorfret/s3-website/aws"
version = "0.11.4"
logging_bucket = aws_s3_bucket.logging.id
file_bucket = "akerl-littlesnitch"
redirect_bucket = "akerl-littlesnitch-redirect"
primary_hostname = "littlesnitch.scrtybybscrty.org"
}
resource "aws_route53_record" "a_littlesnitch_scrtybybscrty_org" {
zone_id = module.zones["scrtybybscrty.org"].zone_id
name = "littlesnitch.scrtybybscrty.org"
type = "A"
alias {
name = module.akerl-littlesnitch.site_dns_name
zone_id = module.akerl-littlesnitch.cloudfront_zone_id
evaluate_target_health = false
}
}
module "amylum-repo" {
source = "armorfret/s3-website/aws"
version = "0.11.4"
logging_bucket = aws_s3_bucket.logging.id
file_bucket = "amylum-repo"
redirect_bucket = "amylum-repo-redirect"
primary_hostname = "repo.scrtybybscrty.org"
}
resource "aws_route53_record" "a_repo_scrtybybscrty_org" {
zone_id = module.zones["scrtybybscrty.org"].zone_id
name = "repo.scrtybybscrty.org"
type = "A"
alias {
name = module.amylum-repo.site_dns_name
zone_id = module.amylum-repo.cloudfront_zone_id
evaluate_target_health = false
}
}