Repository navigation
Infra: transferir Vercel, Supabase e domínio da conta pessoal para a HashLoad #4
Copy link
Copy link
Open
Description
Contexto
O portal (pubpascal-dev) e os apps nativos (pubpascal-app) acabaram de ser
importados para a organização HashLoad. O código já está sob a HashLoad,
mas toda a infraestrutura que mantém o site no ar continua em contas
pessoais (conta do Isaque). Enquanto isso não mudar, a HashLoad é dona do
repositório mas não do ambiente de produção — cobrança, acesso, chaves e
suporte seguem atrelados a uma pessoa física.
Esta issue é o pedido formal para transferir essas contas/projetos para a
organização. Não é urgente e não deve ser feita agora — é uma tarefa de
pós-handover, para ser executada em janela combinada, porque envolve
troca de credenciais e risco de indisponibilidade.
Inventário — o que hoje está em nome pessoal
| Serviço | Para que serve no portal | Ação |
|---|---|---|
Vercel (projeto que serve pubpascal.dev) |
build e hospedagem do Next.js, variáveis de ambiente de produção, Analytics | transferir o projeto para uma Team da HashLoad |
| Supabase (projeto do portal) | Postgres (pacotes, publishers, workspaces), Auth, RLS, Storage | transferir o projeto para uma Organization da HashLoad |
Cloudflare (zona pubpascal.dev) |
DNS apontando para a Vercel (registro em nuvem cinza, não laranja) | transferir o domínio/zona para conta da HashLoad |
| Upstash Redis | rate limiting das rotas de API (@upstash/ratelimit) |
recriar/transferir o banco e rotar o token |
| Asaas | gateway de pagamento (patrocínios/checkout) | conta precisa ser da pessoa jurídica que emite as cobranças |
| Cloudflare Turnstile | anti-bot dos formulários | recriar as chaves sob a conta da HashLoad |
| GitHub OAuth App | login com GitHub e o fluxo de contribuição (fork/PR) | recriar como OAuth App da organização e atualizar o callback |
Variáveis/segredos que precisam ser reemitidos ou reapontados
Sem valores aqui — a lista serve de checklist na hora da migração.
- Vercel (Environment Variables):
NEXT_PUBLIC_SUPABASE_URL,NEXT_PUBLIC_SUPABASE_ANON_KEY,
SUPABASE_SERVICE_ROLE_KEY,NEXT_PUBLIC_SITE_URL,UPSTASH_REDIS_REST_URL,
UPSTASH_REDIS_REST_TOKEN,ASAAS_API_KEY,ASAAS_BASE_URL,ASAAS_WEBHOOK_SECRET,
NEXT_PUBLIC_TURNSTILE_SITE_KEY,TURNSTILE_SECRET_KEY,
NEXT_PUBLIC_GITHUB_AUTH_ENABLED,PUBLISH_VALIDATION_ENFORCE - GitHub Actions (secrets do repositório, usados pela esteira e pelo job de expiração de patrocínio):
SUPABASE_URL,SUPABASE_SERVICE_ROLE_KEY - Webhook do Asaas: reapontar a URL de callback depois que o projeto mudar de dono
- Supabase Auth: revisar as Redirect URLs e o provider do GitHub após recriar o OAuth App
Checklist da migração
- Criar Team na Vercel e Organization no Supabase sob a HashLoad
- Transferir o projeto Supabase (confirmar que a transferência preserva dados, RLS e migrations)
- Transferir o projeto Vercel e reconfigurar o domínio
pubpascal.devno projeto (lição já registrada: domínio precisa estar no projeto e a nuvem no Cloudflare precisa ficar cinza — laranja dá erro 525) - Transferir a zona DNS no Cloudflare
- Recriar Upstash, Turnstile e o OAuth App do GitHub sob a organização; rotar tokens
- Migrar a conta Asaas para a pessoa jurídica e reapontar o webhook
- Republicar as variáveis na Vercel e os secrets do repositório
- Rotar todas as chaves antigas que ficaram na conta pessoal
- Deploy de verificação + smoke test: home, busca, detalhe de pacote, login, publish, download de SBOM
Riscos
- A troca de domínio/DNS pode causar indisponibilidade curta — fazer em janela combinada.
- Chaves antigas continuam válidas até serem rotadas; rotar é parte da entrega, não um extra.
- O login com GitHub quebra no momento em que o OAuth App mudar, até o callback ser atualizado.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity