Skip to content

CSD-91: Make the updateGranuleIdentifiers flag configurable in the update-granules-cmr-metadata-file-links task#4246

Draft
acyu wants to merge 36 commits into
masterfrom
acyu/CSD-91
Draft

CSD-91: Make the updateGranuleIdentifiers flag configurable in the update-granules-cmr-metadata-file-links task#4246
acyu wants to merge 36 commits into
masterfrom
acyu/CSD-91

Conversation

@acyu

@acyu acyu commented Feb 4, 2026

Copy link
Copy Markdown
Contributor

Summary: Summary of changes

Addresses CSD-91: Make the updateGranuleIdentifiers flag configurable in the update-granules-cmr-metadata-file-links task

Changes

  • Detailed list or prose of changes
  • ...

PR Checklist

  • Update CHANGELOG
  • Unit tests
  • Ad-hoc testing - Deploy changes and test manually
  • Integration tests

📝 Note:
For most pull requests, please Squash and merge to maintain a clean and readable commit history.

@acyu acyu marked this pull request as draft February 4, 2026 22:17
…-modules

* update update-granule-cmr-metadata-file-links updateEachCmrFileMetadata function to pass update_granule_identifiers env var
@acyu acyu marked this pull request as ready for review February 12, 2026 16:54
Comment thread packages/cmrjs/tests/cmr-utils/test-cmr-utils.js

@Jkovarik Jkovarik left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See comment on test file

acyu-jpl and others added 8 commits February 12, 2026 10:11
* change variable name from default_update_granule_identifiers to just update_granule_identifiers
…pdate-granules-cmr-metadata-file-links test

Add sinon and rewire to update-granules-cmr-metadata-file-links test file for testing update_granule_identifiers environment variable is been passed to updateCMRMetadata function.
@acyu acyu requested a review from Jkovarik February 14, 2026 00:56
reweeden and others added 11 commits February 24, 2026 10:21
* Add terraform

* Update workflow deployed CnmResponse lambda to avoid name conflict

* Update CHANGELOG.md

* Update granule-invalidator task terraform to match cnm-response

* Update cnm-to-cma task to match other corified tasks

* Rework packaging to use global package_uv.sh
* Update AJV versions

* Update aws-sdk versions to ^3.993.0 to address CVE findings

* fixup

* Update rule tests

* Fix bad merge

* Fixup

* Update kinesis consumer tests

* Update minimatch to ^10.2.1

* Add GHSA-3ppc-4f35-3m26 to audit-ci.json

* Fix invalid task schemas

* Update move-granules schema to remove bogus structure

* Update sync-granules schemas

* Fix send-pan schema

* Update unit test bootsrap

* Updating sftp client to handle connection hangups on .end

* fixup

* Update sftp client to explicitly close the sftpReadStream

* Add tmissing tests/cover new cases from sftp client fix

* Update lzards backup schema

* Update scripts to match changes from CUMULUS-4387

* Fix modified sync granules schema to allow for CMA compatibility

* Update CHANGELOG

* Fixup

* Fixup x2

* Add missing commits

* Add stream error listener/handler

* Add units demonstrating the event catch case

* Fix lodash/noop import

* Update json-schema-to-typescript ^15.0.4
…4248)

* CUMULUS-451:Create s3search Module for DuckDB with S3-Backed Tables
* increment version to 21.3.0

* increment async-operation to 55

* update CL

* update contributors

* update package api docs

* add website documentation

