-
Notifications
You must be signed in to change notification settings - Fork 0
Desenvolvimento
Caso deseja contribuir neste projeto, siga as sessões desta página para melhor compreensão e configuração do ambiente de desenvolvimento.
- Docker
- Docker Compose
- kubectl
- Credenciais:
- Terraform: Uma conta de serviço do ambiente GCP com o papel de "Editor"
- Kubernetes: Utilizada para a gestão do cluster
Logo abaixo está a estrutura do projeto em seu primeiro nível, estão organizados por ferramentas utilizadas e, os diretórios serão detalhados em suas respectivas páginas. Acesse através do menu lateral.
.
├── .github/ # Diretório com automações do ambiente via GitHub Actions
├── k8s/ # Diretório por namespace (aplicação) disponível no k8s e seus manifestos
├── terraform/ # Diretório por módulos utilizados do projeto via Terraform
├── utils/ # Diretório com scripts úteis para o projeto
├── .gitignore # Arquivo de configuração do git (Arquivos/Diretórios não versionados)
├── .mergify.yaml # Arquivo de configuração do mergify
├── .pre-commit-config.yaml # Arquivo de configuração do pre-commit
├── Makefile # Arquivo de alias de comandos úteis para o projeto
├── README.md # Arquivo de texto com a descrição inicial do projeto
└── docker-compose.yaml # Arquivo de configuração do Docker Compose para apoiar as tarefas no ambiente de desenvolvimento
Passo a passo da configuração inicial
-
Adicione a credencial do Terraform dentro do diretório
terraform
. -
Note a existência do arquivo
.env.example
dentro do diretórioterraform
. Faça uma cópia para um novo arquivo de nome.env
, substituindo os valores de acordo com o ambiente de desenvolvimento.-
Por padrão o ambiente da Base dos Dados carrega as seguintes configurações:
GOOGLE_APPLICATION_CREDENTIALS=<nome_da_conta_de_serviço_do_terraform.json> TF_VAR_bucket_name=terraform-data-basedosdados-dev TF_VAR_project_id=basedosdados-dev
No caso do desenvolvimento local é criado um container docker que faz uso do arquivo
.env
, baseado na imagem do Terraform. Assim não existe a necessidade de configurar o Terraform em seu ambiente local e controlamos a versão utilizada. -
-
Execute
make docker-up
para criar o container docker e validar as configurações.O alias em questão executa o comando
docker-compose up
.Este e outros alias estão contidos no arquivo
Makefile
e podem ser executados através do comandomake <alias>
. Consulte o arquivoMakefile
para mais informações.Caso a saída seja semelhante ao exemplo abaixo, a configuração foi realizada com sucesso.
bd_terraform | Initializing modules... bd_terraform | bd_terraform | Initializing the backend... bd_terraform | bd_terraform | Initializing provider plugins... bd_terraform | - terraform.io/builtin/terraform is built in to Terraform bd_terraform | - Reusing previous version of hashicorp/google from the dependency lock file bd_terraform | - Using previously-installed hashicorp/google v3.89.0 bd_terraform | bd_terraform | Terraform has been successfully initialized! bd_terraform | bd_terraform | You may now begin working with Terraform. Try running "terraform plan" to see bd_terraform | any changes that are required for your infrastructure. All Terraform commands bd_terraform | should now work. bd_terraform | bd_terraform | If you ever set or change modules or backend configuration for Terraform, bd_terraform | rerun this command to reinitialize your working directory. If you forget, other bd_terraform | commands will detect it and remind you to do so if necessary.
Passo a passo da configuração inicial
- Instale e configure a gcloud cli
- Instale e configure o kubectl