Register
Submit a solution
The challenge is finished.

Challenge Overview

Challenge Objectives

  • Current app deployed via vagrant

  • The client's CMS (content management system) called "Zeta" is a set of inter-connected Node apps.  They have vagrant deploy scripts to stand up a local development environment, but the scripts are outdated and hard to manage on our servers.  This challenge will document how to deploy the necessary services and configuration to be able to more easily deploy them on servers.

Project Background

  • The updated vagrant deployment environment has been used by Topcoder members and client staff, but it doesn't make deployment easy for things like our EC2 instances.

Technology Stack

  • NodeJS, MongoDB

  • MySQL

Code access

 There are a number of repositories involved in the Zeta deployment.  A link will be provided in the forum that will give members access to the group of individual repos in Gitlab.

Individual requirements

We want to be able to deploy Zeta on:

  • Member computers

  • Remote EC2 servers

This is difficult right now with only having Vagrant scripts.  We want to better script and document the setup.

We are open to member suggesions here.  These have been suggested, but we're open to anything that's open source and actively maintained.

Scripting

It's important that downloading all the various pieces and deploying them is scripted.  There's a lot of pieces here.
We want to also be able to configure:

  • The branch used for each piece.  Note that we have slightly different branches for Zeta CMS, web, and data for different projects.  We need to be able to support individual branches for the various pieces.

     

  • The IP address of the deployment.  There are a bunch of configuration files that have to be updated for each deployment as each "part" of Zeta refers to other parts.  See the `custom.json` files in the vagrant setup.  There are lots of those files to update when a new deployment has to happen.

Scripting
We want the documentation and setup to be able to target:

  • Linux (Ubuntu 18 would be alright)
  • macOS (13+)
  • Windows (10+)

Dependencies
For the scripting, it's fine to require some normal dependencies to already be installed, like Node and Mongo.  Just make sure to clearly document how to install those for each OS.

Deployment guide and validation document

Make sure to require two separate documents for validation.

A README.md that covers how to use the updated  scripts to:

  • Set up the development environment

  • Start the applications

  • Restart both the vagrant deployment and the Node apps

A Validation.md that covers how to validate that everything is working appropriately, particular the cms and web apps on ports 8000 and 8010

Validation video / screencast

  • A vide is required for this challenge.  Please include a video link in your validation.md file.

What To Submit

  • A new set of files for deployment of Zeta

  • Any code changes needed to the apps - we're hoping that no code changes are necessary

  • README.md

  • Validation.md

 



Final Submission Guidelines

Please see above

ELIGIBLE EVENTS:

Topcoder Open 2019

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30082115