Groups

Manage shared SSH keys and security rules across many hosts at once using reusable 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.

The group detail page with its tabs and the header actions for saving, editing and publishing
The group detail page with its tabs and the header actions for saving, editing and publishing

This page covers:

  • Creating a group - add a group and open it
  • Assigning hosts to a group - manage its membership
  • Publishing a group - apply the group's settings to its hosts
  • Group history - review past changes and deployments, and revert
  • Editing a group and Deleting 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.

The Groups overview page, listing each group with its Manage button
The Groups overview page, listing each group with its Manage button

Each group has its own page at /groups/{group} with the following tabs:

Tab Purpose
SSH Set the SSH keys that member hosts inherit.
Hosts Select which hosts belong to the group.
Security Define firewall and security rules that member hosts inherit.

Creating a group

  1. Go to /groups.
  2. Select Create.
  3. In the modal, enter a name for the group.
  4. 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.

The Hosts tab of a group, with the Available Hosts and Selected Hosts lists and the Add all hosts and Remove all hosts buttons
The Hosts tab of a group, with the Available Hosts and Selected Hosts lists and the Add all hosts and Remove all hosts buttons
  1. Open the group and select the Hosts tab.

  2. Search for a host if the list is long, then select it to move it to the other list.

  3. To include every available host at once, use Add all hosts. To clear the membership, use Remove all hosts.

  4. Select Save, then publish the group to apply its settings to the new member hosts.

Setting group-level SSH keys

  1. Open the group and select the SSH tab.
  2. Add the SSH keys you want every member host to receive.
  3. Save your changes. The keys are inherited by all hosts in the group.

Setting group-level security rules

  1. Open the group and select the Security tab.
  2. Define the firewall and security rules to apply.
  3. Save your changes. The rules are inherited by all hosts in the group.

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.

Action What it does
Save Stores the group configuration. Nothing is applied to the member hosts yet.
Save & Publish Saves your changes and starts a deployment on the group's hosts right away.
Save & Full Publish In the menu next to Save & Publish. Shows a preview of every host in the group first, then re-applies the whole configuration on each of them.

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 History view.

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:

Column What it shows
Hostname The member host that will be deployed.
Pending local changes How many unpublished changes that host still has of its own. Zero is shown in green, anything higher in yellow.
Components The parts of the configuration that will be deployed on that host, for example firewall or webserver. A dash means no specific components.
Deploy Type Deploy when specific components are listed, or Full Deploy when the whole configuration is re-applied.
Open Host Opens that host in a new browser tab, so you can check it before you publish.

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 History view.

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.

Editing a group

Edit in the group header opens the Edit group window, where you change the group name.

  1. Select Edit.

  2. Enter the new name. Names accept letters only: dashes and other special characters are rejected.

  3. Select Save to apply the new name, or Cancel to 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.

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.

  1. Identify the different levels of access required within your system.

  2. Create groups based on these access levels - for example admin, developers, and sysadmins.

  3. Add each person to the group that matches their role and responsibilities.

  4. Have each person generate their own SSH key pair, then add it to the group's SSH keys.

  5. Have people from different groups sign in over SSH to confirm access is restricted according to the group-based configuration.

  6. Review group memberships regularly so they still match your organization's requirements.

Scenario 2: role-based node grouping

Use groups to manage TurboStack nodes by the role they fulfill, keeping configuration consistent across your infrastructure.

  1. Determine the different roles your nodes will fulfill - for example web node, database node, and application node.

  2. Create a group for each server role.

  3. Assign each node to the group that matches its role.