Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@cumulus/common
Advanced tools
Common libraries used in Cumulus.
npm install @cumulus/common
Cumulus is a cloud-based data ingest, archive, distribution and management prototype for NASA's future Earth science data streams.
To make a contribution, please see our contributing guidelines.
[v1.19.0] 2020-02-28
CUMULUS-1736
@cumulus/discover-granules
task now sets the dataType
of discovered
granules based on the name
of the configured collection, not the
dataType
.@cumulus/discover-granules
task now requires that
collections contain a version
.@cumulus/sync-granule
task will set the dataType
and version
of a
granule based on the configured collection if those fields are not already
set on the granule. Previously it was using the dataType
field of the
configured collection, then falling back to the name
field of the
collection. This update will just use the name
field of the collection to
set the dataType
field of the granule.CUMULUS-1446
@cumulus/integration-tests/api/executions.getExecution()
function to parse the response and return the execution, rather than return
the full API response.CUMULUS-1672
cumulus
Terraform module in previous releases set a
Deployment = var.prefix
tag on all resources that it managed. In this
release, a tags
input variable has been added to the cumulus
Terraform
module to allow resource tagging to be customized. No default tags will be
applied to Cumulus-managed resources. To replicate the previous behavior,
set tags = { Deployment: var.prefix }
as an input variable for the
cumulus
Terraform module.CUMULUS-1684 Migration Instructions
<prefix>-ProviderSecretsMigration
, which will re-encrypt existing
provider credentials to use KMS. After this release has been deployed, you
will need to manually invoke that Lambda function using either the AWS CLI
or AWS Console. It should only need to be successfully run once.<prefix>-VerifyProviderSecretsMigration
Lambda function as part of the
deployment, which will cause the deployment to fail if the migration
Lambda has not been run.CUMULUS-1718
@cumulus/sf-sns-report
task for reporting mid-workflow updates has been retired.
This task was used as the PdrStatusReport
task in our ParsePdr example workflow.
If you have a ParsePdr or other workflow using this task, use @cumulus/sf-sqs-report
instead.
Trying to deploy the old task will result in an error as the cumulus module no longer exports sf_sns_report_task
."Resource": "${module.cumulus.sf_sns_report_task.task_arn}"
to
"Resource": "${module.cumulus.sf_sqs_report_task.task_arn}"
CUMULUS-1755
thin_egress_jwt_secret_name
variable for the tf-modules/cumulus
Terraform module is now required. This variable is passed on to the Thin Egress App in tf-modules/distribution/main.tf
, which uses the keys stored in the secret to sign JWTs. See the Thin Egress App documentation on how to create a value for this secret.CUMULUS-1446
@cumulus/common/FileUtils.readJsonFile()
function@cumulus/common/FileUtils.readTextFile()
function@cumulus/integration-tests/api/collections.createCollection()
function@cumulus/integration-tests/api/collections.deleteCollection()
function@cumulus/integration-tests/api/collections.getCollection()
function@cumulus/integration-tests/api/providers.getProvider()
function@cumulus/integration-tests/index.getExecutionOutput()
function@cumulus/integration-tests/index.loadCollection()
function@cumulus/integration-tests/index.loadProvider()
function@cumulus/integration-tests/index.readJsonFilesFromDir()
functionCUMULUS-1672
tags
input variable to the archive
Terraform moduletags
input variable to the cumulus
Terraform moduletags
input variable to the cumulus_ecs_service
Terraform moduletags
input variable to the data-persistence
Terraform moduletags
input variable to the distribution
Terraform moduletags
input variable to the ingest
Terraform moduletags
input variable to the s3-replicator
Terraform moduleCUMULUS-1707
CUMULUS-1684
@cumulus/aws-client/KMS
library of KMS-related functions@cumulus/aws-client/S3.getTextObject()
@cumulus/sftp-client
packageProviderSecretsMigration
Lambda functionVerifyProviderSecretsMigration
Lambda functionCUMULUS-1548
CUMULUS-1702
CUMULUS-1459
CUMULUS-1717
@cumulus/aws-client/deleteAndWaitForDynamoDbTableNotExists
, which
deletes a DynamoDB table and waits to ensure the table no longer existspublishGranules
Lambda to handle publishing granule messages to SNS when granule records are written to DynamoDB@cumulus/api/models/Granule.storeGranulesFromCumulusMessage
to store granules from a Cumulus message to DynamoDBCUMULUS-1718
@cumulus/sf-sqs-report
task to allow mid-workflow reporting updates.stepfunction_event_reporter_queue_url
and sf_sqs_report_task
outputs to the cumulus
module.publishPdrs
Lambda to handle publishing PDR messages to SNS when PDR records are written to DynamoDB.@cumulus/api/models/Pdr.storePdrFromCumulusMessage
to store PDRs from a Cumulus message to DynamoDB.@cumulus/aws-client/parseSQSMessageBody
to parse an SQS message body string into an object.Ability to set custom backend API url in the archive module
api_url
definition in tf-modules/cumulus/archive.tf
archive_api_url
variable in tf-modules/cumulus/variables.tf
CUMULUS-1741
elasticsearch_security_group_ids
variable to the
data-persistence
Terraform module to allow additional security groups to
be assigned to the Elasticsearch Domain.CUMULUS-1752
@cumulus/integration-tests/api/distribution.invokeTEADistributionLambda
to simulate a request to the Thin Egress App by invoking the Lambda and getting a response payload.@cumulus/integration-tests/api/distribution.getTEARequestHeaders
to generate necessary request headers for a request to the Thin Egress App@cumulus/integration-tests/api/distribution.getTEADistributionApiFileStream
to get a response stream for a file served by Thin Egress App@cumulus/integration-tests/api/distribution.getTEADistributionApiRedirect
to get a redirect response from the Thin Egress AppCUMULUS-1755
@cumulus/aws-client/CloudFormation.describeCfStack()
to describe a Cloudformation stack@cumulus/aws-client/CloudFormation.getCfStackParameterValues()
to get multiple parameter values for a Cloudformation stackCUMULUS-1725
granuleFilesCacheUpdater
.CUMULUS-1736
collections
model in the API package now determines the name of a
collection based on the name
property, rather than using dataType
and
then falling back to name
.@cumulus/integration-tests.loadCollection()
function no longer appends
the postfix to the end of the collection's dataType
.@cumulus/integration-tests.addCollections()
function no longer appends
the postfix to the end of the collection's dataType
.CUMULUS-1672
retryOptions
parameter to the @cumulus/aws-client/S3.headObject
function, which will retry if the object being queried does not exist.CUMULUS-1446
@cumulus/integration-tests/api.addCollectionApi()
function as
deprecated@cumulus/integration-tests/index.listCollections()
function as
deprecated@cumulus/integration-tests/index.listProviders()
function as
deprecated@cumulus/integration-tests/index.rulesList()
function as
deprecatedCUMULUS-1672
cumulus
module defaulted to setting a
Deployment = var.prefix
tag on all resources that it managed. In this
release, the cumulus
module will now accept a tags
input variable that
defines the tags to be assigned to all resources that it manages.data-persistence
module defaulted to setting a
Deployment = var.prefix
tag on all resources that it managed. In this
release, the data-persistence
module will now accept a tags
input
variable that defines the tags to be assigned to all resources that it
manages.distribution
module defaulted to setting a
Deployment = var.prefix
tag on all resources that it managed. In this
release, the distribution
module will now accept a tags
input variable
that defines the tags to be assigned to all resources that it manages.ingest
module defaulted to setting a
Deployment = var.prefix
tag on all resources that it managed. In this
release, the ingest
module will now accept a tags
input variable that
defines the tags to be assigned to all resources that it manages.s3-replicator
module defaulted to setting a
Deployment = var.prefix
tag on all resources that it managed. In this
release, the s3-replicator
module will now accept a tags
input variable
that defines the tags to be assigned to all resources that it manages.CUMULUS-1684
CUMULUS-1717
cwSfExecutionEventToDb
Lambda to cwSfEventToDbRecords
cwSfEventToDbRecords
to write granule records to DynamoDB from the incoming Cumulus messageCUMULUS-1718
cwSfEventToDbRecords
to sfEventSqsToDbRecords
due to architecture change to being a consumer of an SQS queue of Step Function Cloudwatch events.sfEventSqsToDbRecords
to write PDR records to DynamoDB from the incoming Cumulus messagedata-cookbooks/sns.md
to data-cookbooks/ingest-notifications.md
and updated it to reflect recent changes.CUMULUS-1748
CUMULUS-1752
@cumulus/api/lib/DistributionEvent.js
DistributionEvent
to properly parse S3 access logs generated by requests from the Thin Egress AppCUMULUS-1753 - Changes to @cumulus/ingest/HttpProviderClient.js
:
HttpProviderClient.list()
that was used to return only files with an extension between 1 and 4 characters long. HttpProviderClient.list()
will now return all files linked from the HTTP provider host.CUMULUS-1755
tf-modules/distribution/main.tf
to build 61. See the release notes.CUMULUS-1757
CUMULUS-1684
@cumulus/common/key-pair-provider/S3KeyPairProvider
@cumulus/common/key-pair-provider/S3KeyPairProvider.encrypt()
@cumulus/common/key-pair-provider/S3KeyPairProvider.decrypt()
@cumulus/common/kms/KMS
@cumulus/common/kms/KMS.encrypt()
@cumulus/common/kms/KMS.decrypt()
@cumulus/common/sftp.Sftp
CUMULUS-1717
@cumulus/api/models/Granule.createGranulesFromSns
CUMULUS-1718
@cumulus/sf-sns-report
.
@cumulus/sf-sqs-report
instead. This was done because there is no longer an SNS topic to which to publish, and no consumers to listen to it.CUMULUS-1748
@cumulus/ingest/util.normalizeProviderPath
CUMULUS-1752
@cumulus/integration-tests/api/distribution.getDistributionApiFileStream
@cumulus/integration-tests/api/distribution.getDistributionApiRedirect
@cumulus/integration-tests/api/distribution.invokeApiDistributionLambda
CUMULUS-1684
CUMULUS-1768
stats/histogram
and stats/average
. All advanced stats needs should be acquired from Cloud Metrics or similarly configured ELK stack.Fix default values for urs_url in variables.tf files
/
from default urs_url
values.CUMULUS-1610 - Add the Elasticsearch security group to the EC2 security groups
CUMULUS-1740 - cumulus_meta.workflow_start_time
is now set in Cumulus
messages
CUMULUS-1753 - Fixed @cumulus/ingest/HttpProviderClient.js
to properly handle HTTP providers with:
<a>
) per line of source code<A>
)<a href="/path/to/file.txt">
). These files will be returned from HTTP file discovery as the file name only (e.g. file.txt
).CUMULUS-1768
@cumulus/api
to send back stats for the correct typeFAQs
Common utilities used across tasks
The npm package @cumulus/common receives a total of 210 weekly downloads. As such, @cumulus/common popularity was classified as not popular.
We found that @cumulus/common demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.