When no module fits, you write one; when no transform fits, you write a plugin. Then the same plays move off laptops into versioned execution environments, run through ansible-navigator and Ansible Automation Platform, and flow from a git merge through CI — and the book closes by placing Ansible beside Terraform across the state boundary.
7 topics
Everything before this chapter used Ansible as it ships. This one is about the seams: where you extend Ansible past its built-in modules and plugins, and where you stop running it from a terminal and run it as governed automation. The two halves meet at the Larkspur fleet, which now stops deploying from engineers' laptops and starts deploying from Ansible Automation Platform — job templates, surveys, and role-based access, every run inside a containerized execution environment that pins the exact toolchain.
Custom modules and plugins come first, because extension is what keeps "no module exists" from becoming "we gave up on idempotency." Then the scale story: execution environments freeze the toolchain into an image, ansible-navigator runs that image locally so the laptop matches production, AWX and AAP add the controller, and CI plus GitOps wire a merge to a converge. The final topic settles the question the whole book has circled — Terraform provisions with state, Ansible configures without it, and together they cover the stack.