Topics: Relay groups

Relay groups

A relay group decides which recipes (and with them images and drivers) its relay sites receive, plus any additional drivers. Every relay site belongs to exactly one relay group.

Relay groups live next to the relay sites they hold: Relay sites > Relay groups (/sites/groups). The old Settings > Relays > Groups address opens this page.

How content reaches a relay

A relay site receives, on every sync:

  1. Every active recipe assigned to its relay group. Inactive recipes are never sent.
  2. The image each of those recipes uses. Images are not assigned to groups: an image reaches a relay site through the recipes that use it.
  3. The drivers each of those recipes uses. A recipe that matches drivers automatically sends every Windows driver, because any model could be deployed at the relay.
  4. The group's additional drivers - Windows drivers assigned to the group directly, such as a shared docking-station pack.

Nothing else. A relay site whose group has no active recipe receives no recipes, images or drivers, and FluxDeploy says so: on the relay site's row on Relay sites, on its page, and as one line on the Dashboard ("2 relay sites receive no recipes - assign recipes to their relay group").

Settings such as the answer file, agent password, locale and multicast are sent to every approved relay site whatever its group.

Relay group "Branch offices"
  Recipes:            "Win11 Standard" (active), "Win11 Kiosk" (inactive - not sent)
  Additional drivers: "HP USB-C Dock G5"
  Relay sites:        Chicago, Toronto, Dallas

Each of those relay sites receives:
  Recipe  "Win11 Standard"
  Image   "Win11_24H2_Pro.wim"        (the recipe's image)
  Drivers the recipe's drivers + "HP USB-C Dock G5"

The default relay group

Every install has one relay group marked Default. It is what makes a newly paired relay useful straight away instead of silently receiving nothing:

  • Every new relay site joins it - registered from Core or registered by the relay itself.
  • Every new recipe joins it, including a cloned one.
  • Every new Windows driver joins it - uploaded, or downloaded from a vendor catalog.

So, out of the box, every relay site receives every active recipe and every Windows driver. To send different relay sites different things, take content out of the default group (untick it on the group page, on the recipe's Overview, or in the driver's Relay groups dialog), or create other groups and move relay sites into them. A recipe or driver you take out stays out: nothing adds it back later.

The default group can be renamed but not deleted. Deleting any other relay group moves its relay sites to the default group, so no relay site is ever left without a group.

After upgrading

When an existing install is upgraded, the default group is created and filled with every existing recipe and every existing Windows driver, and every relay site that had no group is moved into it. Such a relay site used to receive nothing at all; on its next heartbeat it starts receiving every active recipe (with its image and drivers) and every Windows driver. Relay sites that were already in another group are not changed. If an ungrouped relay site should not receive everything, take content out of the default group or move the site to another group.

The relay groups page

/sites/groups lists every relay group with how many relay sites it holds and what they receive (active recipes, images, drivers). A group whose relay sites receive no recipes is marked.

New relay group creates one. Open a group (/sites/groups/{id}) to manage it in one place:

  • Name - rename it.
  • Relay sites - the relay sites in this group. Add moves another relay site into this group (from whichever group it was in). Remove moves a relay site back to the default group. In the default group there is no Remove: to take a relay site out of it, add it to another group.
  • Recipes - tick the recipes this group's relay sites receive. Inactive recipes are shown but not sent.
  • Additional Windows drivers - tick drivers to send on top of the recipes' own drivers.
  • Delete - not shown for the default group. Any relay sites in the deleted group move to the default group.

Changes save automatically. Operators can manage relay groups, just as they manage relay sites and recipes; Read Only users can see everything here and change nothing.

The other places to assign

Each assignment has one surface per direction, and they show the same rows:

  • Recipe to relay groups - the recipe's Overview tab (/recipes/{id}) lists every relay group with a checkbox. The recipe list no longer has a separate Relay groups action.
  • Driver to relay groups - the Relay groups button on a Windows driver's row on Drivers, and the dialog that opens after an upload or catalog download. It shows the groups the driver is already in, and unticking one removes it.
  • Relay site to relay group - the relay site's Overview (/sites/{id}) shows its group and what it receives, and can move it to another group. When registering a relay site from Core you can pick its group; the default group is preselected.

API

The existing endpoints keep working:

  • GET /api/sites/groups - every relay group; the default one carries isDefault: true.
  • POST /api/sites/groups, PUT /api/sites/groups/{id} - create and rename.
  • DELETE /api/sites/groups/{id} - moves the group's relay sites to the default group. Deleting the default group answers 409 with the reason.
  • GET /api/sites/groups/{id}/members - its recipe, driver and site ids.
  • PUT /api/sites/groups/{id}/recipes, PUT /api/sites/groups/{id}/drivers - set the group's recipes or additional drivers (the whole list). An id that does not exist answers 400 and nothing changes.
  • PUT /api/sites/{id} with GroupId - move a relay site. GroupId: 0 moves it to the default group.

Best practices

  • Leave everything in the default group while you have one kind of relay site; split into groups when different locations need different recipes.
  • Keep a recipe inactive until it is ready: only active recipes are sent.
  • Use additional drivers for packs that every recipe at those sites needs, such as docking stations.
  • Watch for the "receives no recipes" warning after moving relay sites or tidying a group.