From 688a7d98baacd45aed3cdf3ed5c489e2a0899250 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Sat, 1 Jun 2024 14:38:47 +0200 Subject: [PATCH 1/3] crates-io: Add `path` argument to `redirect_to_cloudfront()` fn --- terragrunt/modules/crates-io/compute-static/src/main.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/terragrunt/modules/crates-io/compute-static/src/main.rs b/terragrunt/modules/crates-io/compute-static/src/main.rs index 3d7060502..e893e8eb5 100644 --- a/terragrunt/modules/crates-io/compute-static/src/main.rs +++ b/terragrunt/modules/crates-io/compute-static/src/main.rs @@ -116,7 +116,7 @@ fn handle_request(config: &Config, mut request: Request) -> Result Result { - let url = format!("https://{}/db-dump.tar.gz", config.cloudfront_url); +fn redirect_to_cloudfront(config: &Config, path: &str) -> Result { + let url = format!("https://{}/{path}", config.cloudfront_url); Ok(Response::temporary_redirect(url)) } From 8ae0c4406714cb86e9317049d2a662585c9fb8b1 Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Sat, 1 Jun 2024 14:39:19 +0200 Subject: [PATCH 2/3] crates-io: Add support for `db-dump.zip` files --- .../modules/crates-io/compute-static/src/main.rs | 2 ++ terragrunt/modules/crates-io/s3-static.tf | 13 ++++++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/terragrunt/modules/crates-io/compute-static/src/main.rs b/terragrunt/modules/crates-io/compute-static/src/main.rs index e893e8eb5..3753f7e17 100644 --- a/terragrunt/modules/crates-io/compute-static/src/main.rs +++ b/terragrunt/modules/crates-io/compute-static/src/main.rs @@ -117,6 +117,8 @@ fn handle_request(config: &Config, mut request: Request) -> Result Date: Wed, 5 Jun 2024 15:34:32 +0200 Subject: [PATCH 3/3] crates-io: Use `dynamic` block to reduce duplication --- terragrunt/modules/crates-io/s3-static.tf | 27 +++++++++-------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/terragrunt/modules/crates-io/s3-static.tf b/terragrunt/modules/crates-io/s3-static.tf index f19fa8374..8f10a0f6c 100644 --- a/terragrunt/modules/crates-io/s3-static.tf +++ b/terragrunt/modules/crates-io/s3-static.tf @@ -16,25 +16,18 @@ resource "aws_s3_bucket" "static" { // Keep only the live db-dumps and the previous day's versions, removing // all the other ones. This is needed because we don't want this file to be // versioned, while all the other ones in the bucket should be versioned. - lifecycle_rule { - id = "purge-db-dump" - enabled = true - prefix = "db-dump.tar.gz" - - abort_incomplete_multipart_upload_days = 1 - noncurrent_version_expiration { - days = 1 - } - } + dynamic "lifecycle_rule" { + for_each = toset(["db-dump.tar.gz", "db-dump.zip"]) - lifecycle_rule { - id = "purge-db-dump-zip" - enabled = true - prefix = "db-dump.zip" + content { + id = "purge-${replace(lifecycle_rule.key, ".", "-")}" + enabled = true + prefix = lifecycle_rule.key - abort_incomplete_multipart_upload_days = 1 - noncurrent_version_expiration { - days = 1 + abort_incomplete_multipart_upload_days = 1 + noncurrent_version_expiration { + days = 1 + } } }