Modules – The Execution Units
Modules are small working horses.
Tactical code units. One module. One function. The UNIX way.
Clear Python code.
You don’t need Python – modules are abstracted to YAML.
Clarity is crucial. No assumptions.
Modules are grouped in namespaces.
Always use the full namespace:
ansible.builtin.package
No confusion. No mistakes. No misunderstanding.
Ghosts can write modules, or load them from Galaxy.
Extend functionality with surgical precision.
Tasks – The Command Wrap
Modules are the raw code.
Tasks are how you wrap them in YAML.
One task. One function.
- Deploy a package?
ansible.builtin.package - Start a service?
ansible.builtin.service - Deploy a dynamic config?
ansible.builtin.template - Manage VMs?
community.libvirt.virt
Can’t find a module?
Can’t find a function?
Use ansible.builtin.shell to run raw shell code.
Tactical Reminder – The Operator Leads
You are the Operator. You command.
Ansible follows.
Execution is yours. Control is yours.
Stay sharp. Stay ghost.
When the blade drops – it’s already over.