Day 1: Understand Ansible, install it and automate your first hosts
5 topics, Tap to openTap to close
10:00–11:00Ansible architecture and core concepts
Ansible controls remote Linux systems centrally from a control node without installing an Ansible agent on them. You learn how managed nodes, inventory, connections, and modules interact and examine requirements for SSH and credentials. You then distinguish configuration management from provisioning and agent-based operating models.
11:00–12:00Installation and SSH Configuration
The control node requires ansible-core and suitable connection data for managed systems. In the DevNinjas Dojo, our cloud learning environment, you install the package, configure SSH keys and inspect several managed nodes with Ansible’s ping module. You then examine selected ansible.cfg settings and distinguish the responsibilities of configuration files, inventory and command-line inputs.
13:00–14:00Inventory Management: Structuring Hosts and Variables
The inventory describes managed systems and organizes them into logical groups. You create INI and YAML variants, group web and database hosts, and define host and group variables. Using nested groups plus group_vars and host_vars directories, you examine how to structure target selection separately from configuration data.
14:00–15:00Ad-Hoc Commands and Modules
Ad hoc commands execute individual modules without a stored playbook. You use modules for packages, services, and files against selected inventory groups and inspect their parameters with ansible-doc. By repeating operations, you compare change status and idempotency without treating either as a general guarantee for every module or arbitrary shell command.
15:00–16:00YAML Basics and First Playbook
Playbooks describe plays and ordered tasks in YAML for clearly structured configuration workflows. You deliberately practice indentation, lists, and dictionaries and create a playbook for packages, users, and a configuration file. While running it with ansible-playbook, you examine target selection, module parameters, and the ok, changed, and failed statuses.

