/totem-v3-orchestrator

Manages the lifecycle for building, deploying and decommissioning projects on totem-v3

Primary LanguageJavaScriptMIT LicenseMIT

totem-v3-orchestrator Coverage Status Build Status

Manages the lifecycle for building, deploying and decommissioning projects on totem-v3

Documentation

The core documentation for this project can be found in the current repository. For open source documentation see https://github.com/totem/totem-v3

Architecture

See Totem V3 Architecture

Setup

Local

Build

npm install

Run

Local

To start API server locally using sam local, run command:

sam local start-api 

Test

Travis

The unit and integration tests ar run automatically in travis.

To run unit and integration tests locally, use command:

gulp test

Unit Tests

To run just unit tests, use command:

gulp test:unit

Integration Tests

To run just integration tests, use command:

gulp test:integration

Functional Tests

The functional tests run automatically as part of continuous deployment pipeline for orchestrator. 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] \
  ORCHESTRATOR_API_ID=[ORCHESTRATOR_API_ID] \
  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 orchestrator is deployed
  • ORCHESTRATOR_API_ID: API Gateway ID for the orchestrator

Deploy

This project is deployed to AWS in a continuous fashion using codepipeline

To setup, configure and manage the the pipeline see provisioning guide

Release

This project uses the Git Flow process for getting changes into the project.

Resources