Containers scheduling policy for Durable Objects configuration
Cloudflare Containers now support the durable_object scheduling policy in public beta, allowing Durable Objects to dynamically select container images and instance sizes at runtime rather than using a centrally managed configuration. This enables per-instance customization and includes support for custom images configured in Wrangler and a new cloudflare/debian-trixie managed image.
Containers now support the durable_object scheduling policy in public beta. This policy lets a Durable Object select the image and instance size for a Container at runtime instead of using one centrally managed configuration for the application.
To use custom images, configure the policy and one or more named images in Wrangler:
{
"containers": [
{
"class_name": "AgentComputer",
"scheduling_policy": "durable_object",
"images": {
"base": {
"dockerfile": "./container/Dockerfile",
},
},
},
],
}[[containers]]
class_name = "AgentComputer"
scheduling_policy = "durable_object"
[containers.images.base]
dockerfile = "./container/Dockerfile"
Wrangler prepares each image and exposes its immutable reference through ctx.container.images. Supply that reference and an instance size when you start the Container:
this.ctx.container.start({
image: this.ctx.container.images.base,
enableInternet: false,
instance: "standard-2",
});src/index.tststhis.ctx.container.start({
image: this.ctx.container.images.base,
enableInternet: false,
instance: "standard-2",
});
The durable_object policy also supports the new cloudflare/debian-trixie Cloudflare-managed image, which includes Node.js 24.20.0 on Debian Trixie slim. Start it directly without configuring a named image.
Durable Object-managed Container instances have independent lifecycles and do not participate in application-wide image rollouts.
For configuration, runtime sizing, snapshots, and update behavior, refer to Scheduling Policies.
Source: original entry ↗
More from Cloudflare
Follow Cloudflare to get its new changes in your feed and email digest.
Improved HTTP/3 client cancellation reporting
Cloudflare now properly stops HTTP/3 requests when clients cancel them and reports these consistently as 499 status codes. This reduces unnecessary origin work and provides clearer visibility into client behavior across all plan types.
WAF failed detections field now available in Rules
A new cf.appsec.request.failed_detections field lets you control how rules handle requests when security detections fail. This array of detection IDs covers content scanning, WAF attack scoring, attack signatures, leaked credentials, and AI-based PII/prompt injection/custom topic detection failures, and works across custom rules, rate limiting rules, and request header transform rules.
Markdown for Agents: More efficient in-process streaming conversion
Markdown for Agents now uses an in-process streaming engine at the edge to convert HTML, reducing overhead and memory use. The conversion limit increased from 2 MiB to 6 MiB, and token count headers are no longer generated.