Georgios Anestopoulos

Platform Engineer – Devops Practitioner


fail2ban jail list & unban IP script

Fail2ban is my all-time favorite tool for protecting an exposed nginx server and in my case nginx is the primary gateway for the majority of my self-hosted services, I have created the following script that allows me to quickly view jail statuses and unblock IPs. Tested with fail2ban version: 1.0.2 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 #!

My personal top 5 Must-Have Kubernetes Tools: k9s, kubectx, kubens, kube-ps1, popeye

My favourite kubernetes tools I use every day: k9s: K9s is a terminal based UI to interact with your Kubernetes clusters. The aim of this project is to make it easier to navigate, observe and manage your deployed applications in the wild. K9s continually watches Kubernetes for changes and offers subsequent commands to interact with your observed resources. K9s is available on Linux, macOS and Windows platforms. MacOs 1 2 3 4 # Via Homebrew brew install derailed/k9s/k9s # Via MacPort sudo port install k9s Linux 1 2 3 4 # Via LinuxBrew brew install derailed/k9s/k9s # Via PacMan pacman -S k9s Windows 1 2 3 4 # Via scoop scoop install k9s # Via chocolatey choco install k9s Via a GO install 1 2 # NOTE: The dev version will be in effect!

Automate Hugo Deployment with Gitlab CI/CD

Summary: Having my personal gitlab instance I decided to automate hugo deployment process using gitlabci and each time a new commit is merged to master branch, the site will rebuild using ‘hugo’ command and will be deployed to my server (webhosting provider in my case) using lftp. In my example ‘gitlab-ci.yaml’ configuration there are 2 stages (test-only & Deploy-Pages) If I’m pushing to a working branch will trigger the pipeline on each commit and will run only the test stage.

Joplin, my favourite note taking app, my custom dark theme

Joplin is my favourite note taking app, Im using it with encryption enabled and sync them using WebDav in my Synology NAS to all my computers. I prefer the dark note style and I spent lot of time to find a dark theme for my taste but unfortunately I was not satisfied with the themes I found, so created my own based on multiple themes I found in Github and I created my own favourite.

Argocd ApplicationSet helm subcharts example

In this post I will share how do I add and deploy upstream helm charts using ArgoCD ApplicationSet in my personal kubernetes server and how do I use ApplicationSet generators to automatically create ArgoCD Applications using the flexibility of the ApplicationSet controller. Prerequisites used in this example: git repository Kubernetes and ArgoCD allready installed. (At the time of writing: kubernetes v1.24.1, ArgoCD v2.5.0) ArgoCD deployed in “argocd” namespace I use the Git Directory Generator approach:

Mikrotik: ip cloud ddns (auto update)

I’m using Mikrotik products & routers for years, one of the features I like is the ip cloud Dynamic DNS. This enables you to access to your router from anywhere on the internet, without the need for signing up to 3rd party Dynamic DNS Services. This is handy if you need access to: Access security cameras behind your network Manage your router or router’s behind it Access a local server

wordpress & prismJS code syntax highlighting in Twenty Twenty One theme (No plugin)

In this website I’m using wordpress twenty twenty one theme with some extra child theme modifications. Trying to improve the code block and adding some syntax highlighting, I was looking on many different plugins but I decided to use prismJS without plugin. What is prismJS ? Prism is a lightweight, extensible syntax highlighter, built with modern web standards in mind. It’s used in millions of websites, including some of those you visit daily

Hugo Binary Install - Binary (Cross-platform)

Download the appropriate version for your platform from Hugo Releases. Ideally, you should install it somewhere in your PATH for easy use. /usr/local/bin is the most probable location. In my case is an ubuntu installation: 1 2 3 4 5 6 cd $HOME/Downloads && mkdir hugo-binary && cd hugo-binary wget https://github.com/gohugoio/hugo/releases/download/v0.92.0/hugo_extended_0.92.0_Linux-64bit.tar.gz tar -xvf hugo_extended_0.92.0_Linux-64bit.tar.gz sudo cp hugo /usr/local/bin cd ../ && rm -rf hugo-binary/ hugo version you should be able to see the version from the last command, in my case hugo v0.