Configuration Management with Ansible
Configure servers repeatably: inventories, idempotent playbooks, variables and templates, roles, secrets with Vault, and the Terraform → Ansible handoff.
Terraform creates machines; something has to configure what runs on them. Before containers took over, and still today for VMs, bastions, databases, and network gear, that's configuration management. Ansible is the most widely used tool for it: agentless, written in YAML, and built on the same declarative, idempotent ideas as Terraform.
+ ShopLite gains: an Ansible project that configures ShopLite's web servers: inventory, playbooks, templates, a reusable role, and encrypted secrets
- 0.1
Inventory and Your First Ad-Hoc Commands
An Ansible project that knows about two ShopLite web servers and can run commands on both at once.
30 minFree — local containers stand in for servers2 break-its - 0.2
Playbooks, Idempotency, and Handlers
A playbook that installs and configures Nginx on every web server, safe to run any number of times.
40 minFree2 break-its - 0.3
Variables, Facts, and Jinja2 Templates
One playbook that configures dev and prod differently, with per-group variables and a templated Nginx config.
40 minFree2 break-its - 0.4
Roles, Vault, and the Terraform Handoff
A reusable `shoplite_web` role, encrypted secrets in Git, a dynamic AWS inventory fed by Terraform tags, and tests for the role.
60 minFree locally; EC2 part ~$0.02/hr2 break-its