Skip to content

Inventory file reference

An inventory file lists the devices port49 serves: their names, platforms, addresses, attributes and the key that admits each. It is one YAML document; an unknown key (a typo such as keyref: for key_ref:) or a second document is refused, so a mistake cannot silently un-pin a device onto a group key.

The key_groups: block is read from the policy file, where key assignment is reviewed. A block here still loads, with a notice, until it is moved; where both files have one, the policy file's wins.

Paths below use [] for an item of a list.

devices

Key Type Description
devices.[].name string The device's name, which policy scopes, tests and the log use.
devices.[].platform string The device's platform, lowercase letters, digits and _, matching an adapter in the pinned platform set or one the policy file defines. A platform with no adapter gets the generic one.
devices.[].addresses list of string The IP addresses the device's connections come from, as a list. A connection is matched to its device by source address.
devices.[].attributes map of string Free key and value pairs, such as site, role and os_version, that scopes match on and key groups can match on.
devices.[].key_ref string Pins the device to one key, by name. The key is a name that the policy file's keys: block (or port49d's) defines; it never holds the secret.
devices.[].transport string How the device speaks TACACS+: tcp (default), obfuscated under a shared key, or tls, mutual TLS with no shared key. Any other value makes the device refused rather than the file.

key_groups

Key Type Description
key_groups.[].match.cidr string Matches the devices whose address is in this prefix, written without host bits. A group needs cidr or attributes; one with neither is refused.
key_groups.[].match.attributes map of string Matches the devices whose attributes equal all of these pairs.
key_groups.[].key_ref string The key that devices in the group are admitted under. Required. A key name: lowercase letters, digits and _, starting with a letter, at most 64, and not the reserved single_device.