# Use Ansible for post-provisioning setup?

**URL:** <https://forum.ansible.com/t/use-ansible-for-post-provisioning-setup/28738>\
**Category:** Ansible Project\
**Tags:** fedora, ubuntu\
**Created:** [October 6, 2018, 7:00pm UTC](https://forum.ansible.com/t/use-ansible-for-post-provisioning-setup/28738 "2018-10-06T19:00:54Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![ecrosby](https://avatars.discourse-cdn.com/v4/letter/e/8edcca/32.png) [@ecrosby](https://forum.ansible.com/u/ecrosby)\
**Post date:** [October 6, 2018, 7:00pm UTC](https://forum.ansible.com/t/use-ansible-for-post-provisioning-setup/28738/1 "2018-10-06T19:00:54Z")

</div>

Hello, all.  
I hope this is the correct group to post this. I am trying to learn more about Ansible.  
I wanted to find if it is possible to use Ansible to remotely push configuration and software installs to machines with a brand new OS (Linux) installed, specifically desktop/workstation installs.  
I often deploy virtual machines running either Ubuntu Desktop or Server, Fedora, and CentOS at home for testing and usually every time there’s a new version of Fedora to my laptop. I have custom shell scripts that I use for post-provision that usually configures a custom .bashrc, complete updates and installs software.They work well, the inconvenience of it is trying to get the custom shell scripts onto the machine right after OS installation.  
I have some examples of what I have created here:

[https://edsordinarylife.wordpress.com/2017/02/18/shell-scripting-my-story-my-post-install-part-1/](https://edsordinarylife.wordpress.com/2017/02/18/shell-scripting-my-story-my-post-install-part-1/)

I was curious if it is possible to setup a main (CentOS) server running Ansible that could push configurations, updates and software to my new machines once they are complete. Is this possible?  
Thanks.

---

<div class="post-metadata">

**Author:** ![Andrew\_Latham](https://avatars.discourse-cdn.com/v4/letter/a/ed8c4c/32.png) [@Andrew\_Latham](https://forum.ansible.com/u/Andrew_Latham)\
**Post date:** [October 6, 2018, 7:08pm UTC](https://forum.ansible.com/t/use-ansible-for-post-provisioning-setup/28738/2 "2018-10-06T19:08:52Z")

</div>

Edward

You just described one of the primary use cases of Ansible. The answer is YES!

---

<div class="post-metadata">

**Author:** ![ecrosby](https://avatars.discourse-cdn.com/v4/letter/e/8edcca/32.png) [@ecrosby](https://forum.ansible.com/u/ecrosby)\
**Post date:** [October 6, 2018, 7:11pm UTC](https://forum.ansible.com/t/use-ansible-for-post-provisioning-setup/28738/3 "2018-10-06T19:11:01Z")

</div>

Does it require that I install Ansible on the client first?  
Any good resources you could recommend for me to start learning, specifically learning my use case?

Thanks.

---

<div class="post-metadata">

**Author:** ![Andrew\_Latham](https://avatars.discourse-cdn.com/v4/letter/a/ed8c4c/32.png) [@Andrew\_Latham](https://forum.ansible.com/u/Andrew_Latham)\
**Post date:** [October 6, 2018, 7:17pm UTC](https://forum.ansible.com/t/use-ansible-for-post-provisioning-setup/28738/4 "2018-10-06T19:17:35Z")

</div>

I suggest you start at [https://docs.ansible.com/ansible/latest/index.html](https://docs.ansible.com/ansible/latest/index.html)

Ansible is Agent-less which means no client required…

---

<div class="post-metadata">

**Author:** ![elavarde](https://avatars.discourse-cdn.com/v4/letter/e/c2a13f/32.png) [@elavarde](https://forum.ansible.com/u/elavarde)\
**Post date:** [October 8, 2018, 7:21am UTC](https://forum.ansible.com/t/use-ansible-for-post-provisioning-setup/28738/5 "2018-10-08T07:21:34Z")

</div>

You might also want to have a look at AWX/Tower and its “provisioning callback” feature, which is exactly meant for your use case:  
[https://github.com/ansible/awx](https://github.com/ansible/awx) and [https://docs.ansible.com/ansible-tower/latest/html/userguide/job\_templates.html](https://docs.ansible.com/ansible-tower/latest/html/userguide/job_templates.html)

But, indeed, start first to learn Ansible.
