Skip to content
/ desafio-devops Public template

desafio de Devops utilizando Terraform e AWS

Notifications You must be signed in to change notification settings

r4topunk/desafio-devops

Repository files navigation

desafio-devops

Demo

http://44.197.102.10:80

Pré-requisitos

Para executar o projeto é neccessário:

  • Conta na AWS
  • Conta no Terraform Cloud

Configuração

AWS

Crie um usuário na AWS com as seguintes permissões:

  • AmazonEC2FullAccess
  • AmazonVPCFullAccess

Sete ele como acesso programático e salve as credenciais.

Terraform Cloud

Crie uma conta no Terraform Cloud e crie um workspace.

Configure o workspace com as seguintes variáveis com o valor das credenciais da AWS:

  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

Criei uma API key e salve-a.

Github

Faça um fork do repositório e adicione como secret as seguintes variáveis com o valor da credencial do Terraform Cloud:

  • TF_API_TOKEN

Como rodar

Com o Fork do repositório, clone o Fork (esse repositório dentro do SEU Github).

Crie uma branch do projeto.

git checkout -b workspace-name

Altere o arquivo provider.tf, alterando os valores de organization e workspace.name.

Commite o arquivo e envie ele para o repositório

git add .
git commit -m "refactor(provider.tf): change the terraform cloud data"
git push -u origin workspace-name

Abra o seu repositório no Github e crie uma PR com a sua alteração, trazendo da branch workspace-name para a main.

Verifique o resultado da action de Terraform plan.

Realize o merge das alterações.

Verique a nova action de Terraform apply que será executada.

Workflow

Esse é o funcionamento do workflow terraform.yml:

workflow