Coder Social home page Coder Social logo

basedosdados / iac Goto Github PK

View Code? Open in Web Editor NEW
4.0 4.0 0.0 1 MB

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

Home Page: https://info.basedosdados.org/links

Shell 5.32% Python 9.13% HCL 79.80% Makefile 5.75%
gcp kubernetes terraform

iac's People

Contributors

d116626 avatar gabriel-milan avatar guialvesp1 avatar lucascr91 avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

iac's Issues

feat[k8s]: Migrar Metabase (AWS :arrow_right: GCP)

Atualmente a aplicação está em execução no ambiente da AWS, em uma instância ec2 através de uma imagem docker.

Os dados da aplicação estavam armazenados no formato h2, recomendado para ambiente de desenvolvimento. A aplicação fornece uma documentação para esses casos, disponível em: https://www.metabase.com/docs/latest/operations-guide/migrating-from-h2.html.

Sub tarefas:

  • 0. Clonar a instância de produção devido a falta de acesso no ambiente;
  • 1. Atualização da versão da aplicação v0.. -> v0.43.4;
  • 2. Criação de um db postgres para realizar a migração de h2 para postgresql (Utilizado um container docker no próprio ambiente);
  • 3. Download e execução da ferramenta de migração de dados da própria aplicação;
  • 4. Dump do banco postgres metabase;
  • 5. Criação de um novo banco no Cloud SQL do ambiente GCP e import do dump;
  • 6. Instalação do chart metabase pmint93/metabase no cluster k8s;
  • 7. Configurar ingress e issuer do chart;
  • 8. Excluir recursos/serviços da aplicação utilizados no ambiente da AWS

feat[k8s]: Controlador de Acesso (SSO)

Para o funcionamento [ELK] utilizando as melhores práticas é necessário uma ferramenta responsável pela autenticação dos clientes.

Tal ferramenta visa centralizar a gestão das permissões de clientes por sistema.

O modelo de exemplo utilizado na prefeitura do rj é um Django personalizado.

[infra]: Analytics Metabase

Objetivo é armazenar e disponibilizar os dados para consumo no metabase, referente aos dados do próprio metabase, em específico, os dados de uso dos dashboards públicos.

Como bem levantado pelo @André Gorenstin no discord, existe uma issue aberta no repositório do metabase que resume o problema enfrentado metabase/metabase#9583.

Possível solução:

  • 1. Integração via ingress do k8s.

fix[k8s]: Isolar `prefect-agent`: basedosdados-dev em um namespace próprio

Atualmente as configurações do agente prefect basedosdados-devresidem dentro do diretório e namespace do prefect server. Deve-se isolar o mesmo em um novo diretório e namespace próprio para melhor organização dos seus componentes.

Após tal segregação será necessário ajustar o deploy do DBT, tanto no repositório queries-basedosdados como no repositório queries-basedosdados-dev

docs[infra]: Arquitetura dos compentes cloud

Disponibilizar a documentação de todos os componentes que agregram a infraestrutura do ambiente GCP.

Possível ferramenta para trabalhar nesta documentação como código: https://github.com/mingrammer/diagrams.

  • Início
  • Arquitetura
    • GitHub Actions
      • cd-terraform.yaml
      • ci-terraform.yaml
      • infracost.yaml
    • Kubernetes
      • cert-manager
      • ckan-staging
      • ckan-production
      • cloud-sql-proxy
      • elastic
      • jupyterlab
      • metabase
      • nginx
      • prefect
      • prefect-agent-basedosdados
      • prefect-agent-projects
      • prefect-agent-questions
      • tailscale
      • vault
    • Terraform
  • Desenvolvimento
    • Terraform
    • Kubernetes
  • Ferramentas
    • GitHub Action
    • Terraform
    • Kubernetes

feat[k8s]: Migrar CKAN (AWS ➡️ GCP)

Atualmente a aplicação e suas dependências estão em execução no ambiente da AWS, dockerizada em uma instância EC2.

Sub tarefas:

  • 1. Criar e validar o ambiente de desenvolvimento baseado nas imagens do chart a ser utilizado no cluster k8s;
  • 2. Levantar opções para realizar a instalação da extensão do CKAN basedosdados;
  • 3. Criar banco de dados ckan-staging no Cloud SQL GCP e utilizar o dump do bdd_db (CKAN produção ambiente AWS);
  • 4. Criar o ambiente ckan-staging no cluster k8s;
  • 5. Criar ingress e issuer do chart;
  • 6. Criar e validar o deploy via GH Actions

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.