Skip to content

A commandline interface for provisioning AWS environments for the Ski Analytics Services project.

Notifications You must be signed in to change notification settings

aengus1/crunch-ski-tools

Repository files navigation

Crunch Ski Tools

Commitizen friendly CircleCI Codacy Badge Codacy Badge

What is it?

A commandline interface for provisioning AWS environments for the Ski Analytics Services project.

But Why?

This tool is used in development and in the Continuous Integration Pipeline of the Ski Analytics Services project. Originally these tools formed a part of that project but have been ported to their own repo to take advantage of an automated build pipeline to create the docker image and to simplify the services project. Plus it was a bit too meta having the tools to build the services project embedded in the build of that project.

Run modes

  • As a java utility program to manage deployment environments + data
  • As a complete development environment for ski-analytics-services (via docker)
  • As part of the CI pipeline for

Functionality

Backup & Restore

  • Full database backup & restore
  • Per user account backup & restore
  • Backup to local storage or a designated S3 bucket

Status Reporting

  • Show the current deployment status of a given environmentDefinition

Provisioning & Deprovisioning

  • Provision an environmentDefinition from scratch
  • Update a running environmentDefinition with only modules that have changed
  • De-provision an environmentDefinition & clean up resources

Docker Image

To use the docker image: docker run -e BB_PASS=<password> -it aengus/crunch-ski-tools:LATEST /bin/sh - password to bitbucket account with rw access to (only) the environmentDefinition repository

When using the docker container from CI ensure that on startup the environmentDefinition variable is passed in.
See circleci docs

Setup

There are a few tools that need to be manually configured to run this project.

Commitizen

Tool used to enforce commit message format. Use the commit script to commit.

npm i -g commitizen

Enable Annotation Processing

  1. IntelliJ -> Preferences -> Build, Execution , Deployment -> Compiler
  • Enable Annotation processing
  • Obtain processors from project classpath
  1. Install IDE plugin

About

A commandline interface for provisioning AWS environments for the Ski Analytics Services project.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published