Refuse the Deploy Before It Starts
Add assertions that reject bad inputs before any host is modified.
A advanced Ansible challenge worth 20 points. Solve it hands-on in a real Ansible environment in your browser - no local setup, no fake shells.
The Challenge
Scenario: Post-incident 7734 - someone deployed with -e app_version=latest, an untested nightly build, against production. Nothing in the automation objected.
Add pre-flight guardrails that abort with a clear message when the version is not an exact x.y.z, when deploy_user is empty, or when target_env is not production - leaving NO file behind on any host. A valid run must still deploy 2.4.1. Then run check.