summaryrefslogtreecommitdiff
path: root/blog/2022-03-26.md
diff options
context:
space:
mode:
authoreug-vs <eugene@eug-vs.xyz>2022-04-21 15:04:56 +0300
committereug-vs <eugene@eug-vs.xyz>2022-04-21 15:04:56 +0300
commit24639575c32e48a3db46e06be6a3a25cd80e8991 (patch)
treec8d86d84ce9581a65471d0d4aa6720b4506fe6ae /blog/2022-03-26.md
parent0b7bc99af62aa53148b7fcede648e5dfb6e2ca22 (diff)
downloadeug-vs-xyz-24639575c32e48a3db46e06be6a3a25cd80e8991.tar.gz
refactor: change prject structure
Diffstat (limited to 'blog/2022-03-26.md')
-rw-r--r--blog/2022-03-26.md62
1 files changed, 0 insertions, 62 deletions
diff --git a/blog/2022-03-26.md b/blog/2022-03-26.md
deleted file mode 100644
index 1bc09b2..0000000
--- a/blog/2022-03-26.md
+++ /dev/null
@@ -1,62 +0,0 @@
-# Agent-less infrastructure management with Ansible :ansible:
-As I explore new things and grow my homelab :raspberry-pi: infrastructure things start to get a little messy. I've reached the point where I should start using more advanced deployment strategy than just manually setting up servers via SSH or `rsync`-ing a bunch of files into them. The goal is to reach [Infrastructure as Code](https://en.wikipedia.org/wiki/Infrastructure_as_code).
-
-# But what about Docker? :whale:
-[Docker](https://www.docker.com/) is an amazing tool that solves particularly nasty problem - isolating your application from environment and **reliably** running it on any platform. You just pack your application into the container and ship it anywhere you want! It makes your app **scalable**!
-
-I use Docker on my daily job and I can't imagine it otherwise. But here, in my tiny homelab (which is just one RaspberryPI :raspberry-pi: at this point), this is not world-class production problems, so it might be an overkill.
-
-Docker requires your servers to run a *daemon* - e.g extra software layer (and it's dependencies) between your applications and the metal. It will run in the background and make your fan work a bit louder :helicopter: in the upcoming summer nights to compensate for those extra couple degrees.
-
-![meme](/public/docker-on-rpi.jpg)
-
-# Introducting Ansible :ansible:
-[Here it comes](https://ansible.com) - **agent-less** deployment tool that doesn't require your server to run anymore bullshit than good old Python :python: and open SSH port.
-
-In Ansible you define so called playbooks - `YAML` specs of your tasks. Then you just feed the `YAML` to `ansible-playbook` and voila! It's already SSHing into your machines and doing your job now!
-
-Ansible is not the tool you should learn, it's so simple that you can use it right away!
-
-# Examples from my infrastructure :raspberry-pi:
-Ansible has a bunch of built-in convenience commands that make your life even more enjoyable.
-
-![meme](/public/pepe-smug.png)
-
-This is how easy it is to setup a cron-job:
-```YAML
- - name: Setup auto-renewing certificates
- become: true
- cron:
- name: "Auto-renew certificates"
- minute: "0"
- hour: "12"
- job: "/usr/bin/certbot renew --quiet"
-```
-
-Transferring files:
-```YAML
- - name: Copy nginx configuration
- become: true
- copy:
- src: ./files/nginx/website
- dest: /etc/nginx/sites-available
-```
-
-Installing packages:
-```YAML
- - name: Install build tools
- apt:
- pkg:
- - gcc
- - make
- - cmake
- - gnutls-dev
- - uuid-dev
-```
-
-...and many many more. Check out source code of my playbooks here:
- - https://git.eug-vs.xyz/eug-vs/infrastructure/
-
-The notable ones are:
- - Installing [taskd](https://git.eug-vs.xyz/eug-vs/infrastructure/tree/taskd.yaml) (migth be worth a separate post)
- - Installing [git server along with cgit](https://git.eug-vs.xyz/eug-vs/infrastructure/tree/git-server.yaml)