Cloudflare deploy refuses placement.region (targeted placement) once the Worker has secrets
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #600 de @Brooooooklyn — fusionado
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 38/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Activo
- Stack tecnológico
- typescript
Línea de trabajo
Start with packages/void/src/cli/cf-version-api.ts and inspect placementFromOutput, then trace the Cloudflare deploy flow that uploads and deploys Worker versions. Compare the beta version endpoint behavior with the classic Wrangler upload path; the issue describes several possible approaches but leaves the design open. Done means targeted placement works for Workers with secrets without risking deployment of a version whose placement was dropped.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
void deploy --platform cloudflare refuses cloudflare.placement with a region (also host / hostname) once the Worker has any secret. The only option left is { mode: 'smart' }.
Cloudflare placement.region cannot be deployed while the Worker has secrets. Remove cloudflare.placement from void.config.ts, or set it to { mode: 'smart' }.
Thrown from placementFromOutput in packages/void/src/cli/cf-version-api.ts (still present in v1.2.1).
Why it matters
Targeted placement is how you keep a Worker next to a single-region database. Our Worker talks to Postgres in us-east-1 through Hyperdrive, so we need placement: { region: 'aws:us-east-1' }. Smart placement takes time to learn and doesn't guarantee that. Almost every production Worker has secrets, so in practice this rule rules out targeted placement for real apps on Void. Plain Wrangler deploys the same config with no problem.
Repro
- Set
cloudflare: { placement: { region: 'aws:us-east-1' } }invoid.config.ts. void secret put SOME_SECRETvoid deploy --platform cloudflare: refused with the error above.
Notes
The code comment says this is on purpose: the Workers beta version endpoint can drop the target, and an atomic upload goes live before a read-back could catch it. Some possible ways forward:
- Fall back to Wrangler's / the classic upload path when targeted placement is set, or
- Upload a version without deploying it, read it back to confirm
placement, then deploy it, or - Deploy and then verify (and roll back on a mismatch), behind an opt-in flag.
Seen on 1.1.12, still present in 1.2.1.
- Lenguaje dominante
- TypeScript
- Estrellas
- 580
- Forks
- 56
- Merge medio
- 11 h 32 min
- PR fusionados (30 d)
- 158
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de voidzero-dev/void
-
Static output always writes `foo.html`, so trailing-slash URLs 404 on hosts like GitHub PagesAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
voidzero-dev/void#638 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 57/100
voidzero-dev/void#636 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 3/5 1-2 días Aptitud para principiantes 67/100
voidzero-dev/void#635 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
voidzero-dev/void#627 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
voidzero-dev/void#619 ·
Los mantenedores suelen responder en 1 día
Todos los issues de voidzero-dev/void
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
lichess-org/lila#22324 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
[Feature Request] [Web] Expose kvCacheQuantizationBits in the onnxruntime-web WebGPU EP optionsAbiertoep:WebGPU platform:web quantization
Dificultad 2/5 1-3 horas Aptitud para principiantes 66/100
microsoft/onnxruntime#33752 ·
Los mantenedores suelen responder en 2 días
-
[Skill Bug]: entra-agent-id: inaccurate blueprint permission inheritance and parent token sub claimAbiertobug entra-agent-id
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
microsoft/GitHub-Copilot-for-Azure#3467 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
fix(worker): keep normal prepare waiting states failure-freePosiblemente ocupada @LichKing-2234 la tomó hoy. Abiertoagent:codex priority:P1
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
AgoraIO-Extensions/agent-infra#3745 ·
Los mantenedores suelen responder en 1 día
-
The five-line work window can drop its oldest line: the per-line byte share ignores the JSON framingPosiblemente ocupada @Eapp1e la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
makecindy/cindy#7973 · 1 comentario ·
Los mantenedores suelen responder en 1 día