minion id
¶Each minion needs a unique identifier. By default when a minion starts for the
first time it chooses its FQDN as that
identifier. The minion id can be overridden via the minion's id
configuration setting.
Tip
minion id and minion keys
The minion id is used to generate the minion's public/private keys and if it ever changes the master must then accept the new key as though the minion was a new host.
The default matching that Salt utilizes is shell-style globbing
around the minion id. This also works for states
in the top file.
Note
You must wrap salt calls that use globbing in single-quotes to prevent the shell from expanding the globs before Salt is invoked.
Match all minions:
salt '*' test.version
Match all minions in the example.net domain or any of the example domains:
salt '*.example.net' test.version
salt '*.example.*' test.version
Match all the webN
minions in the example.net domain (web1.example.net
,
web2.example.net
… webN.example.net
):
salt 'web?.example.net' test.version
Match the web1
through web5
minions:
salt 'web[1-5]' test.version
Match the web1
and web3
minions:
salt 'web[1,3]' test.version
Match the web-x
, web-y
, and web-z
minions:
salt 'web-[x-z]' test.version
Note
For additional targeting methods please review the compound matchers documentation.
Minions can be matched using Perl-compatible regular expressions
(which is globbing on steroids and a ton of caffeine).
Match both web1-prod
and web1-devel
minions:
salt -E 'web1-(prod|devel)' test.version
When using regular expressions in a State's top file, you must specify
the matcher as the first option. The following example executes the contents of
webserver.sls
on the above-mentioned minions.
base:
'web1-(prod|devel)':
- match: pcre
- webserver
At the most basic level, you can specify a flat list of minion IDs:
salt -L 'web1,web2,web3' test.version