Voltar para Central de Manuais
# Deploy AWS App Runner (Sisconnect 2.0) Este documento descreve o que o repositório assume em relação ao **App Runner**. A definição oficial do serviço continua no **`apprunner.yaml` na raiz do repositório** — não é alterada por este guia. ## O que o App Runner executa - **Runtime / comando:** conforme `apprunner.yaml` — arranque com **Uvicorn** em `app.main:app`, porta de rede indicada no ficheiro. - **Dependências Python:** `requirements.txt` (instalação na fase configurada no YAML). ## Antes de publicar uma revisão 1. **Base de dados:** o MySQL referenciado no ambiente tem de aceitar ligações a partir do App Runner (VPC / security groups / RDS “publicly accessible” ou peering, conforme a tua arquitetura). 2. **Segredos:** mantém a política que já usas no YAML / consola AWS (rotação, least privilege). 3. **Smoke check local** (opcional): na raiz do repo, com `MYSQL_*` (ou secrets) definidos: ```powershell .\scripts\smoke_uvicorn.ps1 ``` O script só valida o **import** de `app.main` (igual ao arranque do Uvicorn). Para testar HTTP, segue as instruções que o script imprime no fim (`uvicorn` + `GET /health`). ## Depois do deploy - **Health:** `GET /health` — útil para health check do balanceador / App Runner. - **Tracking Tower (API):** rotas sob `/api/v1/tracking/...` (requer tabelas MySQL criadas e, se usares cache, `REDIS_URL` definida onde configurares variáveis — o YAML atual pode ser estendido por ti noutro mecanismo se não quiseres tocar neste ficheiro). ## App motorista Flutter - URL base da API: alinhar com o hostname público do App Runner (ex.: `--dart-define=API_BASE_URL=https://...`). - Login e operação ativa dependem dos endpoints já expostos pela API Sisconnect. ## PDF / WeasyPrint Se em runtime faltar biblioteca de sistema para o WeasyPrint, o erro aparece ao gerar PDF. Mitigações típicas: imagem de build customizada, layer com `apt`, ou serviço de PDF separado — isso fica à tua decisão de infra; o `apprunner.yaml` permanece como definiste.