Deployment templates for cumulus
npm install @cumulus-test/deploymentThis module includes cloudformation templates needed for a successful deployment of a Cumulus Instance. The templates can be used with kes, a node CLI helper for AWS CloudFormation.
1. Copy app.example to a new deployment project.
2. Edit app.example/config.yml and your deployment information
3. Rename app.example to app.
4. Execute kes command:
$ ./node_modules/.bin/kes cf deploy --kes-folder app --deployment \
| field | default | description
| ----- | ----------- | -----------
| stackName | (required) | the name used as a prefix in all aws resources
| stackNameNoDash | (required) | stackName with no dash
| urs_url | uat.urs | urs url used for OAuth
| api_backend_url | apigateway backend url | the API backend url
| api_distribution_url | apigateway dist url | the API url used for file distribution
| shared_data_bucket | cumulus-data-shared | the bucket has the shared data artifacts
| buckets.internal | (required) | the bucket used for storing deployment artifacts
| buckets.private | (required) | the bucket used for storing private ingest data
| buckets.protected | (required) | the bucket used for storing protected ingest data
| buckets.public | (required) | the bucket used for storing public ingest data
| cmr.username | devseed | the username used for posting metadata to CMR
| cmr.provider | CUMULUS | the provider used for posting metadata to CMR
| cmr.clientId | CUMULUS | the clientId used to authenticate with the CMR
| cmr.password | (required) | the password used to authenticate with the CMR
| vpc.vpcId | (required if ecs is used) | the vpcId used with the deployment
| vpc.subnets | (required) | the subnets used
| defaults_users | cumulus core | list of default users included in all deployments
| ecs.amiid | ami-9eb4b1e5 | amiid of an optimized ecs instance (differnet for each region)
| ecs.instanceType | (required) | the instance type of the ec2 machine used for running ecs tasks
| ecs.volumeSize | 50 | the storage on ec2 instance running the ecs tasks
| ecs.availabilityZone | us-east-1a | the availibity zone used for launching ec2 machines
| ecs.maxInstances | 1 | max number of ec2 instances to launch in an autoscaling group
| ecs.desiredInstances | 0 | desired number of ec2 instances needed in an autoscaling group
| es.name | es5 | name of the elasticsearch cluster
| es.elasticSearchMapping | 4 | version number of the elasticsearch mapping used
| es.version | 5.3 | elasticsearch software version
| es.instanceCount | 1 | number of elasticsearch nodes
| es.instanceType | t2.small.elasticsearch | size of the ec2 instance used for the elasticsearch
| es.volumeSize | 35 | the storage used in each elasticsearch node
| sns.\
| sns.\
| apis.\
| apiStage | dev | stage name used for each api gateway deployment stage
| dynamos.\
| dynamos.\
| dynamos.\
| dynamos.\
| sqs.\
| sqs.\
| sqs.\
| sqs.\
| rules.\
| rules.\
| rules.\
| rules.\
| stepFunctions | N/A | list of step functions
| lambdas | N/A | list of lambda functions