Server groups
A server group is a named set of servers you deploy to as a unit. It exists so that a rollout across many machines is one action with one batch to watch, instead of a loop you drive by hand. The CLI command and the URL still say node-groups.
What a group is for
Groups are org-scoped and orthogonal to projects: a server can be in a group, and a project can be deployed to that group, but the group itself belongs to the organization. Manage them at /orgs/<org>/node-groups.
The page is feature-gated. If server groups are not enabled for your organization you are redirected away rather than shown an empty panel, so an empty groups list means you genuinely have no groups.
Creating a group
A group needs a name, which must be unique within your organization — creating a second group with an existing name is refused as a conflict, not silently merged. Everything else is optional.
platform node-groups create --name edge-eu --description "EU edge fleet"Group settings
| Parameter | Type | Description |
|---|---|---|
| name | string | Unique within the organization. Required. |
| description | string | Free text for your own benefit. |
| appName | string | The application this group is dedicated to, when the group exists to run one thing. |
| deployStrategy | string | How a batch rolls out across the group's members. Defaults to rolling. |
| maxParallel | number | How many members may be updated at once. Defaults to 1 — the most conservative setting, one machine at a time. |
The maxParallel default of 1 is worth raising deliberately rather than by accident. A group of thirty servers rolled one at a time is slow but survivable; the same group rolled all at once is an outage if the new revision is bad.
Membership
Servers are added to and removed from a group one at a time, by ID. Membership is a link, not a move: removing a server from a group does not remove the server from your fleet, and deleting a group does not delete its members.
platform node-groups add-node --id <groupId> --node-id <nodeId>
platform node-groups remove-node --id <groupId> --node-id <nodeId>
platform node-groups get --id <groupId>Deploying to a group
A group deploy takes a project and fans it out across the group's members according to the group's strategy and parallelism. The call returns a batch identifier immediately rather than blocking — the rollout continues server-side and you poll it.
platform node-groups deploy --id <groupId> --target <target>
platform node-groups deploy-status --id <groupId> --jsonA deploy may be pinned to a specific commit. If you do not pin one, the group receives the project's current head.
CLI reference
platform node-groups list
platform node-groups get --id <groupId>
platform node-groups create --name <name> [--description <text>] [--app-name <app>]
platform node-groups update --id <groupId> [--name <name>] [--description <text>]
platform node-groups delete --id <groupId>
platform node-groups add-node --id <groupId> --node-id <nodeId>
platform node-groups remove-node --id <groupId> --node-id <nodeId>
platform node-groups deploy --id <groupId> --target <target>
platform node-groups deploy-status --id <groupId>list, get and deploy-status accept --json for machine-readable output.
Deleting a group
Deleting a group removes the grouping and its membership links. The servers themselves are untouched and stay in your fleet — see Servers for removing a machine properly.
platform node-groups delete --id <groupId>