Skip to content

Deploy e Infraestrutura ​

Última atualização: 2026-02-23


1. Ambientes ​

AmbienteURLUso
Previewhttps://id-preview--b4188062-...lovable.appDesenvolvimento e testes
Staginghttps://staging.olp.digitalTestes E2E e validação pré-produção
Produçãohttps://olp.digitalAcesso real dos clientes
Publishedhttps://mvp-olp.lovable.appLovable publish — hostname legado, ambiente é produção (redirecionado para olp.digital)

2. Frontend ​

Deploy Automático via Lovable ​

  • Preview: Atualiza automaticamente ao salvar no editor
  • Publish: Via botão "Publish" no editor Lovable → deploy em mvp-olp.lovable.app (hostname legado do Lovable; o ambiente é produção real)
  • Domínio custom: olp.digital configurado via DNS apontando para Lovable

Não há pipeline CI/CD separado — o Lovable gerencia build e deploy do frontend.


3. Edge Functions ​

Deploy Automático ​

Edge Functions são deployadas automaticamente pelo Lovable ao salvar o arquivo. Não é necessário executar supabase functions deploy manualmente.

Verificação Pós-Deploy ​

  1. Acessar Edge Functions Dashboard
  2. Verificar que a função aparece na lista
  3. Checar logs para erros de inicialização

4. Cloudflare Worker (Gateway) ​

O Cloudflare Worker atua como gateway entre o frontend e as Edge Functions do Supabase, resolvendo cookies cross-origin e injeção de geolocalização.

📖 Documentação completa: CLOUDFLARE_WORKER_GATEWAY.md — código-fonte anotado, lógica de reescrita de cookies, headers de geo, CORS, troubleshooting e sincronização.

Resumo ​

  • URL: https://gateway.olp.digital
  • Ativação: VITE_USE_WORKER=true + VITE_WORKER_URL no .env
  • Fluxo: Frontend → gateway.olp.digital → *.supabase.co/functions/v1/*
  • Código-fonte: Gerenciado externamente no painel Cloudflare (não faz parte deste repositório)

5. CORS — Origens Permitidas ​

Definidas em supabase/functions/_shared/cors-helpers.ts:

Lista Estática ​

typescript
const ALLOWED_ORIGINS = [
  'http://localhost:5173',
  'http://localhost:8080',
  'https://b4188062-97f3-4ab8-aba4-214ee32684a0.lovableproject.com',
  'https://id-preview--b4188062-97f3-4ab8-aba4-214ee32684a0.lovable.app',
  'https://olp.digital',
];

Regras Dinâmicas ​

  • Qualquer *.lovableproject.com → permitido
  • Qualquer *.lovable.app → permitido
  • Qualquer *.olp.digital → permitido

Regra Fundamental ​

Access-Control-Allow-Origin NUNCA usa '*' quando credentials: 'include' está ativo. Sempre usa a origem exata da requisição.


6. Variáveis de Ambiente ​

Frontend (.env) ​

VariávelDescriçãoObrigatória
VITE_SUPABASE_URLURL do Supabase✅ (auto)
VITE_SUPABASE_PUBLISHABLE_KEYAnon key✅ (auto)
VITE_SUPABASE_PROJECT_IDProject ID✅ (auto)
VITE_USE_WORKERUsar gateway Cloudflare❌
VITE_WORKER_URLURL do WorkerSe USE_WORKER=true

Supabase Secrets (Backend) ​

SecretUso
OLP_JWT_SECRETAssinatura JWT do sistema e portal (unificado — PostgREST exige secret único para RLS)
OLP_PEPPER_SECRETPepper para hash de senhas (password-helper.ts)
WASENDER_API_KEYAPI key do Wasender (WhatsApp)
WASENDER_WEBHOOK_SECRETSecret do webhook Wasender
WASENDER_SESSION_IDID da sessão Wasender ativa
CRON_SECRETAutenticação dos CRON jobs
MP_ACCESS_TOKENMercadoPago (pagamentos)
LOVABLE_API_KEYAI Gateway
NTFY_TOPICTópico ntfy.sh para alertas push da equipe técnica
E2E_TEST_PASSWORDSenha para login direto (sem OTP) de usuários de teste E2E

7. Checklist de Deploy para Produção ​

  • [ ] Todas as Edge Functions deployadas e sem erros nos logs
  • [ ] auth-diagnostics → public_smoke retorna postgrest_ok: true
  • [ ] CORS: origem de produção (olp.digital) na lista de permitidas
  • [ ] Secrets: todos os 10 secrets configurados no Supabase
  • [ ] Cloudflare Worker: gateway respondendo em gateway.olp.digital
  • [ ] DNS: olp.digital apontando para Lovable
  • [ ] CRON jobs: status operacional na tabela cron_status
  • [ ] Banco: dados de teste limpos (ver DATABASE_CLEANUP.md)
  • [ ] Primeiro administrador criado e testado com login real (OTP WhatsApp)

8. Referências ​