salt.roster.cache#
The cache roster provides a flexible interface to the Salt Masters' minion cache
to access regular minions over salt-ssh.
New in version 2017.7.0:
grains, pillar, mine data matching
SDB URLs
IPv6 support
roster_order per config key
default order changed to industry-wide best practices
CIDR range selection
Targeting#
This roster supports all matching and targeting of the Salt Master. The matching will be done using only the Salt Master's cache.
The Roster Order#
The roster's composition can be configured using roster_order.
In the roster_order you can define any roster key and fill it with a parameter
overriding the one in roster_defaults:
roster_order:
host: id # use the minion id as hostname
You can define lists of parameters as well, the first result from the list will become the value.
Selecting a host#
# default
roster_order:
host:
- ipv6-private # IPv6 addresses in private ranges
- ipv6-global # IPv6 addresses in global ranges
- ipv4-private # IPv4 addresses in private ranges
- ipv4-public # IPv4 addresses in public ranges
- ipv4-local # loopback addresses
This is the default roster_order.
It prefers IPv6 over IPv4 addresses and private addresses over public ones.
The relevant data will be fetched from the cache in-order, and the first match will fill the host key.
Other address selection parameters are also possible:
roster_order:
host:
- global|public|private|local # Both IPv6 and IPv4 addresses in that range
- 2000::/3 # CIDR networks, both IPv4 and IPv6 are supported
Using cached data#
Several cached libraries can be selected using the library: `` prefix, followed by the library key.
This can be referenced using the same ``: syntax as e.g. pillar.get.
Lists of references are also supported during the lookup, as are Salt SDB URLs.
This should be especially useful for the other roster keys:
roster_order:
host:
- grain: fqdn_ip4 # Lookup this grain
- mine: network.ip_addrs # Mine data lookup works the same
password: sdb://vault/ssh_pass # Salt SDB URLs are also supported
user:
- pillar: ssh:auth:user # Lookup this pillar key
- sdb://osenv/USER # Lookup this env var through sdb
priv:
- pillar: # Lists are also supported
- salt:ssh:private_key
- ssh:auth:private_key
- salt.roster.cache.targets(tgt, tgt_type='glob', **kwargs)#
Return the targets from the Salt Masters' minion cache. All targets and matchers are supported.
The resulting roster can be configured using
roster_orderandroster_default.