Groups
Groups are reusable collections of settings that you apply across multiple hosts at the same time. Instead of repeating the same SSH keys or security rules on every server, you define them once on a group and let every member host inherit them. This keeps security consistent across a fleet of hosts: set the keys and rules once, and every member host stays in sync.
This page covers:
Creating a group - add a group and open itAssigning hosts to a group - manage its membershipPublishing a group - apply the group's settings to its hostsGroup history - review past changes and deployments, and revertEditing a group andDeleting a group
What you can do with groups
- Define SSH keys once and share them across every host in the group.
- Define firewall and Security rules once and apply them everywhere.
- Add or remove hosts from a group at any time without touching each host individually.
Settings defined on a group are inherited by all of its member hosts, so changes you make to a group take effect across the whole membership.
Normal groups and partner groups
There are two kinds of group. A partner group is marked with a blue group icon next to its Manage button.
- A normal group belongs to a single customer account. It applies only to that customer, and you can only add hosts that belong to it.
- A partner group sits one level higher and works across multiple customers. It has the same settings as a normal group, but you can add hosts from any customer account you have TurboStack access to. This lets an agency apply shared SSH keys and security rules across all of its client environments at once, instead of configuring each account separately.
Viewing groups
To see all groups, open /groups. The overview lists every group, with a search box and a Create button above it.
Each group has its own page at /groups/{group} with the following tabs:
Tip
A read-only Source (YAML) view of any group is available at /groups/yaml/{group} if you want to review the full configuration at a glance. The first icon in the group header opens it.
Creating a group
- Go to
/groups. - Select
Create. - In the modal, enter a name for the group.
- Confirm to create the group and open it.
Assigning hosts to a group
The Hosts tab controls the membership of the group. It shows two lists side by side:
- Available Hosts - the hosts you can still add.
- Selected Hosts - the hosts that are already in the group.
Select a host in Available Hosts to move it to Selected Hosts. Select a host in Selected Hosts to move it back. Each list has its own search box, so you can filter a long list before you move anything.
-
Open the group and select the
Hoststab. -
Search for a host if the list is long, then select it to move it to the other list.
-
To include every available host at once, use
Add all hosts. To clear the membership, useRemove all hosts. -
Select
Save, thenpublish the group to apply its settings to the new member hosts.
Note
You can check which groups a host belongs to from that host's Groups tab. Any setting defined on a group automatically applies to all of its hosts.
Setting group-level SSH keys
- Open the group and select the
SSHtab. - Add the SSH keys you want every member host to receive.
- Save your changes. The keys are inherited by all hosts in the group.
Setting group-level security rules
- Open the group and select the
Securitytab. - Define the firewall and security rules to apply.
- Save your changes. The rules are inherited by all hosts in the group.
Important
Because group settings are inherited, removing a key or rule from a group removes it from every member host. Review the group's membership before making changes.
Publishing a group
Saving a group stores your changes in TurboStack. The member hosts only change once you publish the group. The buttons for this sit in the group header, next to the group name.
Above the header, TurboStack tells you where the group stands: how many unpublished changes it
has, or when the last publication succeeded or only partly succeeded. Selecting the unpublished
changes message opens the
The deploy preview
Save & Full Publish opens a preview before anything is deployed. It lists every host in the
group, so you can see what the deployment will do:
The list is paginated when the group has many hosts.
Select Deploy to continue, or Cancel to close the preview without deploying. A confirmation
then asks whether you are sure, because this deploys all hosts. Select Yes, Deploy to start the
deployment, or No to go back.
Following the deployment
While a publication runs, a PUBLISHING progress indicator appears at the top right of the group page and fills up as the run proceeds. The publish buttons stay disabled until the run finishes, so two deployments cannot overlap.
If a host fails, TurboStack reports an error and lists each failing host with the output of its
deployment, so you can see what went wrong before you close the message. The full result of every
run is kept in the
Note
After a publication that only partly succeeded, a normal Save & Publish retries just the hosts
that failed. Use Save & Full Publish when you want every host in the group to run again.
Group history
The clock icon in the group header opens the History view, with two tabs: Revisions and Deploys.
Deploys
Each row is one publication of the group: who started it, the date, the status (published,
partially published or error), the deploy type, the components, and the start and finish
times. Select the arrow at the start of a row to expand it and see the result per host: the host
name, its status, deploy type, components, output, and start and finish times. When the output is
long, Show full error shows it in full.
This is where you check a publication that reported a problem: the per-host output usually names the step that failed.
Revisions
Every save is recorded as a revision. The table lists the user and date, the configuration Path that changed, the components, whether the change is already published, and the From and To values, so you can see exactly what changed. Revisions that have been reverted are shown on a gray background.
Revert on a row restores the group configuration to that revision. A confirmation shows the
Current configuration and the configuration After Revert, one above the other, so you can
compare them before you apply the change.
Tip
Reverting only changes the stored configuration.
Editing a group
Edit in the group header opens the Edit group window, where you change the group name.
-
Select
Edit. -
Enter the new name. Names accept letters only: dashes and other special characters are rejected.
-
Select
Saveto apply the new name, orCancelto keep the current one.
Deleting a group
Delete in the group header removes the group from TurboStack. TurboStack asks you to confirm
first: select Delete to confirm, or Cancel to keep the group.
Warning
Deleting a group cannot be undone. Its SSH keys and security rules are no longer inherited by the hosts that were members, so review the membership before you delete it.
Common use cases
Groups are most useful when you organize access and hosts by role. Two common scenarios are role-based SSH access and role-based node grouping.
Scenario 1: role-based SSH access tiers
Use groups to centralize user rights with SSH keys, so people get access based on their role.
-
Identify the different levels of access required within your system.
-
Create groups based on these access levels - for example
admin,developers, andsysadmins. -
Add each person to the group that matches their role and responsibilities.
-
Have each person generate their own SSH key pair, then add it to the group's SSH keys.
-
Have people from different groups sign in over SSH to confirm access is restricted according to the group-based configuration.
-
Review group memberships regularly so they still match your organization's requirements.
Note
Hosted Power monitors system logs for unauthorized access attempts and takes appropriate action if necessary.
Scenario 2: role-based node grouping
Use groups to manage TurboStack nodes by the role they fulfill, keeping configuration consistent across your infrastructure.
-
Determine the different roles your nodes will fulfill - for example web node, database node, and application node.
-
Create a group for each server role.
-
Assign each node to the group that matches its role.
Related
- Managing hosts
- Security
- SSH access
- Publishing changes (per host)
- History (revisions, deploys and cloning)