O que é um projeto SuperDB
Um projeto é a unidade de isolamento da plataforma. Cada projeto possui:
- Um schema Postgres exclusivo (
proj_<slug>) - API keys próprias (anon key e service key)
- Configurações de auth independentes (providers, MFA, templates)
- Buckets de storage isolados
- Logs e métricas separados
Via Admin UI
- Acesse admin.superdb.com.br e faça login com sua conta platform_admin.
- No menu lateral, clique em Platform → Projetos.
- Clique no botão + Novo Projeto no canto superior direito.
- Preencha os campos:
- Nome: nome legível do projeto (ex: "Acme Corp")
- Slug: identificador URL-safe (ex:
acme). Será usado no nome do schema. - Owner email: email do usuário dono do projeto (cliente final).
- Plano: Free, Pro ou Scale.
- Clique em Criar projeto. O provisioning inicia automaticamente.
- Aguarde o status mudar de Provisionando… para Ativo (normalmente 2–5 segundos).
Slug imutável: o slug não pode ser alterado após a criação, pois é o nome do schema Postgres. Escolha com cuidado.
Via API
Você também pode criar projetos programaticamente. Necessita de um JWT de platform_admin.
curl -X POST https://superdb.com.br/platform/v1/projects \
-H "Authorization: Bearer $PLATFORM_ADMIN_JWT" \
-H "Content-Type: application/json" \
-d '{
"name": "Acme Corp",
"slug": "acme",
"owner_email": "dev@acme.com.br",
"plan": "pro"
}'
{
"id": "proj_01HXZ...",
"name": "Acme Corp",
"slug": "acme",
"status": "active",
"anon_key": "eyJ...",
"service_key": "eyJ...",
"created_at": "2026-05-14T10:00:00Z"
}
O que acontece nos bastidores
Ao criar um projeto, o sistema executa automaticamente:
CREATE SCHEMA proj_<slug>no banco de dados- Cria a role Postgres isolada
proj_<slug>_service - Aplica GRANTs de segurança (service role só acessa seu schema)
- Gera as API keys (anon key e service key) assinadas com o JWT_SECRET
- Insere o registro em
proj_management.projects - Cria o bucket padrão
publicno Storage
Troubleshooting
Projeto não aparece na lista
Aguarde 5 segundos e recarregue a página. Se persistir, verifique em Platform → Audit Log se a criação foi registrada. Erros de provisioning aparecem no log com status error.
Provisioning travado em "Provisionando…"
Verifique os logs do serviço de auth:
docker logs auth --tail=50 | grep "provision"
Causas comuns: conexão com o banco caiu, slug com caracteres inválidos (use apenas letras minúsculas, números e hífens), ou slug duplicado.