Espelho do routines: NestJS 10 + Fastify + TypeORM, modulos catalog (override por UF), document (versoes + storage GCS), compliance (mesmo score do painel), alerts (regua de vencimento, envio e v1.2) e analise plugavel (KeywordAnalyzer -> OCR/LLM). 38 testes. Deploy aguarda banco 'documents' e secrets no hml2 — por isso o [skip ci] no bootstrap. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
42 lines
1.3 KiB
Plaintext
42 lines
1.3 KiB
Plaintext
# Copie para .env (que é gitignored) para rodar local.
|
|
|
|
PORT=3000
|
|
NODE_ENV=development
|
|
|
|
# Prefixo dos códigos de erro do @clubpetrodev/nestjs-mapped-exception
|
|
ERROR_CODE=DOC
|
|
|
|
# OBRIGATÓRIO. O JwtAuthGuard do authmodule libera a request quando
|
|
# `req.hostname.includes(INTERNAL_PATH)`; com o valor vazio, `''.includes('')`
|
|
# é true e a API inteira fica sem autenticação. O boot falha se não estiver setado.
|
|
INTERNAL_PATH=default.svc.cluster.local
|
|
|
|
# JWT compartilhado do core (no cluster vem do secret `secret-token`)
|
|
SECRET_TOKEN=
|
|
|
|
# Fuso usado para derivar o status (vencido/vence em breve) por data de calendário.
|
|
TZ=America/Sao_Paulo
|
|
DOCUMENTS_TIMEZONE=America/Sao_Paulo
|
|
|
|
# Bucket privado dos PDFs (leitura por URL assinada de vida curta)
|
|
DOCUMENTS_BUCKET=corepetro_store_documents
|
|
DOCUMENTS_URL_MINUTES=30
|
|
|
|
# Teto do upload em multipart (o controller ainda valida mime)
|
|
DOCUMENTS_MAX_FILE_BYTES=10485760
|
|
|
|
TYPEORM_CONNECTION=postgres
|
|
TYPEORM_HOST=localhost
|
|
TYPEORM_PORT=5432
|
|
TYPEORM_SLAVE=localhost
|
|
TYPEORM_SLAVE_PORT=5432
|
|
TYPEORM_USERNAME=postgres
|
|
TYPEORM_PASSWORD=password
|
|
TYPEORM_DATABASE=documents
|
|
TYPEORM_SYNCHRONIZE=false
|
|
TYPEORM_MIGRATIONS_RUN=true
|
|
TYPEORM_LOGGING=false
|
|
|
|
URL_DEVELOPMENT=http://localhost:3000
|
|
URL_HOMOLOGATION=https://lab.clubpetro.com/api/v2/documents
|