O Gov Hub BR é uma iniciativa para enfrentar os desafios da fragmentação, redundância e inconsistências nos sistemas estruturantes do governo federal. O projeto busca transformar dados públicos em ativos estratégicos, promovendo eficiência administrativa, transparência e melhor tomada de decisão. A partir da integração de dados, gestores públicos terão acesso a informações qualificadas para subsidiar decisões mais assertivas, reduzir custos operacionais e otimizar processos internos.
Potencializamos informações de sistemas como TransfereGov, Siafi, ComprasGov e outros para gerar diagnósticos estratégicos, indicadores confiáveis e decisões baseadas em evidências.
- Transparência pública e cultura de dados abertos
- Indicadores confiáveis para acompanhamento e monitoramento
- Decisões baseadas em evidências e diagnósticos estratégicos
- Exploração de inteligência artificial para gerar insights
- Gestão orientada a dados em todos os níveis
A arquitetura do Gov Hub BR é baseada na Arquitetura Medallion, em um fluxo de dados que permite a coleta, transformação e visualização de dados.
Esse trabalho é mantido pelo Lab Livre.
Para dúvidas, sugestões ou para contribuir com o projeto, entre em contato conosco: lablivreunb@gmail.com
Infraestrutura de dados do MIR (Ministério da Igualdade Racial) gerenciada via Argo CD (GitOps).
Este repositório é derivado do continuous-deployment do Gov-Hub e sobe o ambiente da aplicação data-application-mir.
Este monorepo contém os manifests/helm charts e os overlays por ambiente para:
- Argo CD (controle GitOps)
- App-of-Apps (gera os Applications filhos)
- Airflow (ETL/ELT)
- MinIO (objeto storage)
- Postgres (opcional, desabilitado em prod/preprod: bancos do MIR ficam fora do cluster)
Importante: não publicamos URLs/portas no README raiz. Endpoints e credenciais são tratados por ambiente e documentados internamente, quando necessário, nos respectivos READMEs.
| Item | Configuração |
|---|---|
| Repositório das DAGs (git-sync) | data-application-mir |
| Imagem do Airflow | ghcr.io/govhub-br/airflow-mir:<sha> (publicada pela CI do data-application-mir) |
| Python da imagem | 3.11 (PYTHONPATH ajustado) |
| Variáveis do Data Warehouse | DB_DW_*_MIR (secret db-dw-mir), lidas pelo profiles.yml do dbt |
| Conexões do Airflow | postgres_default e postgres_mir via secret airflow-mir-connections |
Homologação (values.preprod.yaml) |
Aponta para airflow/homolog |
Pendências antes do primeiro deploy (marcadas com
TODOnos arquivos):
- Domínios do Argo CD (
argocd/values.*.yaml) e do Airflow (airflow/*/kustomization.yaml) estão com placeholders*.mir.example.com.- Este repositório está em
https://github.com/GovHub-br/continuous-deployment-mir.git(público), referenciado emapp-of-apps/values.yamleargocd/. Por ser público, o Argo CD não precisa da Secretrepo-access; ela só é necessária se o repositório passar a ser privado (verargocd/README.md).- A tag da imagem do Airflow (
airflow/base/values.yaml) deve ser atualizada a cada release dodata-application-mir.- Se o MIR for instalado num cluster compartilhado com outros projetos, confira se os namespaces e as NodePorts não conflitam com os já existentes.
.
├── airflow/ # README e manifests do Airflow (overlays prod, homolog e teste)
├── app-of-apps/ # Chart que gera os Applications filhos
├── argocd/ # Instalação do Argo CD + entrypoints (prod, preprod e teste)
├── assets/ # Imagens usadas neste README
├── minio/ # README e manifests do MinIO (+ overlay prod)
├── postgres/ # manifests do Postgres (desabilitado em prod/preprod)
├── DEPLOY.md # Como subir o ambiente
└── README.md # (este arquivo)
Cada pasta possui um README próprio com detalhes de setup, pré-requisitos específicos e exemplos.
- Arquivos
values.*.yamlsobrescrevem apenas o que muda por ambiente (ex.:values.prod.yaml,values.preprod.yaml,values.teste.yaml). - O ambiente
testefoi criado para validar o repositório num cluster isolado: é igual aoprod, mas sem Ingress/HTTPS e com o Postgres dentro do cluster. - O merge é por chave (deep-merge). O que não está no overlay é herdado do base.
- Um
Applicationraiz gera/aplica osApplicationsfilhos (Airflow, MinIO, Postgres, etc.). - Cada filho pode usar Helm, Kustomize ou plugin (
kustomized-helm). - A ordem de bootstrap é definida por sync waves.
-
Usamos a anotação
argocd.argoproj.io/sync-wave: "<N>"para ordenar a aplicação. -
Regra geral:
- Infra base/dependências: waves negativas (ex.: DB/obj storage)
- Orquestrador:
0(ex.: Airflow) - Visualização/serviços finais:
1+(nenhum no MIR)
- Acesso ao cluster Kubernetes (kubeconfig).
- kubectl, helm e (opcional) argocd CLI instalados.
- Secrets exigidos por cada app criados antes do deploy (ver README de cada componente).
Como subir o ambiente:
DEPLOY.mddescreve os pré-requisitos, onde ajustar as URLs, os namespaces e Secrets necessários e a ordem para subir o ambiente num cluster que já está no ar.
O fluxo padrão é declarativo via Argo CD:
- Argo CD: instale/sincronize conforme
argocd/README.md(usavalues.yaml+ overlay do ambiente). - App-of-apps: o
application.<env>.yamlcria o Application raiz; ao sincronizar, ele gera/aplica os filhos conformeapp-of-apps/values.<env>.yaml. - Waves garantem a ordem (ex.: MinIO → Airflow).
Para testes pontuais, cada componente expõe um comando de renderização/aplicação manual (
kubectl kustomize ... | kubectl apply -f - -n <ns>). Em produção, evite aplicar manualmente para não criar drift.
- Nunca commitar credenciais no repositório.
- Criar secrets via
kubectl -n <ns> apply -f - <<'EOF' ... EOFou usar gerenciadores (Sealed/External Secrets, se adotados). - As secrets exigidas pelo Airflow do MIR (DW, conexões, Git, SMTP, MinIO) estão listadas no README do Airflow.
- Acesso a painéis/DBs é tratado por ambiente; procure a equipe de infra para endpoints e credenciais.
-
Branches: prefira prefixos
feat/,fix/,refactor/,docs/. -
Commits: Conventional Commits (ex.:
feat(argocd): ...,docs(airflow): ...). -
MR/PR: descreva o porquê e liste mudanças relevantes (paths/values alterados).
-
Rebase da branch com
mainantes de abrir o MR:git fetch origin git rebase origin/main git push --force-with-lease
- Como subir o ambiente:
DEPLOY.md - Argo CD:
argocd/README.md - App-of-apps:
app-of-apps/README.md - Airflow:
airflow/README.md - MinIO:
minio/README.md

