I want to run a playbook with some group_vars on some Amazon EC2 instances and on some local machines. Is there some way that I can group EC2 instances (by tag) and local machines under the same inventory group?
For instance:
inventory/dev.yml
macbookpro ansible_ssh_host=1.2.3.4
[dev]
macbookpro # some local machine (not necessarily localhost)
tag_branch_dev # EC2 tag
playbooks/setup-dev.yml
- hosts: dev
roles:
- role: users
become: true
Yes, just put your static inventory and EC2 dynamic inventory script in one folder.
We wrote a sort of meta-inventory script to do this kind of thing;
https://github.com/caredotcom/ansible-quartermaster might be useful (as
is, as an example, as a warning, etc :^).
(Wanting AWS things things with tag_whatever_foo, and static things in
group 'foo', to both end up in the same Ansible group, was a big motivation.)
-Josh (jbs@care.com)
(apologies for the automatic corporate disclaimer that follows)
This email is intended for the person(s) to whom it is addressed and may contain information that is PRIVILEGED or CONFIDENTIAL. Any unauthorized use, distribution, copying, or disclosure by any person other than the addressee(s) is strictly prohibited. If you have received this email in error, please notify the sender immediately by return email and delete the message and any attachments from your system.