Defining targets for your jobs or operations helps to prevent operations from running on nodes that should not run that operation. You can organize your targets using grains, globs, lists, or compounds.

What is a target?

A target is a group of minions, across one or many Salt masters, that a job's Salt command applies to. Targets can contain minions that are connected to any Salt master in your environment. A Salt master can also be managed like a minion and can be a target if it is running the minion service.

Before you start

Before you create your targets, you must think about the target groups you want to create. For example, you might want to create a target group for a security zone or a single subnet. How you organize your target groups will depend on your organization's needs.

Creating new targets

Each target in SaltStack Config requires a name, Salt master, and target criteria. To define a new target including one or more minions:

  1. In the Targets workspace, click the Create button.
  2. Complete the form.

    Create target page in SaltStack Config

    1. In the Name field, enter a descriptive name for the new target.
    2. (Optional) Provide a description for the new target.
    3. By default, the All masters setting is enabled, which means that minions being managed by any Salt master can be included in the target. Click this button to apply this target only to a subset of minions associated with one or more Salt masters.

      If you disable this setting, a menu appears that you can use to select which Salt master or Salt masters to apply the target to. See Target settings for more information.

    4. Click the Grain menu and select the type of target you want to use.

      You can target minions using grains, globs, lists, or compounds. See Target settings for more information about these targeting options. For more general background information about Salt targets, see Targeting minions.

  3. When complete, click Save.

    Your new target appears in the Targets workspace.

Different target settings and criteria are available based on the type of target you selected in the previous step. For more information about these settings, see Target settings.
Note: If you select Compound as the first criterion, you must follow the targeting syntax included in the Salt Targeting Reference, and you must include any secondary criteria in the compound target definition. SaltStack Config does not allow you to add any other criteria in the target editor. For more on compound targeting, see Target settings.

Assigning pillar to a target

To assign pillar to a target:

  1. In the Targets workspace, click the Menu menu icon next to the target you want to assign pillar data to.
  2. Click Attach pillar.
  3. In the Attach pillar dialog, select the pillars you want to apply to the target.

    Attach pillar dialog

    In addition to selecting a pillar, select Refresh pillar to make the pillar available to the selected target immediately.

  4. Click Update target.
The selected pillar data is now available to all minions in the target.
Note: You can also assign a pillar to a target in the Pillars workspace. For more information, see How do I create state files and pillar data.

Assigning a role to a target

To assign a role to a target:

  1. In the Targets workspace, click the Menu menu icon next to the target you want to assign roles to.
  2. Click Assign role.
  3. In the Assign role dialog, select the roles to assign.

    Assign roles in SSC

    For more information about user roles in SaltStack Config, see How do I define user roles.

  4. Click Update target.

The roles with resource permissions are added to the target group. You can see the new or updated roles in the Targets data grid.

Target settings

Targeting in SaltStack Config is similar to targeting in Open Salt, but SaltStack Config has a simplified interface for defining targets, which also enables you to save target definitions for reuse. For more on targeting in Salt, see the Salt Targeting Reference.

Each target in SaltStack Config includes a name, Salt master, and target criteria, as the following table shows.

Setting Description
Name

Enter a target name. Target names do not have to be unique. This might result in different items displaying with the same name in the SaltStack Config user interface.

All Salt masters

By default, the target includes all Salt masters. However, you can choose to target minions that only belong to a specific Salt master.

For example, if your environment has several nodes responsible for running a particular application, and you have partitioned your Salt infrastructure so these machines are all connected to a single Salt master, you might create a target that includes the entire subset of minions by selecting only the Salt master.

To enable targets by Salt master, click the radio button to deactivate this setting. A new group of settings appears.

Under the Master field, select a Salt master whose minions you want to target. All additional target criteria are applied only to the subset of minions associated with the selected Salt master.

Target criteria

Target are dynamic, and new minions are automatically added to any matching target definition. If you don't want to include new minions that could match the dynamic target in the future, save your target as a list instead.

You can use target criteria to specify a group of minions, referring to the following field descriptions.

Target type Description
Grain

Match a specific grain value, for example, osfullname is Debian. Once you select a grain, the value list pre-populates so you can click the field to view available options, or start typing.

Glob

Wildcard match using the minion ID. For example, you might enter webserver* to select multiple minions, named webserver01, webserver02, and webserver03.

List

Specify a list of minions to include in the target. For example, dc3-north-db1,dc3-north-db2.

Specifying a list is useful if you do not want to grant access to targets dynamically. This prevents new minions that match the dynamic target criteria from being added to a target automatically.

Compound

Combine multiple target interfaces, separated by conjunctions, and, or, and not.

If you select Compound as the first criterion, you must follow the targeting syntax included in the Salt Targeting Reference, and you must include any secondary criteria in the compound target defintion. SaltStack Config does not allow you to add any other criteria in the target editor.

Next steps

After you create the targets you need, you can create jobs that will run tasks and processes against the targeted minions. See How do I create jobs for more information.