# Host Inventories
When you are deploying playbooks, you target hosts that exist in "Inventories".  These inventories consist of a list of hosts and their corresponding IP addresses, as well as any host-specific variables that may be necessary to declare to run the playbook.  You can see an example inventory file below.  

Keep in mind the "Group Variables" section varies based on your environment.  NTLM is considered insecure, but may be necessary when you are interacting with Windows servers that are not domain-joined.  Otherwise you want to use Kerberos authentication.  This is outlined more in the [AWX Kerberos Implementation](https://docs.bunny-lab.io/Servers/Automation/Ansible/AWX/AWX%20Kerberos%20Implementation/#job-template-inventory-examples) documentation.

!!! note "Inventory Data Relationships"
    An inventory file consists of hosts, groups, and variables.  A host belongs to a group, and a group can have variables configured for it.  If you run a playbook / job template against a host, it will assign the variables associated to the group that host belongs to (if any) during runtime.

```ini title="https://git.bunny-lab.io/GitOps/awx.bunny-lab.io/src/branch/main/inventories/homelab.ini"
# Networking
pfsense-example ansible_host=192.168.3.1

# Servers
example01 ansible_host=192.168.3.2
example02 ansible_host=192.168.3.3
example03 ansible_host=example03.domain.com # FQDN is required for Ansible in Windows Domain-Joined Kerberos environments.
example04 ansible_host=example04.domain.com # FQDN is required for Ansible in Windows Domain-Joined Kerberos environments.

# Group Definitions
[linuxServers]
example01
example02

[domainControllers]
example03
example04

[domainControllers:vars]
ansible_connection=winrm
ansible_winrm_kerberos_delegation=false
ansible_port=5986
ansible_winrm_transport=ntlm
ansible_winrm_server_cert_validation=ignore
```