Added README

main
Celso González 2023-03-06 01:19:41 +01:00
parent 1b52bb2620
commit 612ce26ea7
2 changed files with 35 additions and 0 deletions

35
README.md Normal file
View File

@ -0,0 +1,35 @@
## Immfly Infra Test
La solución propuesta ofrece un repositorio único con el playbook de ansible necesario para
levantar la maquina virtual y hacer tanto el deploy del frontend como el del backend, basado
en Golang, usando docker dentro de la maquinai virtual
Asi mismo se ofrece un único ejecutable que realiza todas las tareas de forma automatica.
Bastaría con ejecutar el comando ./run_all_processes.sh
A continuación detallo un poco cada uno de los roles de ansible que se utilizan
### Docker
La instalación de docker se realiza siguiendo las recomendaciones de [Docker](https://docs.docker.com/engine/install/debian/)
Hay una instalación de paquetes necesarios, la actualización de los repositorios oficiales, la instalación
del programa en si y por último una configuración que nos permite ejecutar los containers de docker como
un usuario sin privilegios (nonroot en nuestro caso)
### Backend
Por un lado tenemos el programa en Go situado en ansible/backend/files/go-backend. La filosofía del programa
es la de un programa mínimo basado en la librería estandar del lenguaje.
Este programa incluye un Dockerfile en dos pasos que por un lado compila el ejecutable de forma estática y por
otro lado genera una imagen con ese ejecutable de tamaño mínimo
Finalmente ansible se encarga tanto de hacer el build de dicha imagen y levantar el container asociado
### Frontend
Para el frontend he usado una imagen estandar de nginx para servir el fichero de html, el fichero de
configuración de nginx tiene algunos cambios para enlazar con el servicio de backend