Cumulus Framework + Cumulus API
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci remove yarn e2e command from circeci command Oct 30, 2018
.github Update github PR template to mention eslint-ratchet Mar 14, 2018
bin Merge branch 'master' into CUMULUS-965-FixExampleLintErrors Nov 2, 2018
docs README changes - lerna version upgrade note Nov 29, 2018
example Version 1.11.0 Nov 30, 2018
packages Merge branch 'master' into release-1.11.0 Nov 30, 2018
tasks Version 1.11.0 Nov 30, 2018
travis-ci don't cat log Dec 3, 2018
website Version 1.11.0 Nov 30, 2018
.eslint-ratchet-high-water-mark Ratchet eslint Jul 13, 2018
.eslintignore Merge branch 'AddEslintPluginNode' into AddAsyncOperationsEndpoint Aug 17, 2018
.eslintrc.json Disable node/no-missing-require rule, which duplicates the functional… Nov 12, 2018
.gitallowed Fix formatting of .gitallowed [skip-integration-tests] Oct 11, 2018
.gitignore Logs size and speed of s3 sync. Sep 24, 2018
.npmignore Update test stack for Marc Oct 16, 2018
.nvmrc Add node eslint plugin and address discovered issues Aug 15, 2018
.travis.yml skip install audit Dec 4, 2018
CHANGELOG.md Merge branch 'master' into release-1.11.0 Nov 30, 2018
CONTRIBUTING.md addressing PR comments Oct 18, 2018
LICENSE Addingn License Nov 7, 2017
README.md Documentation updates Nov 13, 2018
docker-compose.yml Merge branch 'master' into GITC-776-1-SFTP-with-Public/Private-key Jul 10, 2018
lerna.json Version 1.11.0 Nov 30, 2018
package.json skip install audit Dec 4, 2018

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.
  • yarn
  • 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:

$ yarn global add lerna

Install Local Dependencies

We use yarn for local package management

$ yarn install
$ yarn ybootstrap

Building All packages:

$ yarn build

Build and watch packages:

$ yarn watch

📝 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
$ yarn 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

$ yarn 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.