Welcome to this comprehensive Ansible learning repository. This project is structured as a step-by-step guide, evolving from basic inventory management to advanced variable scoping and task modularization.
Each folder in this repository represents a specific milestone in the learning path. You can explore them individually by switching to their respective branches or tags.
| Step | Branch | Focus Area | Key Concepts |
|---|---|---|---|
| 01 | 01 |
Inventories | Static host files, groups, and connection testing. |
| 02 | 02 |
Basic Execution | Running your first playbooks and the ping module. |
| 03 | 03 |
Task Definition | Structuring plays and defining multiple tasks. |
| 04 | 04 |
Multi-Play | Managing different host groups within a single playbook. |
| 05 | 05 |
File Management | Handling resources and deploying static content. |
| 06 | 06 |
Modularization | Using include_tasks for cleaner, reusable code. |
| 07 | 07 |
Variables (Deep) | Group vars, host vars, and hierarchy. |
| 08 | 08 |
Advanced Vars | Scopes, registered outputs, facts, and external files. |
- Ansible Installed: Ensure you have Ansible on your control node.
- SSH Access: Managed nodes should be accessible via SSH keys.
- Clone the repository:
git clone https://github.com/jguimeram/ansible.git cd ansible - Switch to a specific step:
git checkout 08 # Explore the latest step - Run a Playbook:
cd 08 ansible-playbook <playbook_name>.yaml
This repository serves as a live documentation of the Ansible learning curve. It emphasizes Infrastructure as Code (IaC) principles, focusing on readability, modularity, and automation best practices.
Happy Automating! π€