@cumulus/common
Advanced tools
Changelog
[v1.14.0] - 2019-08-22
We have encountered transient lambda service errors in our integration testing. Please handle transient service errors following these guidelines. The workflows in the example/workflows
folder have been updated with retries configured for these errors.
CUMULUS-799 added additional IAM permissions to support reading CloudWatch and API Gateway, so you will have to redeploy your IAM stack.
CUMULUS-800 Several items:
Delete existing API Gateway stages: To allow enabling of API Gateway logging, Cumulus now creates and manages a Stage resource during deployment. Before upgrading Cumulus, it is necessary to delete the API Gateway stages on both the Backend API and the Distribution API. Instructions are included in the documentation under Delete API Gateway Stages.
Set up account permissions for API Gateway to write to CloudWatch: In a one time operation for your AWS account, to enable CloudWatch Logs for API Gateway, you must first grant the API Gateway permission to read and write logs to CloudWatch for your account. The AmazonAPIGatewayPushToCloudWatchLogs
managed policy (with an ARN of arn:aws:iam::aws:policy/service-role/AmazonAPIGatewayPushToCloudWatchLogs
) has all the required permissions. You can find a simple how to in the documentation under Enable API Gateway Logging.
Configure API Gateway to write logs to CloudWatch To enable execution logging for the distribution API set config.yaml
apiConfigs.distribution.logApigatewayToCloudwatch
value to true
. More information Enable API Gateway Logs
Configure CloudWatch log delivery: It is possible to deliver CloudWatch API execution and access logs to a cross-account shared AWS::Logs::Destination. An operator does this by adding the key logToSharedDestination
to the config.yml
at the default level with a value of a writable log destination. More information in the documentation under Configure CloudWatch Logs Delivery.
Additional Lambda Logging: It is now possible to configure any lambda to deliver logs to a shared subscriptions by setting logToSharedDestination
to the ARN of a writable location (either an AWS::Logs::Destination or a Kinesis Stream) on any lambda config. Documentation for Lambda Log Subscriptions
Configure S3 Server Access Logs: If you are running Cumulus in an NGAP environment you may configure S3 Server Access Logs to be delivered to a shared bucket where the Metrics Team will ingest the logs into their ELK stack. Contact the Metrics team for permission and location.
CUMULUS-1368 The Cumulus distribution API has been deprecated and is being replaced by ASF's Thin Egress App. By default, the distribution API will not deploy. Please follow the instructions for deploying and configuring Thin Egress.
To instead continue to deploy and use the legacy Cumulus distribution app, add the following to your config.yml
:
deployDistributionApi: true
If you deploy with no distribution app your deployment will succeed but you may encounter errors in your workflows, particularly in the MoveGranule
task.
BREAKING CHANGES
below for details.CUMULUS-642
CUMULUS-1418
cumulus-ecs-task
and a CMA layer instead of kes CMA injection.PR1125 - Adds layers
config option to support deploying Lambdas with layers
PR1128 - Added useXRay
config option to enable AWS X-Ray for Lambdas.
CUMULUS-1345
cmr
.cmrEnvironment
values are SIT
, UAT
, or OPS
with UAT
as the default.cmrLimit
and cmrPageSize
have been added as configurable options.CUMULUS-1273
CUMULUS-1226
elasticsearch/index-from-database
to index to an Elasticsearch index from the database for recovery purposes and elasticsearch/indices-status
to check the status of Elasticsearch indices via the API.CUMULUS-824
reportToEms
to configure whether the collection is reported to EMSCUMULUS-1357
ems
that generates EMS reports.CUMULUS-1241
meta.queueExecutionLimits
)CUMULUS-1311
@cumulus/common/message
with various message parsing/preparation helpersCUMULUS-812
CUMULUS-1337
cumulus.stackName
value to the instanceMetadata
endpoint.CUMULUS-1368
cmrGranuleUrlType
to the @cumulus/move-granules
task. This determines what kind of links go in the CMR files. The options are distribution
, s3
, or none
, with the default being distribution. If there is no distribution API being used with Cumulus, you must set the value to s3
or none
.Added packages/s3-replicator
Terraform module to allow same-region s3 replication to metrics bucket.
CUMULUS-1392
tf-modules/report-granules
Terraform module which processes granule ingest notifications received via SNS and stores granule data to a database. The module includes:
CUMULUS-1393
tf-modules/report-pdrs
Terraform module which processes PDR ingest notifications received via SNS and stores PDR data to a database. The module includes:
@cumulus/api/models/pdrs.createPdrFromSns()
CUMULUS-1400
tf-modules/report-executions
Terraform module which processes workflow execution information received via SNS and stores it to a database. The module includes:
@cumulus/common/sns-event
which contains helpers for SNS events:
isSnsEvent()
returns true if event is from SNSgetSnsEventMessage()
extracts and parses the message from an SNS eventgetSnsEventMessageObject()
extracts and parses message object from an SNS event@cumulus/common/cloudwatch-event
which contains helpers for Cloudwatch events:
isSfExecutionEvent()
returns true if event is from Step FunctionsisTerminalSfStatus()
determines if a Step Function status from a Cloudwatch event is a terminal statusgetSfEventStatus()
gets the Step Function status from a Cloudwatch eventgetSfEventDetailValue()
extracts a Step Function event detail field from a Cloudwatch eventgetSfEventMessageObject()
extracts and parses Step Function detail object from a Cloudwatch eventCUMULUS-1429
tf-modules/data-persistence
Terraform module which includes resources for data persistence in Cumulus:
CUMULUS-1379 CMR Launchpad Authentication
launchpad
configuration to @cumulus/deployment/app/config.yml
, and cloudformation templates, workflow message, lambda configuration, api endpoint configuration@cumulus/common/LaunchpadToken
and @cumulus/common/launchpad
to provide methods to get token and validate tokenCUMULUS-1232
@cumulus/cmr-client
updateToken()
CUMULUS-1245 CUMULUS-795
ems
configuration parameters for sending the ingest reports to EMSCUMULUS-1241
sqs2sfThrottle
lambda:
cumulus_meta.queueName
meta.queueExecutionLimits[queueName]
, where queueName
is cumulus_meta.queueName
sfSemaphoreDown
lambda to only attempt decrementing semaphores when:
cumulus_meta.queueName
exists on the Cumulus message ANDcumulus_meta.queueName
) exists in the the object meta.queueExecutionLimits
on the Cumulus messageCUMULUS-1338
sfSemaphoreDown
lambda to be triggered via AWS Step Function Cloudwatch events instead of subscription to sfTracker
SNS topicCUMULUS-1311
@cumulus/queue-granules
to set cumulus_meta.queueName
for queued execution messages@cumulus/queue-pdrs
to set cumulus_meta.queueName
for queued execution messagessqs2sfThrottle
lambda to immediately decrement queue semaphore value if dispatching Step Function execution throws an errorCUMULUS-1362
processingStartTime
and processingEndTime
will be set to the execution start time and end time respectively when there is no sync granule or post to cmr task present in the workflowCUMULUS-1400
@cumulus/ingest/aws/getExecutionArn
. Use @cumulus/common/aws/getExecutionArn
instead.CUMULUS-1439
CUMULUS-796
CUMULUS-1319
CUMULUS-1356
Collection
model's delete
method now removes the specified item
from the collection config store that was inserted by the create
method.
Previously, this behavior was missing.CUMULUS-1374
cmaDir
key to configuration will cause CUMULUS_MESSAGE_ADAPTER_DIR
to be set by default to /opt
for any Lambda not setting useCma
to true, or explicitly setting the CMA environment variable. In lambdas that package the CMA independently of the Cumulus packaging. Lambdas manually packaging the CMA should have their Lambda configuration updated to set the CMA path, or alternately if not using the CMA as a Lambda layer in this deployment set cmaDir
to ./cumulus-message-adapter
.CUMULUS-1337
PR1130
@cumulus/common/step-functions
. Use @cumulus/common/StepFunctions
instead.@cumulus/api/lib/testUtils.fakeFilesFactory
. Use @cumulus/api/lib/testUtils.fakeFileFactory
instead.@cumulus/cmrjs/cmr
functions: searchConcept
, ingestConcept
, deleteConcept
. Use the functions in @cumulus/cmr-client
instead.@cumulus/ingest/aws.getExecutionHistory
. Use @cumulus/common/StepFunctions.getExecutionHistory
instead.Changelog
[v1.13.4] - 2019-07-29
Changelog
[v1.13.3] - 2019-07-26
cmr
.
cmrEnvironment
values are SIT
, UAT
, or OPS
with UAT
as the default.cmrLimit
and cmrPageSize
have been added as configurable options.Changelog
[v1.13.2] - 2019-07-25
Changelog
[v1.13.1] - 2019-07-22
Changelog
[v1.13.0] - 2019-5-20
CUMULUS-802 added some additional IAM permissions to support ECS autoscaling, so you will have to redeploy your IAM stack. As a result of the changes for CUMULUS-1193, CUMULUS-1264, and CUMULUS-1310, you must delete your existing stacks (except IAM) before deploying this version of Cumulus. If running Cumulus within a VPC and extended downtime is acceptable, we recommend doing this at the end of the day to allow AWS backend resources and network interfaces to be cleaned up overnight.
CUMULUS-1228
ecs.amiid
property in your config. Instructions for finding
the most recent NGAP AMI can be found using
these instructions.CUMULUS-1310
db
stack.
Migrations for this version will need to be user-managed. (e.g. elasticsearch and dynamoDB).
Order of stack deployment is iam
-> db
-> app
.config.yml
file, i.e.: kes cf deploy --kes-folder app --template node_modules/@cumulus/deployment/[iam|db|app] [...]
Backwards-compatible. For development, please re-run npm run bootstrap
to build new kes
overrides.
Deployment docs have been updated to show how to deploy a single-config Cumulus instance.params
have been moved: Nest params
fields under app
, db
or iam
to override all Parameters for a particular stack's cloudformation template. Backwards-compatible with multi-config setups.stackName
and stackNameNoDash
have been retired. Use prefix
and prefixNoDash
instead.iams
section in app/config.yml
IAM roles has been deprecated as a user-facing parameter,
unless your IAM role ARNs do not match the convention shown in @cumulus/deployment/app/config.yml
vpc.securityGroup
will need to be set with a pre-existing security group ID to use Cumulus in a VPC. Must allow inbound HTTP(S) (Port 443).CUMULUS-1212
@cumulus/post-to-cmr
will now fail if any granules being processed are missing a metadata file. You can set the new config option skipMetaCheck
to true
to pass post-to-cmr without a metadata file.CUMULUS-1232
@cumulus/sync-granule
will no longer silently pass if no checksum data is provided. It will use input
from the granule object to:
checksumType
and checksumValue
are in the file record OR a checksum file is provided
(throws InvalidChecksum
on fail), else log warning that no checksum is available.file.size
is in the file record (throws UnexpectedFileSize
on fail),
else log warning that no file size is available.CUMULUS-1264
CumulusApiDefault
nested stack resource has been renamed to CumulusApiDistribution
CumulusApiV1
nested stack resource has been renamed to CumulusApiBackend
urs: true
config option for when defining your lambdas (e.g. in lambdas.yml
) has been deprecated. There are two new options to replace it:
urs_redirect: 'token'
: This will expose a TOKEN_REDIRECT_ENDPOINT
environment variable to your lambda that references the /token
endpoint on the Cumulus backend APIurs_redirect: 'distribution'
: This will expose a DISTRIBUTION_REDIRECT_ENDPOINT
environment variable to your lambda that references the /redirect
endpoint on the Cumulus distribution APICUMULUS-1193
aws iam create-service-linked-role --aws-service-name es.amazonaws.com
CUMULUS-802
maxInstances
must be greater than minInstances
. If you use defaults, no change is required.CUMULUS-1269
fileType
field to type
fileSize
field to size
checksumValue
field to checksum
where not already done.ancillary
and linkage
type support to file objects.CUMULUS-799
CUMULUS-1242 - Added sqs2sfThrottle
lambda. The lambda reads SQS messages for queued executions and uses semaphores to only start new executions if the maximum number of executions defined for the priority key (cumulus_meta.priorityKey
) has not been reached. Any SQS messages that are read but not used to start executions remain in the queue.
CUMULUS-1240
sfSemaphoreDown
lambda. This lambda receives SNS messages and for each message it decrements the semaphore used to track the number of running executions if:
cumulus_meta.priorityKey
)sfSemaphoreDown
lambda as a subscriber to the sfTracker
SNS topicCUMULUS-1265
apiConfigs
configuration option to configure API Gateway to be privateNoVpc
lambdas from documentation and example
folder.CUMULUS-802
Updated @cumulus/ingest/http/httpMixin.list()
to trim trailing spaces on discovered filenames
CUMULUS-1310
db
stack.
This will enable future updates to avoid affecting database resources or requiring migrations.
Migrations for this version will need to be user-managed.
(e.g. elasticsearch and dynamoDB).
Order of stack deployment is iam
-> db
-> app
.config.yml
file, i.e.: kes cf deploy --kes-folder app --template node_modules/@cumulus/deployment/[iam|db|app] [...]
Backwards-compatible. Please re-run npm run bootstrap
to build new kes
overrides.
Deployment docs have been updated to show how to deploy a single-config Cumulus instance.params
fields should now be nested under the stack key (i.e. app
, db
or iam
) to provide Parameters for a particular stack's cloudformation template,
for use with single-config instances. Keys must match the name of the deployment package folder (app
, db
, or iam
).
Backwards-compatible with multi-config setups.stackName
and stackNameNoDash
have been retired as user-facing config parameters. Use prefix
and prefixNoDash
instead.
This will be used to create stack names for all stacks in a single-config use case.
stackName
may still be used as an override in multi-config usage, although this is discouraged.
Warning: overriding the db
stack's stackName
will require you to set dbStackName
in your app/config.yml
.
This parameter is required to fetch outputs from the db
stack to reference in the app
stack.iams
section in app/config.yml
IAM roles has been retired as a user-facing parameter,
unless your IAM role ARNs do not match the convention shown in @cumulus/deployment/app/config.yml
In that case, overriding iams
in your own config is recommended.iam
and db
cloudformation.yml
file names will have respective prefixes (e.g iam.cloudformation.yml
).private
, public
and protected
types.vpc.securityGroup
in config.yml
.
This security group must allow inbound HTTP(S) traffic (Port 443). SSH traffic (Port 22) must be permitted for SSH access to ECS instances.CUMULUS-1236
CUMULUS-1223
CUMULUS-1232
ingest/granule.handleDuplicateFile
for maintainability.ingest/granule.ingestFile
and move-granules/index.moveFileRequest
to use new function.ingest/granule.moveGranuleFileWithVersioning
ingest/granule.verifyFile
now also tests file.size
for verification if it is in the file record and throws
UnexpectedFileSize
error for file size not matching input.ingest/granule.verifyFile
logs warnings if checksum and/or file size are not available.CUMULUS-1193
CUMULUS-1207
Updated Lerna publish script so that published Cumulus packages will pin their dependencies on other Cumulus packages to exact versions (e.g. 1.12.1
instead of ^1.12.1
)
CUMULUS-1203
CUMULUS-1268
Changelog
[v1.12.0] - 2019-4-4
Note: There was an issue publishing 1.12.0. Upgrade to 1.12.1.
CUMULUS-1139
granule.applyWorkflow
uses the new-style granule record as input to workflows.CUMULUS-1171
http
or https
providers so that the host field only
contains a valid hostname or IP address, and the port field contains the
provider port.CUMULUS-1176:
@cumulus/move-granules
input expectations have changed. @cumulus/files-to-granules
is a new intermediate task to perform input translation in the old style.
See the Added and Changed sections of this release changelog for more information.CUMULUS-670
CUMULUS-1208
@cumulus/queue-granules
will now be added to ingest workflow messages as is. In practice, this means that if you are using @cumulus/queue-granules
to trigger ingest workflows and your granule objects input have invalid properties, then your ingest workflows will fail due to schema validation errors.CUMULUS-777
CUMULUS-1183
CUMULUS-1223
@cumulus/common/bucketsConfigJsonObject
for fetching stack's bucket configuration as an object.CUMULUS-853
CUMULUS-805
AWS_REGION
in .env
to be used by deployment scriptCUMULUS-803
CUMULUS-670
CUMULUS-1184 - Added kes logging output to ensure we always see the state machine reference before failures due to configuration
CUMULUS-1105 - Added a dashboard endpoint to serve the dashboard from an S3 bucket
CUMULUS-1199 - Moves s3credentials
endpoint from the backend to the distribution API.
CUMULUS-666
@api/endpoints/s3credentials
to allow EarthData Login authorized users to retrieve temporary security credentials for same-region direct S3 access.CUMULUS-671
@packages/integration-tests/api/distribution/getDistributionApiS3SignedUrl()
to return the S3 signed URL for a file protected by the distribution APICUMULUS-672
cmrMetadataFormat
and cmrConceptId
to output for individual granules from @cumulus/post-to-cmr
. cmrMetadataFormat
will be read from the cmrMetadataFormat
generated for each granule in @cumulus/cmrjs/publish2CMR()
@packages/integration-tests/api/distribution
:
getDistributionApiFileStream()
returns a stream to download files protected by the distribution APIgetDistributionFileUrl()
constructs URLs for requesting files from the distribution APICUMULUS-1185 @cumulus/api/models/Granule.removeGranuleFromCmrByGranule
to replace @cumulus/api/models/Granule.removeGranuleFromCmr
and use the Granule UR from the CMR metadata to remove the granule from CMR
CUMULUS-1101
@cumulus/checksum
package. This package provides functions to calculate and validate checksums.@cumulus/common/aws
: calculateS3ObjectChecksum
and validateS3ObjectChecksum
, which depend on the checksum
package.CUMULUS-1171
@cumulus/common
API documentation to packages/common/docs/API.md
npm run build-docs
task to @cumulus/common
@cumulus/common/string#isValidHostname()
@cumulus/common/string#match()
@cumulus/common/string#matches()
@cumulus/common/string#toLower()
@cumulus/common/string#toUpper()
@cumulus/common/URLUtils#buildURL()
@cumulus/common/util#isNil()
@cumulus/common/util#isNull()
@cumulus/common/util#isUndefined()
@cumulus/common/util#negate()
CUMULUS-1176
@cumulus/files-to-granules
task to handle converting file array output from cumulus-process
tasks into granule objects.
Allows simplification of @cumulus/move-granules
and @cumulus/post-to-cmr
, see Changed section for more details.CUMULUS-1151 Compare the granule holdings in CMR with Cumulus' internal data store
CUMULUS-1152 Compare the granule file holdings in CMR with Cumulus' internal data store
CUMULUS-1216 - Updated @cumulus/ingest/granule/ingestFile
to download files to expected staging location.
CUMULUS-1208 - Updated @cumulus/ingest/queue/enqueueGranuleIngestMessage()
to not transform granule object passed to it when building an ingest message
CUMULUS-1198 - @cumulus/ingest
no longer enforces any expectations about whether provider_path
contains a leading slash or not.
CUMULUS-1170
npm
instead of yarn
package-lock.json
files to ensure matching versions of npm packagesnpm ci
instead of npm install
CUMULUS-670
CUMULUS-1139 - Granules stored in the API contain a files
property. That schema has been greatly
simplified and now better matches the CNM format.
name
property has been renamed to fileName
.filepath
property has been renamed to key
.checksumValue
property has been renamed to checksum
.path
property has been removed.url_path
property has been removed.filename
property (which contained an s3://
URL) has been removed, and the bucket
and key
properties should be used instead. Any requests sent to the API containing a granule.files[].filename
property will be rejected, and any responses coming back from the API will not contain that
filename
property.source
property has been added, which is a URL indicating the original source of the file.@cumulus/ingest/granule.moveGranuleFiles()
no longer includes a filename
field in its
output. The bucket
and key
fields should be used instead.CUMULUS-672
@cumulus/integration-tests/api/EarthdataLogin.getEarthdataLoginRedirectResponse
to @cumulus/integration-tests/api/EarthdataLogin.getEarthdataAccessToken
. The new function returns an access response from Earthdata login, if successful.@cumulus/integration-tests/cmr/getOnlineResources
now accepts an object of options, including cmrMetadataFormat
. Based on the cmrMetadataFormat
, the function will correctly retrieve the online resources for each metadata format (ECHO10, UMM-G)CUMULUS-1101
@cumulus/common/file/getFileChecksumFromStream
into @cumulus/checksum
, and renamed it to generateChecksumFromStream
.
This is a breaking change for users relying on @cumulus/common/file/getFileChecksumFromStream
.@cumulus/ingest/Granule
to depend on new common/aws
checksum functions and remove significantly present checksumming code.
@cumulus/ingest/granule.validateChecksum
. Replaced with @cumulus/ingest/granule.verifyFile
.granule.getChecksumFromFile
to granule.retrieveSuppliedFileChecksumInformation
to be more accurate.@cumulus/common/aws.checksumS3Objects
. Use @cumulus/common/aws.calculateS3ObjectChecksum
instead.CUMULUS-1171
host
and
port
properties. HTTP providers ignored port
and protocol
, and stored
an entire URL in the host
property. Updated the API to only accept valid
hostnames or IP addresses in the provider.host
field. Updated ingest code
to properly build HTTP and HTTPS URLs from provider.protocol
,
provider.host
, and provider.port
.CUMULUS-1176
@cumulus/move-granules
breaking change:
Input to move-granules
is now expected to be in the form of a granules object (i.e. { granules: [ { ... }, { ... } ] }
);
For backwards compatibility with array-of-files outputs from processing steps, use the new @cumulus/files-to-granules
task as an intermediate step.
This task will perform the input translation. This change allows move-granules
to be simpler and behave more predictably.
config.granuleIdExtraction
and config.input_granules
are no longer needed/used by move-granules
.@cumulus/post-to-cmr
: config.granuleIdExtraction
is no longer needed/used by post-to-cmr
.CUMULUS-1174
@cumulus/api
files and granules were not getting indexed correctly because files indexing was failing in db-indexer
@cumulus/deployment
A bug in the Cloudformation template was preventing the API from being able to be launched in a VPC, updated the IAM template to give the permissions to be able to run the API in a VPC@cumulus/api/models/Granule.removeGranuleFromCmr
, instead use @cumulus/api/models/Granule.removeGranuleFromCmrByGranule
@cumulus/ingest/granule.validateChecksum
, instead use @cumulus/ingest/granule.verifyFile
@cumulus/common/aws.checksumS3Objects
, instead use @cumulus/common/aws.calculateS3ObjectChecksum
@cumulus/cmrjs
: getGranuleId
and getCmrFiles
are deprecated due to changes in input handling.Changelog
[v1.11.3] - 2019-3-5
@cumulus/ingest/granule/duplicateHandlingType()
to determine how duplicate files should be handled in an ingest workflowChangelog
[v1.11.2] - 2019-2-15
@cumulus/common/StepFunctions
module. It contains functions for querying the AWS
StepFunctions API. These functions have the ability to retry when a ThrottlingException occurs.@cumulus/common/aws.retryOnThrottlingException()
, which will wrap a function in code to
retry on ThrottlingExceptions.@cumulus/common/test-utils.throttleOnce()
, which will cause a function to return a
ThrottlingException the first time it is called, then return its normal result after that.reconcileCMRMetadata
added to @cumulus/cmrjs
to update metadata record with new file locations.
@cumulus/common/errors
adds two new error types CMRMetaFileNotFound
and InvalidArgument
.
@cumulus/common/test-utils
adds new function randomId
to create a random string with id to help in debugging.
@cumulus/common/BucketsConfig
adds a new helper class BucketsConfig
for working with bucket stack configuration and bucket names.
@cumulus/common/aws
adds new function s3PutObjectTagging
as a convenience for the aws s3().putObjectTagging function.
@cumulus/cmrjs
Adds: - isCMRFile
- Identify an echo10(xml) or UMMG(json) metadata file. - metadataObjectFromCMRFile
Read and parse CMR XML file from s3. - updateCMRMetadata
Modify a cmr metadata (xml/json) file with updated information. - publish2CMR
Posts XML or UMMG CMR data to CMR service. - reconcileCMRMetadata
Reconciles cmr metadata file after a file moves.@cumulus/integration-tests/api/EarthdataLogin.getEarthdataLoginRedirectResponse
helper for integration tests to handle login with Earthdata and to return response from redirect to Cumulus API@cumulus/common/file/getFileChecksumFromStream
to get file checksum from a readable streamCUMULUS-1169
@cumulus/common/step-functions
module.@cumulus/common/StepFunctions
CUMULUS-1121
CUMULUS-678
tasks/move-granules
simplified and refactored to use functionality from cmrjs.
ingest/granules.moveGranuleFiles
now just moves granule files and returns a list of the updated files. Updating metadata now handled by @cumulus/cmrjs/reconcileCMRMetadata
.
move-granules.updateGranuleMetadata
refactored and bugs fixed in the case of a file matching multiple collection.files.regexps.
getCmrXmlFiles
simplified and now only returns an object with the cmrfilename and the granuleId.
@cumulus/test-processing
- test processing task updated to generate UMM-G metadata
CUMULUS-1043
@cumulus/api
now uses express as the API engine.@cumulus/api
endpoints on ApiGateway are consolidated to a single endpoint the uses {proxy+}
definition.packages/api/endpoints
along with associated tests are updated to support express's request and response objects.internal
, bucket
and systemBucket
with system_bucket
.@cumulus/integration-tests
to work with updated cumulus-api express endpoints@cumulus/integration-tests
- buildAndExecuteWorkflow
and buildWorkflow
updated to take a meta
param to allow for additional fields to be added to the workflow meta
CUMULUS-1049 Updated Retrieve Execution Status API
in @cumulus/api
: If the execution doesn't exist in Step Function API, Cumulus API returns the execution status information from the database.
CUMULUS-1119
DISTRIBUTION_URL
environment variable to DISTRIBUTION_ENDPOINT
DEPLOYMENT_ENDPOINT
environment variable to DISTRIBUTION_REDIRECT_ENDPOINT
API_ENDPOINT
environment variable to TOKEN_REDIRECT_ENDPOINT
@cmrjs/ingestConcept
, instead use the CMR object methods. @cmrjs/CMR.ingestGranule
or @cmrjs/CMR.ingestCollection
@cmrjs/searchConcept
, instead use the CMR object methods. @cmrjs/CMR.searchGranules
or @cmrjs/CMR.searchCollections
@cmrjs/deleteConcept
, instead use the CMR object methods. @cmrjs/CMR.deleteGranule
or @cmrjs/CMR.deleteCollection