Added README
parent
1b52bb2620
commit
612ce26ea7
|
|
@ -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
|
||||
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue