@cryptotaxi247 / infra-1 / commits / eb8d3b18

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 +}