> For the complete documentation index, see [llms.txt](https://isurus.gitbook.io/infrastructure-and-platform-notes/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://isurus.gitbook.io/infrastructure-and-platform-notes/ansible-1/02-ansible-configuration.md).

# Ansible Configuration

Ansible can have multiple configurations consumed in when it is functioning. These configurations have a priority which applies into the order of use.

1. `ansible.cfg` - lowerst priority  &#x20;

   This file is typically placed using the system installation. It provides the system level information.  &#x20;

```
$ ansible --version
  ansible 2.10.7
  config file = /etc/ansible/ansible.cfg
  configured module search path = ['/home/ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.8/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
```

1. `.ansible.cfg` in user home - second lowest priority  &#x20;

   This is a hidden file placed in the user's home directory.  &#x20;

```
$ ansible --version
  ansible 2.10.7
  config file = /home/ansible/.ansible.cfg
  configured module search path = ['/home/ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.8/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
```

1. `ansible.cfg` in the current / project directory\
   This can be used to specify project specific ansible configurations.

   ```
   $ ansible --version
   ansible 2.10.7
   config file = /home/ansible/testdir/ansible.cfg
   configured module search path = ['/home/ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
   ansible python module location = /usr/local/lib/python3.8/dist-packages/ansible
   executable location = /usr/local/bin/ansible
   python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
   ```
2. `ANSIBLE_CONFIG` evnrionment targeting a file

```
$ ansible --version
  ansible 2.10.7
  config file = /home/ansible/my_example_ansible_config.cfg
  configured module search path = ['/home/ansible/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.8/dist-packages/ansible
  executable location = /usr/local/bin/ansible
  python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]
```
