chore: initialize GTI gerenciador fiscal monorepo

This commit is contained in:
gti
2026-09-29 14:43:05 -03:00
commit f4f546c928
2 changed files with 63 additions and 0 deletions
+26
View File
@@ -0,0 +1,26 @@
# Root-level, conservative .gitignore for the monorepo.
# Component-specific .gitignore files (gerenciador/.gitignore, fiscal/.gitignore)
# are preserved as-is and apply within their own subtrees.
# Secrets / environment
.env
.env.*
!.env.example
# Python
__pycache__/
*.pyc
.venv/
venv/
# Node
node_modules/
# OS
.DS_Store
Thumbs.db
# Editors
.vscode/
.idea/
*.swp
+37
View File
@@ -0,0 +1,37 @@
# GTI Gerenciador + GTI Fiscal
Monorepo corporativo consolidando dois serviços da GTI Sistemas, cada um
mantendo seu histórico git original:
- `gerenciador/` — o serviço de gestão de clientes e SSO ("GTI Gerenciador"
em produção; nome técnico do repositório de origem: `painel-clientes-web`).
FastAPI + Jinja2 + MySQL, autoridade de identidade para o login único.
- `fiscal/` — o Hub (FastAPI + PostgreSQL) e o Agent (leitor Firebird) do
sistema fiscal ("GTI Fiscal").
## Os dois continuam sendo serviços independentes em runtime
A consolidação feita aqui é de **código e versionamento**, não de
infraestrutura. Em produção, `gerenciador/` e `fiscal/` continuam rodando
como processos separados, com bancos de dados separados (MySQL vs
PostgreSQL) e deploys independentes.
A integração entre os dois é feita por **HTTPS e configuração** (variáveis
de ambiente), nunca por caminho de arquivo ou processo compartilhado:
- SSO: o Gerenciador é a autoridade de identidade e emite uma asserção
assinada (Ed25519/EdDSA) que o Fiscal valida com sua chave pública.
- Sincronização de clientes: o Fiscal consome um endpoint interno read-only
do Gerenciador (`GET /internal/fiscal/clients`), autenticado por um bearer
token dedicado.
- Smoke de deploy: o deploy do Hub do Fiscal inclui uma checagem read-only
contra o Gerenciador em produção.
## Históricos preservados
Os commits de cada componente foram trazidos com autoria e datas originais
preservadas (sem `--squash`). O histórico do `gerenciador/` foi extraído do
repositório de origem (`BLOQUEIO SGV`) via `git subtree split` apontando
só para a pasta `painel-clientes-web/` — outras iniciativas que viviam no
mesmo repositório de origem (não relacionadas ao Gerenciador) ficaram de
fora.