Caffeine Witchery 🧙‍♀️ - Apresentação

Se apresentando no Hackaton Magalu :grin: :blue_heart:

Ideia Principal:
Portais de Configuração:
Iremos criar um módulo que funcione como uma entrada para usuários sem experiência em Terraform. Esse módulo funcionará como um template para configurações básicas, onde o usuário responde perguntas (com variáveis) e obtém, ao final, a configuração completa da infraestrutura, como uma instância de banco de dados, uma rede segura e volumes de armazenamento.

3 curtidas

Caffeine Witchery :woman_mage:

Ideia Inicial

Criar um módulo que funcione como uma entrada para usuários sem experiência em Terraform. Esse módulo funcionará como um template para configurações básicas, onde o usuário responde perguntas (com variáveis) e obtém, ao final, a configuração completa da infraestrutura, como uma instância de banco de dados, uma rede segura e volumes de armazenamento.

Início

Primeiramente, o grupo buscou entender melhor o que é o terraform e os produtos que ele oferece, buscando aprender e conhecer a aplicação para desenvolver algo em cima disso. Dessa forma, nossa primeira atividade foi a construção de uma Virtual Machine para conhecer o funcionamento e desenvolvimento em si dos produtos fornecidos pela plataforma.

Tivemos dificuldade nesse primeiro contato, e isso influenciou diretamente na escolha do projeto final.

Decisão

Decidimos criar uma plataforma com objetivo de facilitar esse primeiro contato com os produtos Terraform, de forma a conseguir gerar scripts com toda configuração necessária para a infraestrutura escolhida através dela. Focando no usuário leigo que estaria no primeiro contato com a aplicação (assim como nós). A ideia é de fornecer scripts simples, para o primeiro contato do usuário com o produto.

Desafios

Nosso maior desafio foi justamente o aprendizado e compreensão sobre o Terraform, por ser uma tecnologia desconhecida por todos os membros do grupo, tivemos dificuldades para compreender o que era, como funcionava e quais passos deveríamos tomar para obter sucesso na execução da aplicação escolhida.

Além disso, uma vez definido o projeto, buscamos entender como ele seria construído, e a integração das partes feitas foi outro desafio encontrado.

Construção do projeto

O grupo se dividiu a fim de melhor definir as tarefas que iríamos realizar

  • Desenvolvimento e construção da estrutura responsável por gerar o script que será utilizado no Terraform
  • Desenvolvimento da interface que procura ser de fácil utilização pelo usuário

Projeto Final

O usuário consegue gerar o script que será utilizado por ele através de um formulário, onde ele define quais são os parâmetros necessários.

Repositório

O projeto se encontra disponível no seguinte repositório: GitHub - Annalicefs/Hackathon-Magalu

Essa seria a home page da aplicação mas infelizmente tivemos problemas na implementação

O Terraform foi utilizado para instanciar o bucket que armazena os sites que geram Terraforms de acordo com o requisitado pelo usuário.
Nesse sentido, foi muito importante entender o funcionamento do Terraform para fazer a base do código que era gerado, assim como os produtos disponíveis na MagaluCloud. Infelizmente o nosso desconhecimento com HTML impediu que nós terminassemos o que propomos.
Com certeza essa experiência agregara bastante nossa jornada academica/profissional, quem diria que a gente que não sabia nada de Terraform consegueriamos fazer uma aplicação como essa?

2 curtidas

Oi gente!

Gostei muito de acompanhar a evolução do time de vocês ontem, desde criar a ideia, até discutirmos qual seria uma maneira de implementar (em poucas horas rs) e mesmo assim conseguiram sair com um v0 para mostrar.

Daqui para baixo vai ser igual o tópico para a outra equipe, mas é uma informação legal para vocês saberem como evoluir o front, mesmo sendo estático.

E para complementar a info sobre o nosso sitezinho em object-storage, fui atrás e nós conseguimos sim referenciar nossos arquivos css e js dentro do index.html utilizando a path relativa, como se estivéssemos rodando na nossa máquina.

Eu criei um exemplo bem simples para exemplificar para vocês, podem conferir em:

https://br-se1.magaluobjects.com/hackaton-thg/index.html

Na path do bucket vocês conseguem ver os arquivos que utilizei (style.css e script.js) → https://br-se1.magaluobjects.com/hackaton-thg/

E na prática vocês podem subir os arquivos para o bucket exatamente como rodam local, referenciando os arquivos dentro do index.html dessa forma:

<link rel="stylesheet" href="style.css">
<script src="script.js"></script>

Ah, e um ponto importante!

Para essa abordagem funcionar é importante que todos os arquivos estejam públicos.

Vocês podem setar o acl dos arquivos individualmente como mostrei ontem com

mgc object-storage objects acl set --public-read my-bucket/index.html

Mas também, um próximo passo seria criarem uma bucket policy que torna todos os objetos dentro do seu bucket públicos, sem a necessidade de passar um por um!

Se tiverem interesse vou deixar o link para a documentação sobre bucket policy aqui no fim.

E claro quando quiserem podem me chamar para tirar dúvidas, trocar ideias, e no que eu puder ajudar estou disponível.

Foi muito legal ter a presença de vocês com a gente, e nos vemos por aí :wink:

1 curtida