Deploy e Infraestrutura
Última atualização: 2026-02-23
1. Ambientes
| Ambiente | URL | Uso |
|---|---|---|
| Preview | https://id-preview--b4188062-...lovable.app | Desenvolvimento e testes |
| Staging | https://staging.olp.digital | Testes E2E e validação pré-produção |
| Produção | https://olp.digital | Acesso real dos clientes |
| Published | https://mvp-olp.lovable.app | Lovable 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.digitalconfigurado 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
- Acessar Edge Functions Dashboard
- Verificar que a função aparece na lista
- 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_URLno.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ável | Descrição | Obrigatória |
|---|---|---|
VITE_SUPABASE_URL | URL do Supabase | ✅ (auto) |
VITE_SUPABASE_PUBLISHABLE_KEY | Anon key | ✅ (auto) |
VITE_SUPABASE_PROJECT_ID | Project ID | ✅ (auto) |
VITE_USE_WORKER | Usar gateway Cloudflare | ❌ |
VITE_WORKER_URL | URL do Worker | Se USE_WORKER=true |
Supabase Secrets (Backend)
| Secret | Uso |
|---|---|
OLP_JWT_SECRET | Assinatura JWT do sistema e portal (unificado — PostgREST exige secret único para RLS) |
OLP_PEPPER_SECRET | Pepper para hash de senhas (password-helper.ts) |
WASENDER_API_KEY | API key do Wasender (WhatsApp) |
WASENDER_WEBHOOK_SECRET | Secret do webhook Wasender |
WASENDER_SESSION_ID | ID da sessão Wasender ativa |
CRON_SECRET | Autenticação dos CRON jobs |
MP_ACCESS_TOKEN | MercadoPago (pagamentos) |
LOVABLE_API_KEY | AI Gateway |
NTFY_TOPIC | Tópico ntfy.sh para alertas push da equipe técnica |
E2E_TEST_PASSWORD | Senha 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_smokeretornapostgrest_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.digitalapontando para Lovable - [ ] CRON jobs: status
operacionalna tabelacron_status - [ ] Banco: dados de teste limpos (ver DATABASE_CLEANUP.md)
- [ ] Primeiro administrador criado e testado com login real (OTP WhatsApp)
8. Referências
- Getting Started — Setup local
- CRON Jobs — Jobs de manutenção
- Troubleshooting — Debug de problemas em produção