* Release 21.3.0 (#4227)

* increment version to 21.3.0

* increment async-operation to 55

* update CL

* update contributors

* update package api docs

* add website documentation

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Tim Clark <tim.clark@nasa.gov>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* Release 21.3.0 (#4233)

* Update lerna to v8, add tar override shim (#4230)

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

---------

Co-authored-by: Tim Clark <tim.clark@nasa.gov>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* fix CL 4458

* add tar_shim to npm publish

* fix compare in CL

* update async_operation_image_version to 55

* update async_operation_image_version to 55

* update ecs async-operation Dockerfile to node 22

* increment version in website package.json

* Release 21.3.1 (#4255)

* added states:StartExecution action to the <prefix>-steprole IAM role

* Overriding vulnerable dependency in @aws-client/xml-builder

(cherry picked from commit eeefc18)

* Moved fast-xml-parser override to the root package.json

(cherry picked from commit d32ab15)

* CUMULUS-4514 cherry pick

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* version bump to 21.3.1

---------

Co-authored-by: Tim Clark <tim.clark@nasa.gov>
Co-authored-by: mikedorfman <michael.dorfman@colorado.edu>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>

* update changelog for v21.3.1

* update CL

---------

Co-authored-by: Tim Clark <tim.clark@nasa.gov>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: mikedorfman <michael.dorfman@colorado.edu>
* First pass at an aws-api-proxy task

* Added a readme
Updated schema generators

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updated Changelog

* Updated old granule-invalidator references

* Added partial failure compatibility

* Added package_uv to bin root from a different feature branch

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* Updates based on PR feedback

* Updated ajv from 6.12.3 to 8.18.0 to test dependency vulnerability fix

* Updated readonly->readOnly in schemas after strict-mode check

* Updates per PR feedback

* Reverting config validation to use a static list of literals with a bit comment disclaimer

* Fixed broken output validation

* Reverted ajv version bump

---------

Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
…um core task (#4211)

* implemented multipart checksum computation based on threshold and partition values

* fixed ESLint errors and warnings

* add retries to s3 getObject calls using aws-client, cleaned up unit tests

* [pre-commit.ci] auto fixes from pre-commit.com hooks

for more information, see https://pre-commit.ci

* cleaned up granule size variables and arguments

* cleaned up typing, removed env variables for setting retries

* updated CHANGELOG with CUMULUS-4352 changes

* updated unit tests to check updateHashFromBody branches

---------

Co-authored-by: Brandon Lokey <brandon.t.lokey@nasa.gov>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
@mason-t-yates mason-t-yates requested a review from Nnaga1 February 24, 2026 21:39
Nnaga1 and others added 9 commits February 26, 2026 12:50
…to config.

update updateGranulesCmrMetadata with event parameter and pass it updateGranuleIdentifiers from event config to updateEachCmrFileMetadata.
update changelog and readme with the new config change
…ssion (#4231)

* added refresh endpoint for launchpad saml

* added token extension logic for EDL

* Add iat claim to JWT tokens for better client-side session management

- Enable the Issued At (iat) claim in createJwtToken by removing the noTimestamp: true option.
- Refactor unit tests in test-token.js to handle non-deterministic JWT strings by verifying decoded claims instead of performing direct string comparisons.
- This change allows client-side applications to accurately track session age and trigger proactive refreshes.

* removed disabled comment since this endpoint is used

* Modified oauth refresh token function to decode the existing token and so we can reuse it's iat claim if the token is verified.
We then check that the oauth user is authorized before creating a new token and returning it to the client.

* Modified saml refresh token function to decode the existing token and so we can reuse it's iat claim if the token is verified

* Added iat parameter to createJwtToken function to support reusing iat during token refresh.
iat will be used when if the parameter is not null or undefined

* added tests to verify expected behavior of JWT refresh

* fixed linter issues

* added MAX_SESSION_DURATION environment variable and logic to enforce how many times a cumulus dashboard user can extend a session. Added tests to verify this behavior

* updated changelog

* updated unit tests

* updated formatting

* consolidated shared logic for token refresh functions in token.js and launchpadSaml.js

* fixed linting errors

* added unit tests for new token helper functions

* set default token refresh expiration time extension to one hour

* set default token refresh expiration time extension to one hour

---------

Co-authored-by: Austin Wisdom <austin.j.wisdom@nasa.gov>
* Fix/Update ElasticSearch Metrics parameter
…nuleUr field.

add updateGranuleIdentifier test case to cmr-utils.
add test case to update-granules-cmr-metadata-file-links that test whether granuleUr is updated or not based on config value

@Nnaga1 Nnaga1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work! not massive changes but some wording and assertions that can be improved :D

Comment thread CHANGELOG.md Outdated
Comment thread tasks/update-granules-cmr-metadata-file-links/README.md Outdated
Comment thread tasks/update-granules-cmr-metadata-file-links/index.js Outdated
Comment thread tasks/update-granules-cmr-metadata-file-links/schemas/config.json Outdated
Comment thread packages/cmrjs/tests/cmr-utils/test-cmr-utils.js Outdated
Comment thread packages/cmrjs/tests/cmr-utils/test-cmr-utils.js
Comment thread tasks/update-granules-cmr-metadata-file-links/tests/test-index.js Outdated
Comment thread tasks/update-granules-cmr-metadata-file-links/tests/test-index.js Outdated
Comment thread tasks/update-granules-cmr-metadata-file-links/tests/test-index.js Outdated
Comment thread tasks/update-granules-cmr-metadata-file-links/tests/test-index.js Outdated
@mason-t-yates mason-t-yates self-requested a review March 4, 2026 18:19
acyu-jpl added 3 commits March 4, 2026 12:34
Remove sinon test from update-granules-cmr-metadata-file-links test
update test based on Naga's feedback

@Nnaga1 Nnaga1 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some small changes before approval/merging 👀

* @param {Object} excludeFileRegexPattern - pattern by which to exclude files from processing
* @param {boolean} excludeDataGranule - Whether to add or update the DataGranule
* node in the granule's metadata
* @param {boolean} updateGranuleIdentifiers - Whether to update the Granule's Identifiers

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

for this can you re-add * node in the granule's metadata to line 41 and then have this part and granuleUR with no tabs just at the start of the line

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, I didn't realize I accidentally remove that line. Will do.

Comment thread tasks/update-granules-cmr-metadata-file-links/tests/test-index.js Outdated
Comment thread tasks/update-granules-cmr-metadata-file-links/tests/test-index.js
fix unintended removal of excludeDataGranule docstring
@acyu acyu marked this pull request as draft March 5, 2026 23:56
acyu pushed a commit that referenced this pull request Mar 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.