Inventory in Jet can be defined using YAML files on the filesystem.
When To Use File Based Inventory
While some large installations may adopt file-based inventory, many cloud users and larger installations may be interested in dynamic inventory instead. Still, new users may find it easier to learn with this file-based inventory inventory, and it makes an excellent starting point. If this is your first time with Jet, we recommend trying file-based inventory at least once as you are getting going, before switching to dynamic inventory.
Have Experience With Similar Tooling?
Users coming from Ansible will note that our group definition files have a different format than the INI-like or YAML-based inventory supported in Ansible. Forget what you know and read the documentation below. Our format has been designed to have less nesting and variance. Ansible is a registered trademark of Red Hat Inc.
With examples open, let's break it down. Suppose we have a directory structure like this:
group1 # YAML files of a specific format
group1 # arbitrary YAML maps for variables
hostname1.example.com # arbitrary YAML maps for variables
A group file looks like this:
# filename: groups/boston - do not add a .yml extension
Basically it's just a simple list of directives:
Subgroup declares that the group, in this case, "boston', has a group of machines below it and that the group "boston" automatically includes all hosts referenced in those group files.
This keyword is optional and does not have to appear in the file.
Declares a list of hosts are members of the named group.
A groups file does not have to define any hosts if it only wants to define subgroups for a given group. In other words, both 'subgroups' and 'hosts' are optional keywords in a group definition.
What's above is all there is to group definitions. There are additional steps to add variable information.
The above commentary on directory structure showed a 'group_vars/' and 'host_vars/ directory.