Skip to content

GiMerguizo/desafio-tecnico-cubos-devops

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desafio Técnico - Cubos DevOps

Repositório base: GitHub Cubos DevOps - Desafio Tecnico

Desafio

Crie um ambiente seguro utilizando infraestrutura como código onde existam redes internas apenas acessíveis por certas aplicações e redes externas para contato com o usuário. Esse ambiente deve ser replicável e subir corretamente através de comandos de inicialização expostos no README criado por você, todas as dependências para sua execução também devem ser explicitadas, os usuários terão acesso a uma página HTML que se conectará a um backend, este que por sua vez deverá ter acesso a um banco de dados.

Pré-requisitos

Windows e Linux

Caso não esteja instado, confira os links extras.

Rodando a aplicação

  1. Clone o projeto do GitHub ou baixe o repositório;
  2. Navegue até o diretório raiz do projeto;
  3. Execute os comandos para inicializar o ambiente com o Terraform:
terraform init
terraform plan # opcional, porém recomendado para verificar o plano antes de aplicar
terraform apply # digite 'yes' se estiver tudo correto

Obs.: O terraform init só é necessário na primeira vez.

  1. (Opcional) Verifique se os containers foram iniciados corretamente: docker ps
  2. Acesse a página do frontend: http://localhost:8080/

Configurando as variáveis de ambiente

Antes de executar o terraform apply, você pode customizar as configurações do seu ambiente. Para isso, edite o arquivo terraform.tfvars na raiz do projeto:

db_user = "seu_usuario"
db_password = "sua_senha"
db_name = "seu_banco"
backend_port = 3000

Monitoramento

Parar a aplicação

Caso deseje interromper a aplicação por completo, utilize: terraform destroy

  • Enter a value: yes

Solução de Problemas

  • Erro ao aplicar o Terraform: Verifique se você tem as permissões corretas para acessar o Docker e criar recursos.
  • Containers não iniciam: Verifique os logs dos containers com o comando docker logs <nome_do_container> para identificar erros.
  • Aplicação não acessível: Verifique se os containers estão rodando na rede correta e se as portas estão expostas corretamente.

Windows
Para o Windows, pode ser que haja algum erro. Algumas dicas para solucionar problemas:

  • Verificar a instalação do Docker e Terraform;
  • Verificar as variáveis de ambiente;
  • Verificar se o Docker Desktop está rodando.

Estrutura de Diretórios

.
├── backend
│   ├── Dockerfile
│   ├── index.js
│   └── package.json
├── frontend
│   ├── Dockerfile
│   ├── default.conf
│   └── index.html
├── prometheus
│   └── prometheus.yml
├── sql
│   └── script.sql
├── main.tf
├── terraform.tfvars
├── variables.tf
├── docker-compose.yml   # modelo não usado diretamente
└── README.md

Obs.: O docker-compose.yml não foi utilizado diretamente para subir a aplicação, mas serviu de modelo e pode ser usado como alternativa, alterando os parâmetros configurados.

Melhorias Futuras

  • Pipeline de CI/CD para deploy automatizado
  • Dashboards prontos no Grafana para monitoramento
  • Uso de .env no lugar de terraform.tfvars para variáveis sensíveis

Referências

Links Extras

About

Desafio Técnico - Cubos DevOps

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors