Giter Club home page Giter Club logo

grupo10's Introduction

Diagrama de la infraestructura que se genera a partir de terraform

Estructura del Proyecto

ARCHIVOS DE CONFIGURACION DE TERRAFORM

Tomando como base los archivos de ejemplo que nos proveyo la catedra, realizamos las modificaciones necesarias para poder cumplir con lo solicitado en el enunciado del desafio.

Estructura de archivos y carpetas

Como podemos apreciar la estructura principal cuenta con una carpeta .github/workflows donde se encuentra nuestro archivo terraform.yml el cual atumatizara el trabajo una vez los cambios sean subidos al repositorio. Luego podemos apreciar una carpeta images la cual es insignificante para lo realizado ya que solo contiene imagenes del proyecto. Y por ultimo en la raiz podemos observar los archivos .tf que son los archivos de configuracion correspodientes de Terraform.

Estructura del Proyecto

Archivo provider

Provider

En este archivo lo que hacemos es configurar los proveedores necesarios para Terraform Cloud, luego lo que hacemos es setearle la region a AWS, esta region la tomamos de las variables que se nos proveyo desde la catedra, veremos todas las necesarias el archivo variables.

Archivo variables

Variables

En el archivo de variables lo que se hacemos es definir todas las variables necesarias para trabajar, estas se mencionaban en el desafio y fueron provistos por la catedra ya que se encuentran seteadas directamente en aws como variables de entorno.

Archivo networking

Networking

En este archivo lo que hacemos es crear la subnet en AWS le setemos el vpc_id el cual tomamos de las variables ya mencionadas y creamos el cidr de esa subnet, luego se crea una tabla de ruteo para dar salida a internet y por ultimo se asocia la tabla de ruteo con la subnet que creamos.

Archivo instance

Instance

En este archivo creamos el recurso del servidor, y le setemos todos los valores necesarios para acceder al mismo. Cabe destacar que en el campo private_id debemos crear una ip privada que debe estar en el rango establecido.

Archivo security_groups

Security

En este archivo definimos los protocolos de ingreso, HTTP y SSH en nuestro caso, asi como tambien los puerto a traves de los cuales se tendra acceso, 22 en caso de SSH y 80 en caso de HTTP y luego definiremos que ips tendran acceso, como solo es un caso de prueba daremos acceso a cualquiera aunque esto no se recomienda.

CREANDO REPOSITORIO Y AGREGANDO SECRETS KEY

Para poder realizar este entorno de integracion y despliegue continuo es necesesario tener todo conectado a un repositorio de GITHUB, a continuacion veremos como conformar el mismo para que el despliegue se realice de manera correcta.

  1. En primer lugar creamos un repositorio, puede ser privador o publico, en este caso privado porque asi se indicaba. Seguidamente agregamos los secrets key necesarios (estos fueron provistos por la catedra). En principio, en la rama main debe pushearse la carpeta .github/workflows/terraform.yml, es necesario seguir esta nomenclatura para que el despliegue se realice de manera correcta cuando al nivel de la raiz se agreguen los archivos .tf. Secrets Main

  2. Luego, a partir de la rama main creamos otra rama, en este caso ramaDeploy, en esta rama pusheamos los archivos .tf con todas las modificaciones que antes vimos. Esto lo hacemos asi para que no se relice el despliegue automaticamente, ya que este solo se efectua cuando los cambios son enviados a la rama main.

Rama

  1. Seguidamente, relizamos un Pull Request de la rama ramaDeploy a la rama main esperando que otro integrante del grupo lo apruebe (el profe en nuestro caso) y asi, esta rama se fucionara con main el se procedera al despliegue completo.

PR PRListo

Integrantes del Grupo

  • Bogado Niclis Humberto
  • Imfeld Facundo Nicolás
  • López William Juan José
  • Nasir Khalil Abdul
  • Quiroz Eric Facundo
  • Stride Eric
  • Troncoso Clarise
  • Vazquez Luques Marco Antonio

grupo10's People

Contributors

william10101995 avatar humberbogado1602 avatar

Watchers

Facu avatar  avatar

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.