The problem Ask anyone where their servers get time from and the answer is almost always pool.ntp.org, time.google.com or time.cloudflare.com. Those work, but they are not official time. The pool is volunteer-run machines of unknown quality, and Google famously smears the leap second, which means it deliberately serves time that is wrong by up to 500 ppm around a leap event — fine for a fleet that…
The problem You’ve decided to run your own authoritative DNS. Maybe you want to delegate a subdomain to a VPS for some experiment, maybe you’ve outgrown what your registrar’s nameservers let you do, or maybe you just want to learn the internals. PowerDNS is the obvious pick. Then you start reading: gmysql backend, schema file, pdns.conf, dnsdist sitting in front for ACLs and load…
Introduction Helm Chart Repository APT and YUM Package Repository Debian / Ubuntu RHEL / CentOS / AlmaLinux Introduction Over time I have been packaging some tools and applications that I use frequently across my homelab and work environments. I decided to make these publicly available through two repositories: a Helm chart repository for Kubernetes deployments and a package repository for Debian…
Introduction Prerequisites for Technitium DNS Technitium installation procedure On the docker host On the Raspberry PI host Technitium High Availability setup API token creation Backup job creation Backup job scheduling Update (July 2026): Technitium DNS Server now has native clustering support, introduced in v14 — see the official post Understanding Clustering and How to Configure It. A cluster…
Introduction Running the probe as a docker container Running the probe in Kubernetes Prerequisites Create the Kubernetes namespace Generate the SSH keypair Create the kubernetes secret containing the SSH key pair Create the volume to store the probe status Create the deployment Registering the new probe Introduction What is RIPE Atlas? - RIPE Atlas is a global network of probes that measure…
Introduction Prerequisites Procedure On the host OS On the VM Introduction When using Virtualbox, after creating the VMs, and even after specifying their disks as fake SSDs to the guest OS, the TRIM operations will not run and the disk space will not get reclaimed. For example even if a guest OS reports as using 2 Gb of disk, on the host machine this will sometimes show as double the space.
Introduction Prerequisites Prepare the nodes Installing RKE2 Using Kubernetes Agent nodes installation Rancher Rancher installation Accessing the Rancher GUI Longhorn Longhorn Install Introduction I finally got my CKA Certificate and out of curiosity started deploy not only vanilla k8s clusters with kubeadm but also other kubernets flavors. One of these is the RKE2 kubernetes distribution. I found…
Introduction The service Building the docker image Testing the container Implementing echoip as a docker-compose service Explaining the docker-compose Traefik options Adding GeoIP data Using the service Update 2023-05 - Implementing with Podman instead of Docker Installing podman packages Adopting docker-compose files Autostarting Podman containers Implement container autostart with podman…
Introduction The problem The fix Introduction Using Ubuntu as my daily driver I have to also join work calls and one of the devices I use is a bluetooth headset with a USB dongle. The dongle is an advanced bluetooth receiver paired to this headset and provides advanced audio features and encoding. The problem When using this headset with my laptop’s built-in bluetooth receiver has limited…
Initial analysis How Control Groups Are Organized The Linux Process Model The Cgroup Model Available Subsystems in the Linux kernel CFS Tunable Parameters Ceiling Enforcement Tunable Parameters Limitig apache process to 80% CPU usage Implementation in Puppet configuration management Benchmarking Full throttle testing Test results Normal Average testing cgroups Examples Example CPU limits usage…
Table of Content Table of Content Basic usage of ethtool Getting SFP and media info Getting SFP diagnostic info from all interfaces Sometimes I have faced issues in fiber connections between computers and switches and most of the time I was remote and just could not be on site. If your system is Linux based, there is a well known swiss army knife software called ethtool, which I believe every…
Table of Content Table of Content Introduction Project Repository Step by step instructions Wireguard server install Troubleshooting Client Setup Mobile phone VPN client setup Windows desktop client Introduction Last year had to help a friend build a Wireguard VPN server and while I was working on that project I had the idea to automate the setup process. I initially started to write a bash script…
Table of Content Table of Content Setting up the project Terraform credentials Variables management VM management Considerations when creating VMs Proxmox API is slow Use cloud-init VM customizations HDD controllers LXC Container resource management Conclusion This is a continuation the previous article Automating my Homelab - Part 1 - Building VM templates with Packer. Now that we have the images…
Table of Content Table of Content Homelab Infrastructure Packer image building Packer project repository Secrets management Building images Ubuntu Rocky Linux Things that I spent more time Disk configuration Cloud-init Results Last year I started to seriously master my Kubernetes (k8s) knowledge and I was lucky to get a promo code for 50% off from the CKA exam. At the same time , working with IT…
Table of Content Table of Content Web hosting platform Migration preparations Folder preparations Cleanup and posting on production site Next steps Original site was located at Blogger CloudAlbania but that platform does not provide the editing tools I needed for text processing, e.g. even a simple code formatting took forever. Here I will post the migration steps in Hugo. Web hosting platform…
Table of Content Table of Content Preparing the Ansible host and FreeIPA repository Installing FreeIPA Configure FreeIPA for RFC4519 and vSphere Initial configuration for FreeIPA Configure vSphere Authentication for FreeIPA Was setting up a new FreeIPA sever for my homelab and found out that the default configuration in FreeIPA does not allow you to use VMware vSphere as a client as not being…
Table of Content Table of Content Introduction Install certbot Introduction Sometimes we need to get a Let’s Encrypt SSL certificate for a system that might not be connected in the internet or where the certbot client is not able to be installed. There is an easy way to generate a SSL chain that we can use in our internal applications. Install certbot On a linux system (even a temporary one)…
Table of Content Table of Content Introduction Server recommendations Setting up the Foreman server Configure the OS Install Katello & Foreman Install and configure the ansible server Using Foreman ansible collections Managing Foreman - Your first playbook Introduction Managing Foreman recently and got bored to configure it each time I set it up from scratch. This blog post will cover initial…
Table of Content Table of Content Introduction Add the new version in the PATH Link libraries Curl Introduction Sometimes we are still managing very old hardware or OS versions and that we have nothing in our hands to change it till it phases out. Here is an example from CentOS 5 where the latest OpenSSL package is 0.9.8e and of course it does not support TLS 1.2 Let’s start with the…
Spent some time on this mounting an iSCSI LUN from a NetApp volume. In your NetApp SVM enter the new initiator with a default name according to the RFQ: iqn.2018-03.freebsd.com:freebsd After creating the netapp svm, lun, lif, etc you can mount the new iSCSI volume with the following command. PS C:\Program Files\Oracle\VirtualBox> .\VBoxManage.exe storageattach freebsd --storagectl 'SATA' --port 0…
UPDATE - FEB 2022: This guide is a bit obsolete by now. Best way is to install WSL. For us sysadmins it is important to create scripts on the fly and make things work. By working in an ad-hoc way, our scripts will get lost, not cured and especially not searchable. Initial tools setup To better organize our code some personal best practices follow: Environment: Windows Install and download…
If you are using PowerShell and in the console or the scripts you need to have your public IP address, then Ripe NCC can really help you get this. You can query RIPE stat servers and receive your IP address as JSON and save it in a variable to use it later. To get the JSON data just execute this: C:\Windows\system32> $a = (Invoke-WebRequest -Uri 'https://stat.ripe.net/data/whats-my-ip/data.json' |…