The Ansible configuration file really is the heart of Ansible.
It's a file called ansible.cfg.
Again, it uses the INI format,
and it basically‑‑‑ You're specifying the behavior of your Ansible environment.
Now, that has a good side and a bad side.
For a smaller shop, you may have a small number of control nodes,
each doing a dedicated set of configuration management tasks.
You might have lots and lots and whole bunches of control nodes.
Again,
I want you to keep your eye on the AWX product or consider
paying for a license for Red Hat Ansible Automation Platform
to give you that centralized lens.
Modules and plugins,
so here you can look at the config file as a laundry list of defaults,
networking defaults, behavioral defaults,
environmental defaults, all of your default values.
You can also extend your Ansible functionality using plugins
and making connections to external APIs.
Some tips for managing your Ansible configuration file.
You can start with defaults.
You can create a new Ansible config that has all the
defaults in it and all of the values disabled.
Definitely get into the habit of documenting your changes.
Again,
the idea is that all of these Ansible config and support files are plain text.
So you should be using source code control to make sure that you're
collaborating properly and maintaining a full change history.
Likewise,
you want to validate all your configuration changes on a test
environment before applying it to production.
So, in that sense,
you're going to put your own Ansible control nodes under
configuration management themselves.