https://github.com/basedosdados/iac

:cloud: Código para gerência e configuração da infraestrutura em nuvem

https://github.com/basedosdados/iac

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.9%) to scientific vocabulary

Keywords

gcp kubernetes terraform
Last synced: 9 months ago · JSON representation

Repository

:cloud: Código para gerência e configuração da infraestrutura em nuvem

Basic Info
Statistics
  • Stars: 5
  • Watchers: 6
  • Forks: 1
  • Open Issues: 9
  • Releases: 0
Topics
gcp kubernetes terraform
Created about 4 years ago · Last pushed 12 months ago
Metadata Files
Readme Contributing

README.md

☁️ 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

sh git clone https://github.com/basedosdados/iac.git && cd iac

  1. Execute o comando abaixo para iniciar o ambiente de desenvolvimento sh 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.

    sh 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.

    sh source terraform/.env

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

    sh make docker-up

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

sh 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 <!-- TODO: Adicionar referência da documentação global sobre iac -->

(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)

Owner

  • Name: Base dos Dados
  • Login: basedosdados
  • Kind: organization
  • Email: contato@basedosdados.org
  • Location: Brazil

Universalizando o acesso a dados de qualidade

GitHub Events

Total
  • Issues event: 2
  • Delete event: 2
  • Issue comment event: 2
  • Push event: 8
  • Gollum event: 4
  • Pull request review event: 2
  • Pull request event: 7
  • Create event: 5
Last Year
  • Issues event: 2
  • Delete event: 2
  • Issue comment event: 2
  • Push event: 8
  • Gollum event: 4
  • Pull request review event: 2
  • Pull request event: 7
  • Create event: 5

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 26
  • Total pull requests: 79
  • Average time to close issues: about 2 months
  • Average time to close pull requests: 5 days
  • Total issue authors: 5
  • Total pull request authors: 7
  • Average comments per issue: 0.69
  • Average comments per pull request: 0.33
  • Merged pull requests: 77
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 4
  • Average time to close issues: N/A
  • Average time to close pull requests: 30 days
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 11.0
  • Average comments per pull request: 0.25
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • guialvesp1 (14)
  • crislanealves (8)
  • lucascr91 (2)
  • vncsna (1)
  • laura-l-amaral (1)
Pull Request Authors
  • guialvesp1 (59)
  • vncsna (22)
  • lucascr91 (3)
  • rdahis (2)
  • aspeddro (1)
  • isabelmeister (1)
Top Labels
Issue Labels
feature (10) kubernetes (8) observability (5) good first issue (3) hacktoberfest (3) terraform (2) bug (2) documentation (1) question (1) Topic: Observability :mag_right: (1)
Pull Request Labels
good first issue (1)

Dependencies

.github/workflows/cd-terraform.yaml actions
  • actions/checkout v3 composite
  • hashicorp/setup-terraform v2 composite
  • hashicorp/vault-action v2.4.1 composite
.github/workflows/ci-terraform.yaml actions
  • actions/checkout v3 composite
  • actions/github-script v6 composite
  • hashicorp/setup-terraform v2 composite
  • hashicorp/vault-action v2.4.1 composite
.github/workflows/infracost.yaml actions
  • actions/checkout v2 composite
  • hashicorp/vault-action v2.4.1 composite
  • infracost/actions/setup v2 composite
poetry.lock pypi
  • cfgv 3.3.1 develop
  • click 8.1.3 develop
  • colorama 0.4.5 develop
  • distlib 0.3.5 develop
  • filelock 3.8.0 develop
  • identify 2.5.3 develop
  • nodeenv 1.7.0 develop
  • platformdirs 2.5.2 develop
  • pre-commit 2.20.0 develop
  • pyyaml 6.0 develop
  • toml 0.10.2 develop
  • typer 0.6.1 develop
  • virtualenv 20.16.3 develop
pyproject.toml pypi
  • pre-commit ^2.20.0 develop
  • typer ^0.6.1 develop
  • python ^3.10