Skip to content

basedosdados/iac

Folders and files

NameName
Last commit message
Last commit date
Aug 10, 2022
Jun 4, 2024
Jun 8, 2023
Feb 22, 2023
Oct 1, 2023
Aug 2, 2022
Feb 22, 2023
Oct 20, 2022
Aug 23, 2022
Sep 15, 2022
Aug 4, 2022
Feb 22, 2023
Feb 22, 2023

Repository files navigation

☁️ iac

Contributors Forks Stargazers Issues MIT License

Sumário
  1. Sobre o projeto
  2. Desenvolvimento local
  3. Uso
  4. Roadmap
  5. Contribuição
  6. Licença
  7. Contato

Sobre o projeto

Gerenciamento da infraestrutura dos serviços utilizados do Google Cloud Platform e das aplicações desenvolvidas/implantadas em nosso cluster Kubernetes, bem como as suas respectivas configurações.

(voltar ao início)

Construído com

GCP GitHub Actions Kubernetes Terraform

(voltar ao início)

Desenvolvimento local

Requisitos

  • Docker
  • Docker Compose
  • kubectl
  • Credenciais:
    • Terraform: Uma conta de serviço do ambiente GCP com o papel de "Editor"
    • Kubernetes: Uma conta de serviço do ambiente GCP com o papel de "Kubernetes Engine Admin"

(voltar ao início)

Procedimentos

  1. Clone o repositório e acesse a pasta do projeto

     git clone https://github.com/basedosdados/iac.git && cd iac
  2. Execute o comando abaixo para iniciar o ambiente de desenvolvimento

     make create-dev

    Dica: Consulte o arquivo Makefile para mais comandos.

Terraform

  1. Adicione o arquivo.json de credencial no diretório terraform/.

  2. Note a existência do arquivo .env.example dentro do diretório terraform. Faça uma cópia do mesmo para um novo arquivo, nomeado .env e preencha as variáveis de ambiente com os valores correspondentes.

    cp terraform/.env.example terraform/.env

    Obs.: No caso do desenvolvimento local é criado um container docker, baseado na imagem do Terraform que faz uso do arquivo .env para definir as variáveis de ambiente necessárias para a execução do Terraform. Extinguindo a necessidade de instalar o Terraform localmente.

  3. Carregue as variáveis de ambiente do arquivo .env no terminal atual.

    source terraform/.env
  4. Execute o comando abaixo para criar o container docker e validar as configurações do Terraform.

    make docker-up

Caso a saída seja semelhante ao exemplo abaixo, a configuração foi realizada com sucesso.

bdd_terraform    | Initializing modules...
bdd_terraform    |
bdd_terraform    | Initializing the backend...
bdd_terraform    |
bdd_terraform    | Initializing provider plugins...
bdd_terraform    | - terraform.io/builtin/terraform is built in to Terraform
bdd_terraform    | - Reusing previous version of hashicorp/google from the dependency lock file
bdd_terraform    | - Using previously-installed hashicorp/google v3.89.0
bdd_terraform    |
bdd_terraform    | Terraform has been successfully initialized!
bdd_terraform    |
bdd_terraform    | You may now begin working with Terraform. Try running "terraform plan" to see
bdd_terraform    | any changes that are required for your infrastructure. All Terraform commands
bdd_terraform    | should now work.
bdd_terraform    |
bdd_terraform    | If you ever set or change modules or backend configuration for Terraform,
bdd_terraform    | rerun this command to reinitialize your working directory. If you forget, other
bdd_terraform    | commands will detect it and remind you to do so if necessary.

(voltar ao início)

Kubernetes

Para interagir com o cluster k8s em questão, além das permissões necessárias, é necessário ter o kubectl instalado. Siga os passos conforme a documentação oficial do Google.

(voltar ao início)

Uso

Para exemplos de utilização das ferramentas deste projeto, favor consultar a documentação

(voltar ao início)

Roadmap

Além das tarefas em aberto que podem ser consultadas em issues, o projeto é baseado no planejamento de milestones que podem ser consultados em milestones.

(voltar ao início)

Contribuição

As contribuições são o que tornam a comunidade de código aberto um lugar incrível para aprender, inspirar e criar. Quaisquer contribuições que você fizer são muito apreciadas.

Se você tiver uma sugestão de melhoria, faça um fork do repositório e crie um pull request. Você também pode simplesmente abrir uma tarefa.

Não se esqueça de dar uma estrela ao projeto! Agradecemos o apoio 💚!

(voltar ao início)

Licença

(voltar ao início)

Contato

Você pode entrar em contato com a equipe da Base dos Dados via diversos canais, sendo eles:

Discord LinkedIn Telegram Twitter WhatsApp

(voltar ao início)