/images/avatar.png

Georgios Anestopoulos

Systems Engineer - Devops Practitioner

ganesto.com

Solving VPN Network Access Issues in WSL2 Ubuntu on Windows 11

I recently had to dive into the Windows 11 world with a fancy laptop and run WSL2 (Ubuntu). All was good until I hit a wall – no network access when my AnyConnect VPN kicked in (Windows Host). And it wasn’t just a run-of-the-mill DNS problem; I couldn’t even reach my router! Googling around I found a bunch of posts about similar issues, but most were about DNS. I tried tweaking interface metrics priorities through scripts, and sometimes it worked, sometimes not – definitely not ideal to run a script every time I connect to the VPN.

Building Custom Docker Image with GitLab CI and Kaniko in kubernetes

In my CI/CD pipelines at home, I often use ready-made Docker images and add extra steps to install the necessary packages. However, this time I decided to create a master build image, incorporating essential packages and the Hugo binary for my Hugo build and deploy pipelines. Current Setup GitLab CE (self-hosted) Kubernetes cluster with a GitLab Runner (tag: k8s-new) Remote web server using lftp to update my Hugo HTML website In my GitLab instance, I organize my Docker images in a group named docker_images.

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