Skip to content
Cumulus Framework + Cumulus API
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci delete all lock files Apr 5, 2019
.github Update PR template Feb 21, 2019
bin CUMULUS-1170 Use npm and lockfiles (#871) Mar 20, 2019
docs Merge branch 'master' into CUMULUS-1269 May 1, 2019
example Merge branch 'master' into CUMULUS-1207-2 May 3, 2019
packages Fix dup mapping May 3, 2019
tasks CUMULUS-1269: rename 'checksumValue' -> 'checksum' Apr 30, 2019
travis-ci Set env variables in travis Apr 17, 2019
website Update changelog and docs Apr 5, 2019
.eslint-ratchet-high-water-mark Ratchet eslint Jul 13, 2018
.eslintignore Merge branch 'AddEslintPluginNode' into AddAsyncOperationsEndpoint Aug 17, 2018
.eslintrc.json use 1tbs as default brace-style on cumulus (#933) Apr 12, 2019
.gitallowed Fix formatting of .gitallowed [skip-integration-tests] Oct 11, 2018
.gitignore
.npmignore Update test stack for Marc Oct 16, 2018
.nvmrc Add node eslint plugin and address discovered issues Aug 15, 2018
.travis.yml re-enable CI audit Apr 22, 2019
CHANGELOG.md Merge branch 'master' into CUMULUS-1207-2 May 3, 2019
CONTRIBUTING.md addressing PR comments Oct 18, 2018
LICENSE Addingn License Nov 7, 2017
README.md Improvements: Use APIs locally (#898) Mar 28, 2019
audit-ci.json audit-fix minor syntax changes Apr 22, 2019
docker-compose.yml Merge branch 'master' into GITC-776-1-SFTP-with-Public/Private-key Jul 10, 2018
lerna.json Update package versions Apr 5, 2019
package.json audit-fix minor syntax changes Apr 22, 2019

README.md

Cumulus Framework

Build Status npm version Coverage Status

📖 Documentation

More Information

For more information about this project of more about NASA's Earth Observing System Data and Information System (EOSDIS) and its cloud work, please contact Katie Baynes or visit us at https://earthdata.nasa.gov.

🔨 Development

Installation

This is for installation for Cumulus development. See the Cumulus deployment instructions for instructions on deploying the released Cumulus packages.

Prerequisites

  • NVM and node version 8.
  • AWS CLI
  • BASH
  • Docker (only required for testing)
  • docker-compose (only required for testing pip install docker-compose)

Install the correct node version:

nvm install
nvm use

Install Lerna

We use Lerna to manage multiple Cumulus packages in the same repo. You need to install lerna as a global module first:

$ npm install -g lerna

Install Local Dependencies

We use npm for local package management

$ npm install
$ npm run bootstrap

Building All packages:

$ npm run build

Build and watch packages:

$ npm run watch

Running the Cumulus APIs locally

Start localstack:

$ docker-compose up local

Start the API:

$ npm run serve

Or start the distribution API:

$ npm run serve-dist

See the API package documentation for more options.

📝 Tests

Unit Tests

LocalStack

LocalStack provides local versions of most AWS services for testing.

The LocalStack repository has installation instructions.

Localstack is included in the docker-compose file. You only need to run the docker-compose command in the next section in order to use it with your tests.

Docker containers

Turn on the docker containers first:

$ docker-compose up local

If you prefer to run docker in detached mode (i.e. run containers in the background), run:

$ docker-compose up -d local

Run tests

Run the test commands next

$ export LOCALSTACK_HOST=localhost
$ npm test

Integration Tests

For more information please read this.

🔦 Code Coverage and Quality

For more information please read this.

📦 Adding New Packages

Create a new folder under packages if it is a common library or create folder under cumulus/tasks if it is a lambda task. cd to the folder and run npm init.

Make sure to name the package as @cumulus/package-name.

Running command in all package folders

$ lerna exec -- rm -rf ./package-lock.json

Cleaning Up all the repos

$ npm run clean

Contribution

Please refer to: https://github.com/nasa/cumulus/blob/master/CONTRIBUTING.md for more information.

🛒 Release

To release a new version of cumulus read this.

You can’t perform that action at this time.