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.