# Push vs pull paradigm

**URL:** <https://forum.ansible.com/t/push-vs-pull-paradigm/20227>\
**Category:** Ansible Project\
**Created:** [January 15, 2016, 11:07am UTC](https://forum.ansible.com/t/push-vs-pull-paradigm/20227 "2016-01-15T11:07:43Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![SFT](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@SFT](https://forum.ansible.com/u/SFT)\
**Post date:** [January 15, 2016, 11:07am UTC](https://forum.ansible.com/t/push-vs-pull-paradigm/20227/1 "2016-01-15T11:07:43Z")

</div>

I really like the push aspect of Ansible for those times when a change needs to happen immediately. I would like to also ensure compliance across system without having to manually push all the time. What are others doing for this scenario? ansible-pull looks interesting and I’ll be investigating it, but it seems on the surface that you’d end up maintaining a large number of .yml playbooks. I could also run ansible-playbook on a cron on a “master” server.

Any thoughts on how others have approached this? Is this why some are still using puppet or chef in addition to Ansible?

Steve

---

<div class="post-metadata">

**Author:** ![Brian\_Coca](https://avatars.discourse-cdn.com/v4/letter/b/6de8d8/32.png) [@Brian\_Coca](https://forum.ansible.com/u/Brian_Coca)\
**Post date:** [January 15, 2016, 1:49pm UTC](https://forum.ansible.com/t/push-vs-pull-paradigm/20227/2 "2016-01-15T13:49:51Z")

</div>

For ansible-pull, the file can be named local.yml or localhost.yml  
which does not represent the targeted hosts, that is in the - hosts:  
clause of each play (which ansible-pull will limit to the current host  
by matching 'localhost' or the 'fqdn'.

This allows you to have a single file and then run it against all  
hosts, which will run the plays into which the host matches  
name/groups as defined in inventory.

---

<div class="post-metadata">

**Author:** ![SFT](https://avatars.discourse-cdn.com/v4/letter/s/c77e96/32.png) [@SFT](https://forum.ansible.com/u/SFT)\
**Post date:** [January 16, 2016, 3:33am UTC](https://forum.ansible.com/t/push-vs-pull-paradigm/20227/3 "2016-01-16T03:33:33Z")

</div>

That makes much more sense. Thank you for clearing that up. I’ll do some testing and see if ansible-pull alone will meet my needs.
