aboutsummaryrefslogtreecommitdiff
path: root/_posts/2019-03-07-ansible-part-1.md
diff options
context:
space:
mode:
Diffstat (limited to '_posts/2019-03-07-ansible-part-1.md')
-rw-r--r--_posts/2019-03-07-ansible-part-1.md101
1 files changed, 0 insertions, 101 deletions
diff --git a/_posts/2019-03-07-ansible-part-1.md b/_posts/2019-03-07-ansible-part-1.md
deleted file mode 100644
index 89934e8..0000000
--- a/_posts/2019-03-07-ansible-part-1.md
+++ /dev/null
@@ -1,101 +0,0 @@
----
-layout: post
-title: "Automating desktop setup with ansible-pull part-1"
-date: 2019-03-07
-tags: ['ansible', 'ansible-pull', 'linux', 'fedora']
----
-
-Every time that I do a clean install on my machine it takes a few hours
-till I get to point where I was before formatting it, install all
-packages, select themes, icons, fonts, install IDEs, extensions and so
-on. After doing it a few times I came to the conclusion (
-[genius](https://i.imgur.com/BtWuQgT.png)) that It would be nice to
-automate this chore, and as a result, I could tinker a little more with
-my system and not be afraid of spending a weekend reinstalling
-everything (which have happened more time that I'd likei to remenber)
-
-So after a few attempts using python or/and bash, I couldn't get something
-that scales and ended with many files and keep the files organized and
-concise turned out to be more tedious than the setup itself. So it comes
-[Ansible](https://www.ansible.com/). It is an enterprise-grade software
-used to automate tasks. It has many features I can be really helpful as
-a sysadmin but what we gonna focus here is cliente side of thing using
-[Ansible Pull](https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html#ansible-pull)
-and
-[Playbooks](https://docs.ansible.com/ansible/latest/user_guide/playbooks.html)
-as better describe:
-
-> Ansible-Pull is used to up a remote copy of ansible on each managed
-> node, each set to run via cron and update playbook source via a source
-> repository. This inverts the default push architecture of ansible into
-> a pull architecture, which has near-limitless scaling potential.
-
-> Playbooks are Ansible’s configuration, deployment, and orchestration
-> language. They can describe a policy you want your remote systems to
-> enforce, or a set of steps in a general IT process.
-
-The next step is to pull a playbook from a git account and run on
-the host, the playbook will have tasks needed to setup our
-machine.
-
-To run it locally first we need to add localhost to hosts list, to do so we
-only the following text added to `/etc/ansible/hosts`:
-
-{% highlight text %}
-[all]
-localhost
-{% endhighlight %}
-
-As an experiment we're gonna make tasks to install vim. Currently, I
-using
-[Fedora](https://getfedora.org/) thus we going to use
-[dnf modeule](https://docs.ansible.com/ansible/latest/modules/dnf_module.html)
-to install packages
-
-The playbook to install is quite simple:
-
-{% highlight yml %}
-# main.yml
-- hosts: all
- tasks:
- - name: install vim
- dnf:
- name: vim
- state: latest
-{% endhighlight %}
-
-Fist `hosts:` it is required and it has to match our hosts so we are
-able to run that playbook. Then `tasks:` which is a list of task that
-the playbook will perform that in this case will be `dnf install` for
-the vim package.
-
-Ansible pull requires a repository but for the first example I want to
-keep it simple so we will use `ansible-playbook` commando to run
-`main.yml` direct from disk, do to so just run the following command:
-
-{% highlight bash %}
-sudo ansible-playbook --connection=local main.yml
-{% endhighlight %}
-
-After a few seconds, vim will be installed on your machine.
-{% highlight bash %}
-PLAY [all] *************************************************************
-
-TASK [Gathering Facts] *************************************************
-ok: [localhost]
-
-TASK [install vim] *****************************************************
-ok: [localhost]
-
-PLAY RECAP *************************************************************
-localhost : ok=2 changed=0 unreachable=0 failed=0
-{% endhighlight %}
-
-This is the first step, next part we shall create a more complex
-playbook and setup repo and actually use `ansible-pull`
-
-
-
-
-
-