Cloud Management
Organize environments and provision cloud-hosted nodes from the control plane.
Overview
Cloud Management is ControlBird's cloud-based control plane, reached at app.controlbird.io (or your own enterprise-deployed Control Plane). It is where you sign up, organize your deployments into logical Environments, and provision, monitor, and manage cloud-hosted ControlBird Nodes through their full lifecycle: from creation and billing through start/stop, image updates, and deletion. Every long-running task is tracked so the UI can show real-time progress.
Use Cloud Management when you want ControlBird hosted for you rather than running it on your own hardware. You pick a subscription tier (Starter, Pro, or Enterprise) per node, which determines resource limits, the number of data tags, allowed protocols, and monthly egress bandwidth. Nodes inside the same environment can peer with one another over a private network, while remaining isolated from nodes in other environments.
Prefer a guided tutorial?
New to this? Follow the Create Environment & Deploy a Node walkthroughs for a step-by-step tour, then come back here for the full reference.
Key Concepts
| Concept | What it does |
|---|---|
| Environment | A logical container for networked nodes, typically named by stage (Production, Staging, Dev) or location (Home, Office). Each environment provisions an isolated private network so its nodes can peer with each other. |
| Node | A single running ControlBird instance inside an environment. It tracks lifecycle status, live resource usage, health, and optional SSH tunnel access. |
| Subscription | The billing and feature plan for a node (one per node). It sets the tier, allowed protocols, and tag / session / bandwidth / disk caps. |
| Node Operation | A long-running task (create, delete, start, stop, update image, factory restore, upgrade tier) with a status and progress percentage that the UI shows for live updates. |
Subscription tiers
Each tier sets the resource limits that apply to a node, summarized below. For full pricing and plan details, see the pricing page.
| Tier | Price | Tags / node | Bandwidth / mo | Sessions | Disk | Protocols |
|---|---|---|---|---|---|---|
| Starter | $20/mo | 200 | 10 GB | 5 | 2 GB | MQTT, Modbus, SMTP, PulseAudio |
| Pro | $100/mo | 1000 | 100 GB | 25 | 25 GB | All protocols |
| Enterprise | Custom | Unlimited | Unlimited | Unlimited | Unlimited | All protocols |
Node lifecycle
A node moves through a well-defined set of statuses shown in the control plane. For Starter and Pro tiers, creation begins awaiting payment, moves to provisioning once checkout succeeds, and then to running once the node comes online. Enterprise nodes instead wait for an administrator to review and provision them, with no upfront payment.
Common Patterns
- Group nodes by stage or location. Each environment gets its own private network, so nodes that need to peer (e.g., a Home hub and a satellite node) belong in the same environment.
- Watch live stats. The control plane shows live CPU, memory, and disk usage for each node, refreshed by a periodic health check. Once a node responds, its status becomes running and its health becomes healthy.
- Track operations for progress. Start, stop, delete, and update-image actions run in the background. The control plane shows their status and progress rather than blocking on an immediate result.
- Billing stays in sync. Subscription state is kept up to date automatically, and available image updates are detected for you.
- Stay under the bandwidth cap. Each node accumulates egress for the current billing period. Crossing your tier's monthly limit moves the node into a bandwidth-exceeded state until the next period begins.
Troubleshooting & Limitations
Nodes are created inside an environment
Every node belongs to an environment, which enforces environment membership and network isolation. Create the environment first, then add nodes to it.
- Subdomains are globally unique. A node's subdomain is unique across all users. Auto-derived name collisions retry automatically during creation, but a duplicate node name within the same environment produces a collision error.
- Node names are case-insensitive in DNS. Names are lowercased and sanitized to alphanumeric plus hyphens (1-63 characters, no leading or trailing hyphens), so
My-Nodeandmy-nodecollide. A node name is unique within its environment. - Enterprise nodes are not auto-provisioned. They wait for an administrator to provision them explicitly; changing the subscription alone does not trigger provisioning.
- Billing must be configured for paid tiers. If billing is not set up, Starter and Pro creation returns a "billing not configured" error. Enterprise is unaffected.
- SSH tunnel needs both halves. Remote terminal access requires both a configured DNS provider and a server address. Missing either disables the tunnel.
- Resource limits do not back-sync automatically. A node's resource limits are set from its tier when the node is created. Changing the subscription applies to an existing node only when it is provisioned again.
- Bandwidth tracking is advisory. Usage is sampled by the periodic health check, so values can appear stale if it has not run recently.
- Eventual consistency on operations. An operation can be marked succeeded while the node status briefly lags behind, so keep watching until both agree.
- Deletion is gradual. A node first moves to a deleting state, then is removed in the background and marked deleted.
- Cascades. Deleting an environment cascades to all of its nodes. Deleting a node detaches its subscription; removing a subscription outright requires an explicit delete.
- Short-lived sessions. Sign-in sessions expire, so you re-authenticate per session.