From 0e147a780e74b54afbd56ff7438077d855d5c1c2 Mon Sep 17 00:00:00 2001 From: "Gabriel A. Giovanini" Date: Fri, 10 Jun 2022 22:20:13 +0200 Subject: ref: Move from HTML to MD Keep and write in html is pain, so I'm rendering md as html. --- ...ing_desktop_setup_with_ansible-pull_part-1.html | 94 ---------------------- 1 file changed, 94 deletions(-) delete mode 100644 content/posts/2019-03-07Automating_desktop_setup_with_ansible-pull_part-1.html (limited to 'content/posts/2019-03-07Automating_desktop_setup_with_ansible-pull_part-1.html') diff --git a/content/posts/2019-03-07Automating_desktop_setup_with_ansible-pull_part-1.html b/content/posts/2019-03-07Automating_desktop_setup_with_ansible-pull_part-1.html deleted file mode 100644 index d06a648..0000000 --- a/content/posts/2019-03-07Automating_desktop_setup_with_ansible-pull_part-1.html +++ /dev/null @@ -1,94 +0,0 @@ -
-

- 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). -

-

- 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 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 focuson - - Ansible Pull - - and - - Playbooks - . As better described: -

- [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. - (source) -
-

-

- 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: -

[all]
-localhost
-

-

- As an experiment we're going to write a asks to install vim. Currently, I'm - using Fedora thus we going to use dnf modeule to install packages, but if - you're using another distribution look for a equivalent module like apt - module for Ubuntu. - - The playbook to install is quite simple: - -

# main.yaml
-- hosts: all
-  tasks:
-     - name: install vim
-       dnf:
-         name: vim
-         state: latest
-
-
host
-
it is required and it has to match our hosts otherwise the playbook won't run.
-
taks
-
- it 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: -

sudo ansible-playbook --connection=local main.yml
-

-

- After a few seconds, vim will be installed on your machine. -

PLAY [all] *************************************************************
-
-TASK [Gathering Facts] *************************************************
-ok: [localhost]
-
-TASK [install vim] *****************************************************
-ok: [localhost]
-
-PLAY RECAP *************************************************************
-localhost                  : ok=2    changed=0    unreachable=0    failed=0
-

-

- This is the first step, next part we shall create a more complex playbook and - setup repository to run it remotely using ansible-pull. -

-
-- cgit v1.2.3