Hostnames.
Network addresses.
Ports.
Filenames.
They change.
They’re variables.
You don’t bake them in code.
Ghosts use abstraction.
Your roles and playbooks turn to modular weapons.
Your tasks are clean signal.
More clarity. Less noise.
Signal: Ghost Ops-grade maintenance.
Operation: Variable-Life
Ansible variables use the Jinja2 format.
They can use Jinja2 filters.
They are simple.
Valid example: "{{ role_hostname }}".
Starting a value with a variable? Quote it.
Don’t use spaces.
Don’t use special chars.
Keep it simple.
Operation: Variable-Home
Variables can spawn in many places.
Every new place, a new layer that introduces noise.
It kills clarity.
Ghosts use one or two places. Not more.
Defaults live in the roles’ /defaults directory.
Group variables reside in the inventory’s group_vars.
Host level config? Use the host_vars.
The Operator over-sees the system.
Operation: Specials
Every system has them.
System vars.
Environment vars.
Special vars.
You love them.
You hate them.
Understand the system – ansible_facts.
Adjust the Ansible behavior – ansible_user, etc.