From 68873465067cda2e080ab96bd7c1868221c71828 Mon Sep 17 00:00:00 2001 From: etcart Date: Thu, 8 Jan 2026 20:54:33 -0500 Subject: [PATCH 1/6] first pass updates to v21.2.0 --- Dockerfile | 2 +- Makefile | 2 +- cumulus/main.tf | 2 +- cumulus/variables.tf | 24 ++++++++++++++++++++++++ data-persistence/main.tf | 2 +- 5 files changed, 28 insertions(+), 4 deletions(-) diff --git a/Dockerfile b/Dockerfile index 527d84b..91a0c35 100644 --- a/Dockerfile +++ b/Dockerfile @@ -63,7 +63,7 @@ WORKDIR /CIRRUS-core # Bypass the bootstrap.sh script that runs in lambda ENTRYPOINT [] -FROM public.ecr.aws/lambda/python:3.11 AS python3.11 +FROM public.ecr.aws/lambda/python:3.12 AS python3.12 # This image can be used to do Python 3 & NodeJS development, and # includes the AWS CLI and Terraform. It contains: diff --git a/Makefile b/Makefile index 34265c9..c5a2d49 100644 --- a/Makefile +++ b/Makefile @@ -20,7 +20,7 @@ # PYTHON_VER: python3 # --------------------------- -DOCKER_TAG := v21.0.1.0 +DOCKER_TAG := v21.2.0.0 export TF_IN_AUTOMATION="true" export TF_VAR_MATURITY=${MATURITY} export TF_VAR_DEPLOY_NAME=${DEPLOY_NAME} diff --git a/cumulus/main.tf b/cumulus/main.tf index ef2f374..9a2fa26 100644 --- a/cumulus/main.tf +++ b/cumulus/main.tf @@ -1,5 +1,5 @@ module "cumulus" { - source = "https://github.com/nasa/cumulus/releases/download/v21.0.1/terraform-aws-cumulus.zip//tf-modules/cumulus" + source = "https://github.com/nasa/cumulus/releases/download/v21.2.0/terraform-aws-cumulus.zip//tf-modules/cumulus" cumulus_message_adapter_lambda_layer_version_arn = data.terraform_remote_state.daac.outputs.cma_layer_arn diff --git a/cumulus/variables.tf b/cumulus/variables.tf index 38e5a9c..fc1e6f2 100644 --- a/cumulus/variables.tf +++ b/cumulus/variables.tf @@ -488,3 +488,27 @@ variable "html_template_dir" { Leave this field blank to use default templates that are included with the lambda code zip file. EOF } + +variable "archive_records_config" { + type = object({ + deploy_rule = optional(bool, true), # deploy the archive records cron eventBridgeRule + update_limit = optional(number, 100000), # number of granules or executions to archive in one run + batch_size = optional(number, 10000), # number of granules or executions to archive call to the /archive endpoint + expiration_days = optional(number, 365), # age (in days) after which granules or executions should be archived + schedule_expression = optional(string, "cron(0 4 * * ? *)"), # CloudWatch cron schedule for the record archival lambda + }) + description = "config object for archive-records tooling" + default = { + deploy_rule = false, + update_limit = 100000, + batch_size = 10000, + expiration_days = 365, + schedule_expression = "cron(0 4 * * ? *)", + } +} + +variable "sync_granule_s3_jitter_max_ms" { + description = "Maximum random jitter in milliseconds to apply before S3 operations in SyncGranule task (0-59000). Set to 0 to disable jitter." + type = number + default = 0 +} diff --git a/data-persistence/main.tf b/data-persistence/main.tf index dc15d3d..61f5505 100644 --- a/data-persistence/main.tf +++ b/data-persistence/main.tf @@ -1,5 +1,5 @@ module "data_persistence" { - source = "https://github.com/nasa/cumulus/releases/download/v21.0.1/terraform-aws-cumulus.zip//tf-modules/data-persistence" + source = "https://github.com/nasa/cumulus/releases/download/v21.2.0/terraform-aws-cumulus.zip//tf-modules/data-persistence" prefix = local.prefix subnet_ids = data.aws_subnets.subnet_ids.ids From 14c59748fabaf3bdf890b6f25e124c24758e1447 Mon Sep 17 00:00:00 2001 From: etcart Date: Mon, 12 Jan 2026 13:13:23 -0500 Subject: [PATCH 2/6] trying to get python version right --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 91a0c35..527d84b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -63,7 +63,7 @@ WORKDIR /CIRRUS-core # Bypass the bootstrap.sh script that runs in lambda ENTRYPOINT [] -FROM public.ecr.aws/lambda/python:3.12 AS python3.12 +FROM public.ecr.aws/lambda/python:3.11 AS python3.11 # This image can be used to do Python 3 & NodeJS development, and # includes the AWS CLI and Terraform. It contains: From 5219f1a0f472db0dd0c72a3378a471e7ddb06967 Mon Sep 17 00:00:00 2001 From: Cumulus Bot Date: Mon, 12 Jan 2026 17:22:50 -0500 Subject: [PATCH 3/6] correct default in archive-records-config --- cumulus/variables.tf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cumulus/variables.tf b/cumulus/variables.tf index fc1e6f2..51efef8 100644 --- a/cumulus/variables.tf +++ b/cumulus/variables.tf @@ -499,7 +499,7 @@ variable "archive_records_config" { }) description = "config object for archive-records tooling" default = { - deploy_rule = false, + deploy_rule = true, update_limit = 100000, batch_size = 10000, expiration_days = 365, From fe725cff7ca3340442599c898abb9aafe092428b Mon Sep 17 00:00:00 2001 From: Cumulus Bot Date: Tue, 13 Jan 2026 09:48:11 -0500 Subject: [PATCH 4/6] tf-lint fixes --- cumulus/variables.tf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/cumulus/variables.tf b/cumulus/variables.tf index 51efef8..721a654 100644 --- a/cumulus/variables.tf +++ b/cumulus/variables.tf @@ -491,11 +491,11 @@ variable "html_template_dir" { variable "archive_records_config" { type = object({ - deploy_rule = optional(bool, true), # deploy the archive records cron eventBridgeRule - update_limit = optional(number, 100000), # number of granules or executions to archive in one run - batch_size = optional(number, 10000), # number of granules or executions to archive call to the /archive endpoint - expiration_days = optional(number, 365), # age (in days) after which granules or executions should be archived - schedule_expression = optional(string, "cron(0 4 * * ? *)"), # CloudWatch cron schedule for the record archival lambda + deploy_rule = bool, # deploy the archive records cron eventBridgeRule + update_limit = number, # number of granules or executions to archive in one run + batch_size = number, # number of granules or executions to archive call to the /archive endpoint + expiration_days = number, # age (in days) after which granules or executions should be archived + schedule_expression = string, # CloudWatch cron schedule for the record archival lambda }) description = "config object for archive-records tooling" default = { From 8a50f1a02449bb53e35de24707cff63013a3230f Mon Sep 17 00:00:00 2001 From: etcart Date: Tue, 13 Jan 2026 11:34:04 -0500 Subject: [PATCH 5/6] additinoal needed config variables --- cumulus/variables.tf | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cumulus/variables.tf b/cumulus/variables.tf index 721a654..f9fcf73 100644 --- a/cumulus/variables.tf +++ b/cumulus/variables.tf @@ -512,3 +512,9 @@ variable "sync_granule_s3_jitter_max_ms" { type = number default = 0 } + +variable "allow_provider_mismatch_on_rule_filter" { + description = "optional variable to be used in message_consumer lambdas for disabling rule/message provider mismatches" + type = bool + default = false +} From ac3b04f4ed769f8cfea8bbf909bf4d4e98294e4e Mon Sep 17 00:00:00 2001 From: etcart Date: Fri, 30 Jan 2026 13:05:11 -0500 Subject: [PATCH 6/6] changelog --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1a019ad..0f0bd34 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,8 +2,11 @@ ## Unreleased +* Upgrade to [Cumulus v21.2.0](https://github.com/nasa/cumulus/releases/tag/v21.2.0) +* add variable "archive_records_config" to cumulus/variables.tf + ## v21.0.1.0 -* Updrade to [Cumulus v21.0.1](https://github.com/nasa/cumulus/releases/tag/v21.0.1) +* Upgrade to [Cumulus v21.0.1](https://github.com/nasa/cumulus/releases/tag/v21.0.1) * **NOTE** This version of Cumulus requires a manual update to the PostgreSQL database in the production environment. Please follow the instructions in [Update granules to include producer_granule_id](https://nasa.github.io/cumulus/docs/next/upgrade-notes/update-granules-to-include-producer_granule_id) ## v20.3.0.0