This document explains how to run Cumulus on LocalStack.

Cumulus Deploy

This instruction is based on [1] and NASA SE TIM workshop.

  1. git clone https://github.com/nasa/template-deploy asdc-deploy
  2. cd asdc-deploy
  3. Optional: npm update -g
  4. npm install
  5. cd node_modules/@cumulus/deployment/app

  6. edit cloudformation.template.yml
    1. Fix 5.3 to '5.3'
    2. InstanceCount '1' to InstanceCount 1
    3. AutomatedSnapshotHours '0' to AutomatedSnapshotHours 0
  7. review config.yml

Cumulus LocalStack

  This instruction is for Mac OS X.

  1. git clone https://github.com/nasa/cumulus.git

  2. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash

  3. $. ~/.bash_profile
  4. cd cumulus
  5. brew install yarn
  6. nvm install
  7. nvm use
  8. yarn global add lerna
  9. yarn install
  10. yarn bootstrap

  11. yarn build
  12. yarn watch
  13. npm init ava
  14. cd packages/api
  15. LOCALSTACK_HOST=localhost IS_LOCAL=true npm run test

Cumulus Docker

  1. docker-compose up local [2] will hang on Mac OS X.

If you create a lambda function using Serverless, S3 bucket cannot trigger the function using the following command.

$awslocal s3 cp test.txt s3://input/test.txt

The reason is that bucket owner and object owner is different.

References

  1. https://nasa.github.io/cumulus/docs/deployment/deployment-readme
  2. https://github.com/nasa/cumulus
  3. http://devseed.com/kes/