Add Terraform resources for releases.nixos.org
Eelco Dolstra committed
Jul 19, 2018 at 16:30 UTC
c535b8a6c1e0fb4c028c5c58e51e276af7cfa1c8
1 file changed
+65
terraform/releases.tf
new
+65
@@ -0,0 +1,65 @@
1
+resource "aws_cloudfront_distribution" "releases" {
2
+ enabled = true
3
+ is_ipv6_enabled = true
4
+ price_class = "PriceClass_All"
5
+ aliases = ["releases.nixos.org"]
6
+
7
+ origin {
8
+ origin_id = "default"
9
+ domain_name = "nix-releases.s3.amazonaws.com"
10
+ s3_origin_config {
11
+ origin_access_identity = ""
12
+ #origin_access_identity = "${aws_cloudfront_origin_access_identity.releases.cloudfront_access_identity_path}"
13
+ }
14
+ }
15
+
16
+ default_cache_behavior {
17
+ allowed_methods = ["HEAD", "GET"]
18
+ cached_methods = ["HEAD", "GET"]
19
+ target_origin_id = "default"
20
+ viewer_protocol_policy = "allow-all"
21
+ min_ttl = 0
22
+ default_ttl = 86400
23
+ max_ttl = 31536000
24
+
25
+ forwarded_values {
26
+ query_string = false
27
+
28
+ cookies {
29
+ forward = "none"
30
+ }
31
+ }
32
+ }
33
+
34
+ viewer_certificate {
35
+ cloudfront_default_certificate = true
36
+ acm_certificate_arn = "${aws_acm_certificate.releases.arn}"
37
+ ssl_support_method = "sni-only"
38
+ }
39
+
40
+ restrictions {
41
+ geo_restriction {
42
+ restriction_type = "none"
43
+ }
44
+ }
45
+
46
+ logging_config {
47
+ bucket = "nix-cache-logs.s3.amazonaws.com"
48
+ }
49
+}
50
+
51
+resource "aws_acm_certificate" "releases" {
52
+ provider = "aws.us"
53
+ domain_name = "releases.nixos.org"
54
+ validation_method = "DNS"
55
+
56
+ lifecycle {
57
+ create_before_destroy = true
58
+ }
59
+}
60
+
61
+/*
62
+resource "aws_cloudfront_origin_access_identity" "releases" {
63
+ comment = "Cloudfront identity for releases"
64
+}
65
+*/