This repository should contain all the information about the system, to ensure that any change (source code, documentation, policies, users etc.) is tracked.
The main folder that holds the infrastructure for the ti/uat/prod environments is the Core
folder. The Dev
folder is utilized to develop new features which will be later integrated into the Core
folder. Finally, the Scripts
folder is a collection of helper scripts to aid in importing existing resources into Terraform configurations and other tasks.
In order to use this repository, you need to do the following:
- Clone this repository.
- Copy the
sentitive
data folder from other loction into theCore
folder of this repo. - Install the AWS CLI tools and Terraform onto your machine.
- Follow the instructions found here and here to get aws profiles set up for the ti/uat/prod environments.
- Run
terraform init
in theCore
folder to get everything initialized.
The workflow for developing new features in HydroVIS is as follows:
- Create a new feature branch from the existing
uat
branch. - Copy relevant resources from the
Core
folder into theDev
folder and/or use the existingDev/main.tf
as a template for a new feature module. - Fill out the
Dev/sensitive/envs/env.dev.yaml
with the relevant information. - Deploy and test your new features.
- Once development is finished, reintegrate the resources in the
Dev
folder into theCore
folder and reset theDev
folder back to how it was originally. - Create a pull request to have your new feature branch merged into the
ti
branch.