Manages the lifecycle for building, deploying and decommissioning projects on totem-v3
The core documentation for this project can be found in the current repository. For open source documentation see https://github.com/totem/totem-v3
npm install
To invoke config load task lambda function locally, execute command:
env AWS_ACCESS_KEY_ID='[AWS_ACCESS_KEY_ID]' \
AWS_SECRET_ACCESS_KEY='[AWS_SECRET_ACCESS_KEY]' \
AWS_REGION=us-west-2 \
GITHUB_TOKEN='[GITHUB_TOKEN]' \
TOTEM_BUCKET='[TOTEM_BUCKET]'
sam local invoke --template totem-deploy.yml --event events/load-config-event.jsonwhere:
- GITHUB_TOKEN: Github token used for fetching configs from github repo.
- AWS_REGION: Aws region where config-service is deployed
- AWS_ACCESS_KEY_ID: AWS Access Key ID (For S3 Totem bucket)
- AWS_SECRET_ACCESS_KEY: AWS Access Key ID (For S3 Totem bucket)
- TOTEM_BUCKET: S3 bucket for totem (for storing configs)
The unit and integration tests ar run automatically in travis.
To run unit and integration tests locally, use command:
gulp test
To run just unit tests, use command:
gulp test:unit
To run just integration tests, use command:
gulp test:integration
The functional tests run automatically as part of continuous deployment pipeline for config-service. These tests expect to run in full functional environment for totem-v3.
To execute functional tests locally, use command:
env GITHUB_TOKEN=[GITHUB_TOKEN] \
TEST_REPO=[TEST_REPO] \
TEST_OWNER=[TEST_OWNER] \
TEST_BRANCH=[TEST_BRANCH] \
AWS_REGION=[AWS_REGION] \
gulp test:functional
- GITHUB_TOKEN: Github token used for validating totem v3 setup.
- TEST_REPO: Github test repository used to configure with totem-v3 (e.g: totem-demo)
- TEST_OWNER: Github test repository owner (e.g.: totem)
- TEST_BRANCH: Github test repository branch (e.g.: develop)
- AWS_REGION: Aws region where config-service is deployed
This project is deployed to AWS in a continuous fashion using codepipeline
To setup, configure and manage the the pipeline see provisioning guide
This project uses the Git Flow process for getting changes into the project.