HashLoad / HashLoad/pubpascal-dev
Infra: transferir Vercel, Supabase e domínio da conta pessoal para a HashLoad
还没有人认领这个 Issue。
- 主要语言
- TypeScript
- 星标
- 1
- 派生
- 0
- PR 合并指标
- 30 天内没有已合并 PR
描述
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.
贡献指南
这个仓库没有索引到贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
先从此 issue 中的清单和迁移检查表开始,然后检查 Vercel 项目、Supabase 项目、Cloudflare zone、Upstash、Asaas、Turnstile、GitHub OAuth App 以及 GitHub Actions secrets。完成的标准是所有权归 HashLoad 所有,凭据和回调已更新,旧 key 已轮换,并且首页、搜索、package 详情、登录、发布和 SBOM 下载的所列 smoke test 均已通过。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- github, next.js, supabase, typescript
- 领域
- authentication, cloud, databases, devops, infrastructure, security
- Issue 类型
- 功能
- 难度
- 5/5
- 预计耗时
- 一周以上
- 活跃度
- 活跃
- 描述清晰度
- 描述清楚
- 新手友好度
- 28/100