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
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'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.
# 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
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
Return the targets from the Salt Masters' minion cache. All targets and matchers are supported.
The resulting roster can be configured using roster_order
and roster_default
.