aboutsummaryrefslogtreecommitdiff
path: root/content/posts/2019-03-07-ansible-part-1.org
diff options
context:
space:
mode:
Diffstat (limited to 'content/posts/2019-03-07-ansible-part-1.org')
-rw-r--r--content/posts/2019-03-07-ansible-part-1.org99
1 files changed, 0 insertions, 99 deletions
diff --git a/content/posts/2019-03-07-ansible-part-1.org b/content/posts/2019-03-07-ansible-part-1.org
deleted file mode 100644
index c8782e9..0000000
--- a/content/posts/2019-03-07-ansible-part-1.org
+++ /dev/null
@@ -1,99 +0,0 @@
----
-layout: post
-title: "Automating setup with ansible-pull part-1"
-date: 2019-03-07
-lastmod: 2020-07-12
-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 that I would save time by spending time automating this chore, and
-as a result, I could tinker a little more with my system and not worry about
-spending a weekend re-installing everything (which have happened more time that
-I'd like to remember).
-
-<!--more-->
-
-So after a few attempts using python and bash I ended with many files and
-keep everything organized and concise turned out to be more tedious than the
-setup itself. So there comes [[https://www.ansible.com/][Ansible]]. It is an enterprise-graded software used
-to automate tasks. It has A LOT OF features and it can be really helpful if
-you're a sysadmin but for now we're going to focus on [[https://docs.ansible.com/ansible/latest/user_guide/playbooks_intro.html#ansible-pull][Ansible Pull]] and
-[[https://docs.ansible.com/ansible/latest/user_guide/playbooks.html][Playbooks]]. As better described:
-
-#+BEGIN_QUOTE
-[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.
-
-[[https://docs.ansible.com/ansible/latest/cli/ansible-pull.html][source]]
-#+END_QUOTE
-
-The goal is to pull and run a playbook remotely using a git repository. The
-playbook will describe the tasks needed to setup our machine from scratch.
-
-But first lets tinker a bit a with playbooks locally with ~ansible-playbook~, to
-do so we need to add ~localhost~ to ansible's hosts list. Add it to
-~/etc/ansible/hosts~:
-
-#+BEGIN_SRC service
-[all]
-localhost
-#+END_SRC
-
-As an experiment we're going to write a asks to install vim. Currently, I'm using
-[[https://getfedora.org/][Fedora]] thus we going to use [[https://docs.ansible.com/ansible/latest/modules/dnf_module.html][dnf modeule]] to install packages, but if you're using
-another distribution look for a equivalent module like [[https://docs.ansible.com/ansible/latest/modules/apt_module.html][apt module]] for [[https://ubuntu.com/][Ubuntu]].
-
-The playbook to install is quite simple:
-
-#+BEGIN_SRC yaml
-# main.yaml
-- hosts: all
- tasks:
- - name: install vim
- dnf:
- name: vim
- state: latest
-#+END_SRC
-
-~hosts:~ is required and it has to match our hosts otherwise the playbook won't
-run.
-
-~tasks:~ is the list of tasks that the playbook will perform, in this case will
-be ~dnf install vim~.
-
-To run a playbook use the command ~ansible-playbook~ commando to run
-~main.yml~ direct from disk, do to so just run the following command:
-
-#+BEGIN_SRC bash
-sudo ansible-playbook --connection=local main.yml
-#+END_SRC
-
-
-After a few seconds, vim will be installed on your machine.
-
-#+BEGIN_SRC
-PLAY [all] *************************************************************
-
-TASK [Gathering Facts] *************************************************
-ok: [localhost]
-
-TASK [install vim] *****************************************************
-ok: [localhost]
-
-PLAY RECAP *************************************************************
-localhost : ok=2 changed=0 unreachable=0 failed=0
-#+END_SRC
-
-
-This is the first step, next part we shall create a more complex playbook and
-setup repository to run it remotely using ~ansible-pull~.
-