This is a simple 3-tiered web app.
Purpose of this repo is to compare development as well as deployment processes using traditional methods vs using Berlioz.
We are going to deploy the app to Google Cloud Platform. We will make use of:
- Terraform
- Ansible
- CircleCI
/web - the web front end. Implemented using node.js. Dockerized. Talks to app.
/app - the back end. Implemented using node.js. Dockerized. Communicates with the database.
/book - the MySQL 5.7 database. Contains an init.sql to initialize the database.
We need a single script "run-local.sh" to bring up the entire application locally on the computer. Once the script is executed the application should be up and running, database - initialized. Should also allow incremental changes to the code to be applied.
We need a single script "run-local.sh" to deploy the entire application in the cloud (GCP + GKE). Should deploy to a blank GCP Project. Deployment service account is already created and path to credentials file specified by APP_GCP_CREDENTIALS_PATH. Should also allow incremental changes to the code to be applied.
The CI/CD pipeline is implemented using CircleCI.