diff --git a/infrastructure/.terraform.lock.hcl b/infrastructure/.terraform.lock.hcl index bb4114f..b3f9dd2 100644 --- a/infrastructure/.terraform.lock.hcl +++ b/infrastructure/.terraform.lock.hcl @@ -2,59 +2,66 @@ # Manual edits may be lost in future updates. provider "registry.terraform.io/awakesecurity/dhall" { - version = "0.0.2" - constraints = "0.0.2" + version = "0.0.7" + constraints = "0.0.7" hashes = [ - "h1:mxcqTtn0FWmfE3ALMEUXNShuQuLFQkvTUSDuoHgMi5g=", - "zh:00fd84c2ffaed39b13eec3ee76a825498f5a0e13496017ba4a6c22acc584e031", - "zh:0c9622a801e2898b7f9c5e0d694a1b9b2dca5d26ef87b054a7302b1d2a5da7f9", - "zh:101f882d1942722a30fb3bd26d9a0b8a2bcbcaf3ca6366d17c5a98c502b48494", - "zh:2991ec2d034eb963ffb59d72515308ecc91078584fd4e44c5ee23752fac2c8af", - "zh:3c019b8f56a4fb22a9eabcdb6d9dc0e5ca947e3a7936a92fefc1c5544be38dc5", - "zh:4bdbedd5cd20a4ea68d1c07a39ffac89cfc23e47299a5ad7c26f2b80d69baf3f", - "zh:4e106c550b237d45a870277e2bdae635bfdd48850c11a8a261946d92ef8e666d", - "zh:676346fd219d647e0f529d5967fb0095f7a957f8b3a71ac37ec9612b62eda602", - "zh:99f0155d9ecd65284357407741d47e651d33513a6e4fe410d07116a006792cbf", - "zh:a1b6ba1d22b1d023516a91fd3772791274545657d0d0bac59a5dbcf9138bfcf2", - "zh:d92c6db8992c8cd98c3b9c0d788b360cfef2877936e0fe8104c710b7565d0813", + "h1:qXICrreZuYK+hKl2/tx2coMfuzKnymEohZFhR/qJgHI=", + "zh:1bce819af9b9d30cadb1002f2d18e1a15e72b22692fef0b5eb1bc5ba6e8d1989", + "zh:2f0f38596bdb1202bc03960fe50541e760cf99e7fe5f98a95785aba2ac22b149", + "zh:5562346895d6917f698454de943e72a135b3771d6d74ccaefd9de9a3e2eae4dd", + "zh:5a549d589e8b764ef12af68ae0683ce9afae5a88ac8630d8ba4a609b30aa3bb5", + "zh:69ec407daa0d657dc3f3294b733f9bf8b25703ccfb3f6987714d84091e2d1a80", + "zh:9f986a57cbf520d5c01c89fecd2ad39a8ec32ef660f7e583c79743d715ee6586", + "zh:a11cb2c90584e4cc801f233678a646390c420603ad5c7c0efe639a7b371641ed", + "zh:a24497ca77e6f65137f7e12e1ebec10b6d6b5a38c4d3113a11af52664855c2fa", + "zh:ab008b8624da2530cd867887898cd011a369131f2edc1f44b9832b816acae059", + "zh:ac5b8f5746fc43dae0819a571d0010ec38a205c00c991dd7dc1e171d05a801dc", + "zh:b606914b5c2b3123e05870143ef5dd9df74c54a677402f4d8e3a05de55000164", + "zh:d4b62234498f71a7c01e94eff97a872f1032a408806f37eaec6d6f0ac089e66f", + "zh:ec3f2d4a682b59cb3d770c3cbab1fdaaafdec0c240160a85a1dd8c1e8b526963", "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", - "zh:fdd7b6b5e016da45969726b7ba2b8626b9de7e9d9863ddceece80f9f14aefbd8", + "zh:f648ac7fb4558c37e1938c26f5c95d7eea91150a2043567c75a08eae5ac384b4", ] } provider "registry.terraform.io/hashicorp/archive" { - version = "2.2.0" + version = "2.4.1" hashes = [ - "h1:2K5LQkuWRS2YN1/YoNaHn9MAzjuTX8Gaqy6i8Mbfv8Y=", - "zh:06bd875932288f235c16e2237142b493c2c2b6aba0e82e8c85068332a8d2a29e", - "zh:0c681b481372afcaefddacc7ccdf1d3bb3a0c0d4678a526bc8b02d0c331479bc", - "zh:100fc5b3fc01ea463533d7bbfb01cb7113947a969a4ec12e27f5b2be49884d6c", - "zh:55c0d7ddddbd0a46d57c51fcfa9b91f14eed081a45101dbfc7fd9d2278aa1403", - "zh:73a5dd68379119167934c48afa1101b09abad2deb436cd5c446733e705869d6b", - "zh:841fc4ac6dc3479981330974d44ad2341deada8a5ff9e3b1b4510702dfbdbed9", - "zh:91be62c9b41edb137f7f835491183628d484e9d6efa82fcb75cfa538c92791c5", - "zh:acd5f442bd88d67eb948b18dc2ed421c6c3faee62d3a12200e442bfff0aa7d8b", - "zh:ad5720da5524641ad718a565694821be5f61f68f1c3c5d2cfa24426b8e774bef", - "zh:e63f12ea938520b3f83634fc29da28d92eed5cfbc5cc8ca08281a6a9c36cca65", - "zh:f6542918faa115df46474a36aabb4c3899650bea036b5f8a5e296be6f8f25767", + "h1:3mCpFxc6HwDIETCFHNENlxBUgKdsW2S1EmVHARn9Lgk=", + "zh:00240c042740d18d6ba545b211ff7ed5a9e8490d30be3f865e71dba90d7a34cf", + "zh:230c285beafaffd8d60da3446157b95f8fb43b359ba94b09214c1822bf310c3d", + "zh:726672a0e61a1d39695ce5e330aa3e6caa97f2a9438cf8125360e80f4cb52fa5", + "zh:78d5eefdd9e494defcb3c68d282b8f96630502cac21d1ea161f53cfe9bb483b3", + "zh:7bc8f4a4fc7059ec01e767246df7937603dbc6ec49cb3eedffe6ecb68dbe9cb4", + "zh:800d898ce8ac96b244746c5a41f4107bd3c883fe6093d9a972a28b138ac02c4e", + "zh:9a8ea216af3840af48c08ef5ed998606c556b15be30d7b42c89a62df54285903", + "zh:b9905d0ac55b61ea78ecf0e6b07d54a9863a9f02e249d0d492e68cfcede0d89f", + "zh:c822495ba01ab7cee66c892f941097971c3be122a6200d556f462a751d446df8", + "zh:e05c31f2f4dca9eaada2726d16d2ffb03d6441b4eb55547b93d62d81383cd0ef", + "zh:ec14c68ca5d881bac73dbbd298f0ca84444001a81d473f51e36c4e29df040983", + "zh:ed32ebccb20b21c112f01d73d138ba5ada28cf8ede175441738a30711c79119a", ] } provider "registry.terraform.io/hashicorp/aws" { - version = "3.70.0" - constraints = "3.70.0" + version = "5.32.1" + constraints = "5.32.1" hashes = [ - "h1:jn4ImGMZJ9rQdaVSbcCBqUqnhRSpyaM1DivqaNuP+eg=", - "zh:0af710e528e21b930899f0ac295b0ceef8ad7b623dd8f38e92c8ec4bc7af0321", - "zh:4cabcd4519c0aae474d91ae67a8e3a4a8c39c3945c289a9cf7c1409f64409abe", - "zh:58da1a436facb4e4f95cd2870d211ed7bcb8cf721a4a61970aa8da191665f2aa", - "zh:6465339475c1cd3c16a5c8fee61304dcad2c4a27740687d29c6cdc90d2e6423d", - "zh:7a821ed053c355d70ebe33185590953fa5c364c1f3d66fe3f9b4aba3961646b1", - "zh:7c3656cc9cc1739dcb298e7930c9a76ccfce738d2070841d7e6c62fbdae74eef", - "zh:9d9da9e3c60a0c977e156da8590f36a219ae91994bb3df5a1208de2ab3ceeba7", - "zh:a3138817c86bf3e4dca7fd3a92e099cd1bf1d45ee7c7cc9e9773ba04fc3b315a", - "zh:a8603044e935dfb3cb9319a46d26276162c6aea75e02c4827232f9c6029a3182", - "zh:aef9482332bf43d0b73317f5909dec9e95b983c67b10d72e75eacc7c4f37d084", - "zh:fc3f3cad84f2eebe566dd0b65904c934093007323b9b85e73d9dd4535ceeb29d", + "h1:jv1eeMPObgcJOEV6x9BmT1rSUDZ5cX0FBpweCNu4bnc=", + "zh:0c603e0ea9ec481f1588ca44d3464fe43ed936a8452e0c70d347c8e71a1b19a4", + "zh:0d43c845330ea4aaa152caf35819069215fcf17e4468b9d94c631f7d4178b1ac", + "zh:1211275208e8142bfa27987fdeb3eae40075ff569bf198330975f470bc4f5137", + "zh:1d8e7e4a2ff45a8b56037d030e2978fc04007941f62f1e265e251801a1d0c3cc", + "zh:4f6a8a6c9413b8b9267673cb7fb9dee7dc81946f7cc17d23e2104304f4ec4472", + "zh:6d769c74f8157260a37a32a1036b77f9795e21df2df7cadf4c7acc85b2dfd96e", + "zh:778fd9bf80424a62ebf5f059dcabfc4a588b0791ba18c1cf727bbdc1aed40351", + "zh:7bf1b063065bbe39b71e2a5895915fcbcc0cf7f553f84388e81888506d292fce", + "zh:9b12af85486a96aedd8d7984b0ff811a4b42e3d88dad1a3fb4c0b580d04fa425", + "zh:b57506c3f46e850543fc1ee9522f231311e8540730db76bbf7a3f4d81777a4bd", + "zh:d37c8655b2a31435a116a1af7031f2bcdecf4c7e7e74903b88203798fb39043e", + "zh:db369802896eb10bbfed00bf3bd568b35fb5d903d3624d555b6574c5c4e2d94e", + "zh:e9992bfccf8205c495aebb7da917404496f96b5d3ea4a915a8884994ca8d860c", + "zh:ed1e0ef83cde313f1ccb3e18fc9dc63bf6ca473ec07554df5e24c706708a6866", + "zh:f0d19ed41352da9be308dff72899ecf5af7a42b592cf37fb98e9064e7622d35e", ] } diff --git a/infrastructure/lambda/default.nix b/infrastructure/lambda/default.nix index fd6da81..a6053af 100644 --- a/infrastructure/lambda/default.nix +++ b/infrastructure/lambda/default.nix @@ -5,7 +5,7 @@ let name = "elm-aws-cloudfront"; src = fetchGit { url = "https://github.com/MarcoDaniels/elm-aws-cloudfront.git"; - ref = "refs/tags/nix-1.0.0"; + ref = "refs/tags/nix-1.0.1"; }; installPhase = '' mkdir -p $out @@ -22,7 +22,7 @@ in cloudfront.buildElmAWSCloudFront { { module = ./src/WebsiteResponse.elm; } { module = ./src/AssetRequest.elm; - flags = [ ''token:"token"'' ''domain:"domain"'' ]; + flags = [ ''token:"''${token}"'' ''domain:"''${domain}"'' ]; } { module = ./src/AssetResponse.elm; } ]; diff --git a/infrastructure/lambda/main.tf b/infrastructure/lambda/main.tf index 7753d0c..70b660d 100644 --- a/infrastructure/lambda/main.tf +++ b/infrastructure/lambda/main.tf @@ -10,14 +10,9 @@ data "archive_file" "zip" { output_path = "${path.module}/result/${var.lambda-name}/index.zip" source { - content = templatefile("${path.module}/result/${var.lambda-name}/index.js", var.replacements) + content = templatefile("${path.module}/result/${var.lambda-name}.js", var.replacements) filename = "index.js" } - - source { - content = templatefile("${path.module}/result/${var.lambda-name}/elm.js", var.replacements) - filename = "elm.js" - } } data "aws_iam_policy_document" "lambda-edge" { @@ -75,7 +70,7 @@ resource "aws_lambda_function" "lambda-function" { filename = data.archive_file.zip.output_path source_code_hash = data.archive_file.zip.output_base64sha256 handler = "index.handler" - runtime = "nodejs14.x" + runtime = "nodejs20.x" depends_on = [ aws_iam_role_policy_attachment.lambda-logs, diff --git a/infrastructure/main.tf b/infrastructure/main.tf index 14f5263..032f08e 100644 --- a/infrastructure/main.tf +++ b/infrastructure/main.tf @@ -10,12 +10,12 @@ terraform { required_providers { aws = { source = "hashicorp/aws" - version = "3.70.0" + version = "5.32.1" } dhall = { source = "awakesecurity/dhall" - version = "0.0.2" + version = "0.0.7" } } } @@ -44,7 +44,11 @@ provider "aws" { // S3 resource "aws_s3_bucket" "bucket" { bucket_prefix = local.aws.bucketPrefix - acl = "private" +} + +resource "aws_s3_bucket_acl" "bucket-acl" { + bucket = aws_s3_bucket.bucket.id + acl = "private" } data "aws_iam_policy_document" "bucket-policy" {