v1.18.0
·
3762 commits
to master
since this release
This is a fairly minor breaking release. See migration steps below for required changes.
Migration Steps
-
If not already set, set
ecs_cluster_instance_image_id
in yourterraform.tfvars
for yourcumulus
module deployment -
Change variable
saml_launchpad_metadata_path
tosaml_launchpad_metadata_url
in thecumulus
Terraform module. -
Remove
process
fromPostToCmr
task_config in workflow definitions. -
Please note function removals and deprecations listed below in the
Removed
andDeprecated
sections.
Breaking Changes
-
CUMULUS-1686
ecs_cluster_instance_image_id
is now a required variable of thecumulus
module, instead of optional.
-
CUMULUS-1698
- Change variable
saml_launchpad_metadata_path
tosaml_launchpad_metadata_url
in thetf-modules/cumulus
Terraform module.
- Change variable
-
CUMULUS-1703
- Remove the unused
forceDownload
option from thesync-granule
tasks's config - Remove the
@cumulus/ingest/granule.Discover
class - Remove the
@cumulus/ingest/granule.Granule
class - Remove the
@cumulus/ingest/pdr.Discover
class - Remove the
@cumulus/ingest/pdr.Granule
class - Remove the
@cumulus/ingest/parse-pdr.parsePdr
function
- Remove the unused
Other Notable Changes
- Upgrade Thin Egress App (TEA) to version 48
- Fixed granule discovery recursion algorithm used in S/FTP protocols.
All Changes
Added
-
CUMULUS-1040
- Added
@cumulus/aws-client
package to provide utilities for working with AWS services and the Node.js AWS SDK - Added
@cumulus/errors
package which exports error classes for use in Cumulus workflow code - Added
@cumulus/integration-tests/sfnStep
to provide utilities for parsing step function execution histories
- Added
-
CUMULUS-1102
- Adds functionality to the @cumulus/api package for better local testing.
- Adds data seeding for @cumulus/api's localAPI.
- seed functions allow adding collections, executions, granules, pdrs, providers, and rules to a Localstack Elasticsearch and DynamoDB via
addCollections
,addExecutions
,addGranules
,addPdrs
,addProviders
, andaddRules
.
- seed functions allow adding collections, executions, granules, pdrs, providers, and rules to a Localstack Elasticsearch and DynamoDB via
- Adds
eraseDataStack
function to local API server code allowing resetting of local datastack for testing (ES and DynamoDB). - Adds optional parameters to the @cumulus/api bin serve to allow for launching the api without destroying the current data.
- Adds data seeding for @cumulus/api's localAPI.
- Adds functionality to the @cumulus/api package for better local testing.
-
CUMULUS-1697
- Added the
@cumulus/tf-inventory
package that provides command line utilities for managing Terraform resources in your AWS account
- Added the
-
CUMULUS-1703
- Add
@cumulus/aws-client/S3.createBucket
function - Add
@cumulus/aws-client/S3.putFile
function - Add
@cumulus/common/string.isNonEmptyString
function - Add
@cumulus/ingest/FtpProviderClient
class - Add
@cumulus/ingest/HttpProviderClient
class - Add
@cumulus/ingest/S3ProviderClient
class - Add
@cumulus/ingest/SftpProviderClient
class - Add
@cumulus/ingest/providerClientUtils.buildProviderClient
function - Add
@cumulus/ingest/providerClientUtils.fetchTextFile
function
- Add
-
CUMULUS-1731
- Add new optional input variables to the Cumulus Terraform module to support TEA upgrade:
thin_egress_cookie_domain
- Valid domain for Thin Egress App cookiethin_egress_domain_cert_arn
- Certificate Manager SSL Cert ARN for Thin
Egress App if deployed outside NGAP/CloudFrontthin_egress_download_role_in_region_arn
- ARN for reading of Thin Egress
App data buckets for in-region requeststhin_egress_jwt_algo
- Algorithm with which to encode the Thin Egress
App JWT cookiethin_egress_jwt_secret_name
- Name of AWS secret where keys for the Thin
Egress App JWT encode/decode are storedthin_egress_lambda_code_dependency_archive_key
- Thin Egress App - S3
Key of packaged python modules for lambda dependency layer
- Add new optional input variables to the Cumulus Terraform module to support TEA upgrade:
-
CUMULUS-1733
- Add
discovery-filtering
operator doc to document previously undocumented functionality.
- Add
Changed
-
CUMULUS-1102
- Updates
@cumulus/api/auth/testAuth
to use JWT instead of random tokens. - Updates the default AMI for the ecs_cluster_instance_image_id.
- Updates
-
CUMULUS-1622
- Mutex class has been deprecated in
@cumulus/common/concurrency
and will be removed in a future release.
- Mutex class has been deprecated in
-
CUMULUS-1686
- Changed
ecs_cluster_instance_image_id
to be a required variable of thecumulus
module and removed the default value.
The default was not available across accounts and regions, nor outside of NGAP and therefore not particularly useful.
- Changed
-
CUMULUS-1688
- Updated
@cumulus/aws.receiveSQSMessages
not to replacemessage.Body
with a parsed object. This behavior was undocumented and confusing as received messages appeared to contradict AWS docs that statemessage.Body
is always a string. - Replaced
sf_watcher
CloudWatch rule fromcloudwatch-events.tf
with an EventSourceMapping onsqs2sf
mapped to thestart_sf
SQS queue (inevent-sources.tf
). - Updated
sqs2sf
with an EventSourceMapping handler and unit test.
- Updated
-
CUMULUS-1698
- Change variable
saml_launchpad_metadata_path
tosaml_launchpad_metadata_url
in thetf-modules/cumulus
Terraform module. - Updated
@cumulus/api/launchpadSaml
to download launchpad IDP metadata from configured location when the metadata in s3 is not valid, and to work with updated IDP metadata and SAML response.
- Change variable
-
CUMULUS-1731
- Upgrade the version of the Thin Egress App deployed by Cumulus to v48
- Note: New variables available, see the 'Added' section of this changelog.
- Upgrade the version of the Thin Egress App deployed by Cumulus to v48
Fixed
-
CUMULUS-1664
- Updated
dbIndexer
Lambda to remove hardcoded references to DynamoDB table names.
- Updated
-
CUMULUS-1733
- Fixed granule discovery recursion algorithm used in S/FTP protocols.
Removed
-
CUMULUS-1481
- removed
process
config and output from PostToCmr as it was not required by the task nor downstream steps, and should still be in the output message'smeta
regardless.
- removed
-
CUMULUS-1703
- Remove the unused
forceDownload
option from thesync-granule
tasks's config - Remove the
@cumulus/ingest/granule.Discover
class - Remove the
@cumulus/ingest/granule.Granule
class - Remove the
@cumulus/ingest/pdr.Discover
class - Remove the
@cumulus/ingest/pdr.Granule
class - Remove the
@cumulus/ingest/parse-pdr.parsePdr
function
- Remove the unused
Deprecated
- CUMULUS-1040
- Deprecated the following code. For cases where the code was moved into another package, the new code location is noted:
@cumulus/common/CloudFormationGateway
->@cumulus/aws-client/CloudFormationGateway
@cumulus/common/DynamoDb
->@cumulus/aws-client/DynamoDb
@cumulus/common/errors
->@cumulus/errors
@cumulus/common/StepFunctions
->@cumulus/aws-client/StepFunctions
- All of the exported functions in
@cumulus/commmon/aws
(moved into@cumulus/aws-client
), except:@cumulus/common/aws/isThrottlingException
->@cumulus/errors/isThrottlingException
@cumulus/common/aws/improveStackTrace
(not deprecated)@cumulus/common/aws/retryOnThrottlingException
(not deprecated)
@cumulus/common/sfnStep/SfnStep.parseStepMessage
->@cumulus/integration-tests/sfnStep/SfnStep.parseStepMessage
@cumulus/common/sfnStep/ActivityStep
->@cumulus/integration-tests/sfnStep/ActivityStep
@cumulus/common/sfnStep/LambdaStep
->@cumulus/integration-tests/sfnStep/LambdaStep
@cumulus/common/string/unicodeEscape
->@cumulus/aws-client/StepFunctions.unicodeEscape
@cumulus/common/util/setErrorStack
->@cumulus/aws-client/util/setErrorStack
@cumulus/ingest/aws/invoke
->@cumulus/aws-client/Lambda/invoke
@cumulus/ingest/aws/CloudWatch.bucketSize
@cumulus/ingest/aws/CloudWatch.cw
@cumulus/ingest/aws/ECS.ecs
@cumulus/ingest/aws/ECS
@cumulus/ingest/aws/Events.putEvent
->@cumulus/aws-client/CloudwatchEvents.putEvent
@cumulus/ingest/aws/Events.deleteEvent
->@cumulus/aws-client/CloudwatchEvents.deleteEvent
@cumulus/ingest/aws/Events.deleteTarget
->@cumulus/aws-client/CloudwatchEvents.deleteTarget
@cumulus/ingest/aws/Events.putTarget
->@cumulus/aws-client/CloudwatchEvents.putTarget
@cumulus/ingest/aws/SQS.attributes
->@cumulus/aws-client/SQS.getQueueAttributes
@cumulus/ingest/aws/SQS.deleteMessage
->@cumulus/aws-client/SQS.deleteSQSMessage
@cumulus/ingest/aws/SQS.deleteQueue
->@cumulus/aws-client/SQS.deleteQueue
@cumulus/ingest/aws/SQS.getUrl
->@cumulus/aws-client/SQS.getQueueUrlByName
@cumulus/ingest/aws/SQS.receiveMessage
->@cumulus/aws-client/SQS.receiveSQSMessages
@cumulus/ingest/aws/SQS.sendMessage
->@cumulus/aws-client/SQS.sendSQSMessage
@cumulus/ingest/aws/StepFunction.getExecutionStatus
->@cumulus/aws-client/StepFunction.getExecutionStatus
@cumulus/ingest/aws/StepFunction.getExecutionUrl
->@cumulus/aws-client/StepFunction.getExecutionUrl
- Deprecated the following code. For cases where the code was moved into another package, the new code location is noted: