Pragmatic.ControlPlane
SignalR-based coordination for distributed Pragmatic hosts — identity, heartbeat, commands, health aggregation, migration coordination, and deploy orchestration. Degrades gracefully: works without a control plane (NoOp defaults), adds distributed features when active.
The Problem
Section titled “The Problem”Two-plus instances need coordination. Without it, hosts migrate simultaneously (data corruption), deploys cause downtime (no drain/restart orchestration), there’s no visibility into which hosts are healthy, and maintenance mode is per-instance instead of cluster-wide.
Without Control Plane: With Control Plane: Host A ─┐ ┌─ migrate (race!) Host A ─┐ ┌─ leader migrates Host B ─┤─ start ─┤─ migrate (race!) Host B ─┤─ register ─CP┤─ followers wait Host C ─┘ └─ migrate (race!) Host C ─┘ heartbeat └─ all start serving Data corruption risk. Coordinated, observable.The Solution
Section titled “The Solution”Hosts register with a SignalR hub, heartbeat, and coordinate: a leader runs migrations while followers wait, deploys drain and restart in order, health aggregates across the cluster, and maintenance mode is cluster-wide. In a monolith you need none of this — so it’s opt-in, with NoOp defaults that keep a single host working unchanged.
Installation
Section titled “Installation”dotnet add package Pragmatic.ControlPlaneEnable it on the host (app.UseControlPlaneHub(...) / hub URL config); without it, the NoOp defaults
apply and a single instance runs normally.
Status
Section titled “Status”Identity, heartbeat, commands, health aggregation, leader-elected migration coordination, and graceful degradation are functional within the 0.8 preview. See the roadmap.
| Concepts | The coordination model, leader election, graceful degradation | | Getting Started | Wire the hub, register hosts, coordinate migrations | | Common Mistakes | The most frequent control-plane pitfalls | | Troubleshooting | Problem/solution guide |
Requirements
Section titled “Requirements”- .NET 10.0+
License
Section titled “License”Part of the Pragmatic.Design ecosystem — see Licensing. Pragmatic.ControlPlane is licensed under the PolyForm Small Business 1.0.0 license (free for small businesses; commercial license above the threshold).