03 Objective: Execution Vectors – Modules & Tasks

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.

Leave a comment