Skip to content

workflow de criação e desctruição de cluster kubernets na digital ocean com backend remoto na HashiCorp Platform e Notificações no discord

Notifications You must be signed in to change notification settings

joao-pedro-rdo/terraform-kubernetes-dg

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

44 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Terraform Kubernetes Lab

GitHub Actions Terraform Kubernetes

⚡️ Laboratório prático para criar e destruir clusters Kubernetes usando Terraform, com notificações via Discord e integração com Terraform Cloud.


✨ Visão Geral

Este repositório contém um laboratório prático para provisionar um cluster Kubernetes em nuvem usando Terraform. O objetivo é experimentar o provisionamento automatizado, integração com pipelines (GitHub Actions) e notificações via Discord, simulando um ambiente real de trabalho e controle de custos.


🚀 Pré-requisitos


⚙️ Configuração do Terraform Cloud

  1. Crie uma organização e um workspace no Terraform Cloud.
  2. Gere um API Token em:
    Account Settings > Tokens > Create an API token
    Link direto para criar token
  3. Adicione o token como secret no GitHub: TF_API_TOKEN

No seu main.tf:

terraform {
  cloud {
    organization = "joaopedrordeo" # Nome da organização criada

    workspaces {
      name = "my-kubernetes-cluster-dg" # Nome do workspace criado
    }
  }
}

No workflow do GitHub Actions:

env:
  TF_TOKEN_app_terraform_io: ${{ secrets.TF_API_TOKEN }}
  TF_VAR_do_token: ${{ secrets.DO_TOKEN }}

💬 Notificações no Discord

  1. Crie um servidor e um canal de texto no Discord.
  2. Vá em Configurações do canal > Integrações > Webhooks > Novo Webhook.
  3. Copie o URL do webhook e adicione como secret no GitHub: DISCORD_WEBHOOK.

☸️ Usando o kubeconfig gerado

  • No PowerShell:
    $env:KUBECONFIG = ".\kubeconfig.yaml"
  • No Linux:
    export KUBECONFIG=./kubeconfig.yaml

🛠️ Comandos úteis do Terraform

terraform output -raw kube_config > kubeconfig.yaml # Extrai o kubeconfig do output do Terraform
terraform plan -no-color -input=false               # Gera o plano sem interação
terraform apply -auto-approve -input=false          # Aplica sem interação

📋 TODO

  • Fazer o arquivo de configuração .tfvars mudar o nome conforme o environment

Feito por João Pedro Ramos

About

workflow de criação e desctruição de cluster kubernets na digital ocean com backend remoto na HashiCorp Platform e Notificações no discord

Topics

Resources

Stars

Watchers

Forks

Languages