Giter VIP home page Giter VIP logo

Terraform GUI

LABELER [CI]  WEB [CI]  WEB [CD] API [CD]

I - Introduction

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:

  • Graphical User Interface with cell representation of web ressources of providers
  • Ressources forms for templating HCL files
  • Terraform HCL file generation for provider, ressources, variables, outputs [...] used for deployment
  • ZIP downloaded solution for planning and applying Terraform files

II - Table of content

III - Folder structure

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 files

IV - Project setup

The project use Docker and Docker Compose to build and run local and distant images in our workspace.

A - Stack

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

B - Makefile

TL;DR

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

V - CI/CD, release and container registry

A - CI

 WEB [CI]

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:

  • install Node on the VM
  • get the dependancies using the cache of other Actions run
  • install deps
  • build the application

B - CD

 WEB [CD] API [CD]

The CD workflow is triggered a each push on main branches (main/dev/ops).

It consist of:

VI - License

Under MIT license.

terraform-gui's Projects

terraform-gui icon terraform-gui

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.