I would like to know which best practices are there when it comes to deploying a playbook to several different cloud providers (mainly AWS and GCE now, but more might come later).
More specifically, which one feels more natural to you:
The inline extra-vars are meant to have things like aws_access_key and other sensitive tokens away from potentially public version-controlled files.
In the future we might check if those are on, for instance, $HOME/.botorc instead of having them in a .yml file in our playbook, just one commit away from being published in the open.
“The inline extra-vars are meant to have things like aws_access_key and other sensitive tokens away from potentially public version-controlled files.”
That makes sense, though if you want to keep them private, also consider ansible-vault (and maybe not keeping them in source control paths) if you want.
Thanks Michael for the ansible-vault insight, I knew of its existence but never used it … yet.
Anyhow, Paolo has a point there, we already use add_host handoff in our playbook, what I guess you meant is that we should call the actual “application payload” (in our case, docker containers):