commit f4f546c928c16d287731c61b4dfe039d9618b4a4 Author: gti Date: Tue Sep 29 14:43:05 2026 -0300 chore: initialize GTI gerenciador fiscal monorepo diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a22edf4 --- /dev/null +++ b/.gitignore @@ -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 diff --git a/README.md b/README.md new file mode 100644 index 0000000..565ed10 --- /dev/null +++ b/README.md @@ -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.