Terraform GUI is a web application that allows developers and DevOps begginers to learn about Terraform, an open-source, Infrastructure as Code, software tool created by HashiCorp
Terraform GUI is a web application that allows developers and DevOps begginers to learn about Terraform, an open-source, Infrastructure as Code, software tool created by HashiCorp.
The main goal of this is tool is to make Terraform understandable for everyone, with a different approach from the original HCL file structure.
This tool provides:
The structure of this project follows these conventions.
/.github
: Conventions, template, labels, ci, cd, settings/api
: Symfony API files/build
: Dockerfiles/deploy
: Deployment-related Terraform files/docs
: Swagger documentation/samples
: Terraform samples for usecase/web
: ReactJS web filesThe project use Docker and Docker Compose to build and run local and distant images in our workspace.
All the images use the same network, more informations at docker-compose.yml
API documentation: https://terraform-gui.github.io/terraform-gui/
CONTAINER | PORT | IMAGE |
---|---|---|
REACTJS | 3000:3000 |
build/package/web/Dockerfile.dev |
SYMFONY | 8080:80 |
build/package/api/Dockerfile.dev |
MONGODB | 27017:27017 |
mongo:latest |
MAILCATCHER | 1080:1080 |
schickling/mailcatcher:latest |
make setup-env start logs
make help
Display informations about other commands.
make init
Setup the API, start containers & output logs in terminal.
make start
Up the containers with full cache reset to avoid cache errors.
make stop
Down the containers.
make logs
Display and follow the logs.
make api-*
API-related commands
The CI workflow is located at .github/workflows/web.ci.yml. It’s triggered at each push in /web folder on all branches.
It consist of:
The CD workflow is triggered a each push on main
branches (main/dev/ops
).
It consist of:
Under MIT license.