Skip to content

Deploy e Infraestrutura

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


1. Ambientes

AmbienteURLUso
Previewhttps://id-preview--b4188062-...lovable.appDesenvolvimento e testes
Produçãohttps://olp.digitalAcesso real dos clientes
Publishedhttps://mvp-olp.lovable.appLovable publish (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
  • 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)
WASENDER_API_KEYAPI key do Wasender (WhatsApp)
WASENDER_WEBHOOK_SECRETSecret do webhook Wasender

| CRON_SECRET | Autenticação dos CRON jobs | | MP_ACCESS_TOKEN | MercadoPago (pagamentos) | | LOVABLE_API_KEY | AI Gateway |


7. Checklist de Deploy para Produção

  • [ ] Todas as Edge Functions deployadas e sem erros nos logs
  • [ ] auth-diagnosticspublic_smoke retorna postgrest_ok: true
  • [ ] CORS: origem de produção (olp.digital) na lista de permitidas
  • [ ] Secrets: todos os 13 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