Add cache.ngi0.nixos.org cloudfront distribution
Eelco Dolstra committed
May 21, 2020 at 21:07 UTC
eb8d3b18b96bc2157b9a3d9582edae6a3e77521e
1 file changed
+56
ngi0/terraform/cache.tf
+56
@@ -39,3 +39,59 @@ resource "aws_s3_bucket_policy" "cache" {
39
}
40
EOF
41
}
42
+
43
+resource "aws_cloudfront_distribution" "cache" {
44
+ enabled = true
45
+ is_ipv6_enabled = true
46
+ price_class = "PriceClass_All"
47
+ aliases = ["cache.ngi0.nixos.org"]
48
+
49
+ origin {
50
+ origin_id = "S3-nix-cache"
51
+ domain_name = aws_s3_bucket.cache.bucket_domain_name
52
+
53
+ #s3_origin_config {
54
+ # origin_access_identity = "origin-access-identity/cloudfront/E11I84008FX6W9"
55
+ #}
56
+ }
57
+
58
+ default_cache_behavior {
59
+ allowed_methods = ["HEAD", "GET"]
60
+ cached_methods = ["HEAD", "GET"]
61
+ target_origin_id = "S3-nix-cache"
62
+ viewer_protocol_policy = "allow-all"
63
+ min_ttl = 0
64
+ default_ttl = 86400
65
+ max_ttl = 31536000
66
+
67
+ forwarded_values {
68
+ query_string = false
69
+
70
+ cookies {
71
+ forward = "none"
72
+ }
73
+ }
74
+ }
75
+
76
+ viewer_certificate {
77
+ cloudfront_default_certificate = false
78
+ acm_certificate_arn = aws_acm_certificate.cache.arn
79
+ ssl_support_method = "sni-only"
80
+ }
81
+
82
+ restrictions {
83
+ geo_restriction {
84
+ restriction_type = "none"
85
+ }
86
+ }
87
+}
88
+
89
+resource "aws_acm_certificate" "cache" {
90
+ provider = aws.us
91
+ domain_name = "cache.ngi0.nixos.org"
92
+ validation_method = "DNS"
93
+
94
+ lifecycle {
95
+ create_before_destroy = true
96
+ }
97
+}