Self-hosted platform: no command clears the local install record after its database is gone
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 1/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 78/100
- Tipo de issue
- Documentação
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- postgresql, typescript
Direção de pesquisa
Leia docs/guide/platform/installation/uninstall.md, especialmente as orientações em torno da linha 92 e a lista “Remove retained resources”. Documente como limpar o registro de instalação local e os arquivos adjacentes de recuperação e de segredos quando o banco de dados tiver sido perdido permanentemente; em seguida, explique como remover manualmente os recursos do Cloudflare mantidos. O trabalho estará concluído quando as etapas de recuperação estiverem claras e consistentes com a lista de recursos existente.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Problem
If the platform PostgreSQL database is deleted or can no longer be reached, the local
installation record stays, and no Void command can clear it. The installation name stays
blocked on this machine.
database deleted / unreachable
│
▼
void platform uninstall <id> ──▶ needs the database lifecycle lock first ──▶ fails
void platform install --resume ──▶ reads the saved checkpoint from the database ──▶ fails
void platform install (same name) ──▶ "Installation <id> already uses this name.
Resume it with void platform install --resume" ──▶ loop
A user can still pick a new name, so this is a cleanup dead end, not a full block. The Cloudflare
resources of that installation also stay, and uninstall cannot list them.
Repro (code reading; base 23ddc6e35)
- Install a platform (or stop an install after the database claim).
- Delete the PostgreSQL database at the provider.
- Run
void platform uninstall <id>: it stops at the database lock. - Run
void platform install --name <same-name>: refused, points to--resume. - Run
void platform install --resume --name <id>: it stops at the database read.
Cause
- Every lifecycle command, uninstall included, takes the database lifecycle lock before any change:
packages/void/src/cli/platform-management.ts:591-606(acquirePlatformDatabaseLifecycleLock).
uninstall --planreads project Zero Trust state and projects from the database:
platform-management.ts:311-323. - A non-draft resume reads the authoritative manifest from the database first:
packages/void/src/cli/platform-lifecycle.ts:476-486(readPlatformDatabaseLifecycleManifest). - The name check blocks any record that is not
uninstalled:
packages/void/src/cli/platform-registry.ts:256-268. docs/guide/platform/installation/uninstall.md:92says uninstall stops when the database cannot
be reached, with no next step. Deleting~/.void/platforms/<account>/<id>.jsonis only mentioned
for after a finished uninstall (uninstall.md:38).
Options
- Docs only: say that when the database is gone for good, the user can delete
~/.void/platforms/<account>/<id>.json(and the.recovery.enc/.secrets.encnext to it),
then remove the Cloudflare resources by hand (the list in "Remove retained resources").
Smallest; no code risk. - A
void platform forget <id>command that removes only the local record after a typed
confirmation, prints the recorded Cloudflare resources first, and refuses while the database
is reachable. Needs CLI help, docs and interactive hints. - Let
uninstall --purge-resourcesrun without the database when the user passes an explicit
flag (for example--database-gone). Largest: the database lock and the Zero Trust guard exist
to stop races with the API, so this needs a careful design of what is still safe to delete.
Recommendation: option 1 now; option 2 if users hit it more than once.
🤖 Generated with Claude Code
- Linguagem predominante
- TypeScript
- Estrelas
- 402
- Forks
- 32
- Merge médio
- 12h 28min
- PRs com merge (30d)
- 77
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de voidzero-dev/void
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
voidzero-dev/void#478 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
voidzero-dev/void#463 ·
Mantenedores costumam responder em até 1 dia
-
Deploy after a secret change fails for Workers over ~750 KB: source read-back capped at 1 MiBAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 82/100
voidzero-dev/void#459 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 68/100
voidzero-dev/void#480 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 56/100
voidzero-dev/void#477 ·
Mantenedores costumam responder em até 1 dia
Todas as issues de voidzero-dev/void
Issues semelhantes
-
Admin search throws for permissions added through Admin.generalIndexItems('permissions', ...)Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Koenkk/zigbee-herdsman-converters#13540 ·
Mantenedores costumam responder em até 1 dia
-
Add: Tequila Music TV RO SDAbertacheck:passed streams:add
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
iptv-org/iptv#55821 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
area/busola/ux
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
kyma-project/busola#5442 ·
Mantenedores costumam responder em até 2 dias
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
vercel-labs/wterm#246 ·
Mantenedores costumam responder em até 1 dia