Skip to main content
The native Core uses WEBDOCK_FEATURES to select built-in feature states. This replaces the retired TypeScript WEBDOCK_MODULES and worker-domain setup. Runtime plugins have their own installation, grant and capability controls.

Configure states

Supply a JSON object in Core’s private runtime environment:
Supported names are hosting, databases, mail, storage, cms and observability. Omitted features are disabled. An empty object selects no built-in products. Changing configuration does not provision resources, purchase capacity, grant workspace membership or provide credentials. It does not automatically delete existing resources or move them to another provider.

Drain retained work

Before disabling a feature, roll out draining consistently and inspect its durable operations, leases and retained resources. Keep the required workers and agents available until accepted work is resolved. Review uncertain provider outcomes rather than retrying them as new work. Suspension retains data. Deletion is a separate explicit operation. Preserve retained storage and identity, encryption and signing material; outgoing-only Mail does not allocate an incoming Stalwart instance. Use the exact environment and deployment contracts for your source revision. Core configuration is in the native environment example (crates/control-plane/.env.example), and feature admission is implemented in crates/core/src/features.rs. See Core distribution and plugin development.