Introduction 
 I’ve been having a lot of fun with my OpenStack cluster. If you use Kubernetes, you probably have a need for provisioning services of type LoadBalancer . On bare-metal environments (mostly the case in typical homelab setups), you would rely on a solution like MetalLB (or even a CNI like Cilium). But since Openstack already provides LoadBalancers via Octavia, we’ll…
Introduction 
 OpenBao is an open-source fork of HashiCorp’s Vault, created to ensure the project remains community-driven and permissively licensed. It provides a robust, transparent, and accessible solution for secrets management and data protection, offering a viable alternative for users who relied on Vault’s original open-source model. 
 The default Helm installation of…
When you’re running VMs you don’t want your host scheduler to schedule processes onto the CPU cores that are being used for the VMs. 
 Fortunately, there’s a very nice kernel parameter isolcpus which can be used to achieve this. 
 For example, consider my machine which has 128 vCPUs - from 0 till 127.
I can use isolcpus=8-127 to ensure that the host OS only uses CPUs…
I’ve been a big fan of Rook for simplifying storage on Kubernetes. Sure, CEPH is complex but the Rook operator makes it very easy to get a CEPH cluster up and running on Kubernetes. However, it’s common knowledge that CEPH is usually meant for large clusters and is resource intensive. 
 I’ve been wanting to try out Linstor for quite some time now. In this blog post,…
Background 
 AWS deprecated path-style access for S3 buckets for virtual-host accessing method. Ever since, it is generally advisable to use virtual-host style accessing in applications. 
 Path-style access model 
 https://s3.amazonaws.com/jbarr-public/images/ritchie_and_thompson_pdp11.jpeg
https://s3.amazonaws.com/jsb-public/classic_amazon_door_desk.png
 
 Virtual-host…
The Problem 
 After installing the Rook operator and getting a Ceph cluster up and running on my favourite kubernetes distro (OpenShift/OKD), I was unable to access the Ceph dashboard. 
 Here’s the error that curl reports: 
 curl -vvv https://rook-ceph-dashboard-rook-ceph.internal.nanibot.net/
 * Host rook-ceph-dashboard-rook-ceph.internal.nanibot.net:443 was resolved.
 * IPv6:…
Docker and MTU 
 Well, for some reason (apparently it’s because docker’s logic for detecting MTUs is flawed) I wasn’t able pull docker images (they failed with a 408 error message) when the machine docker was installed on was configured to route it’s traffic through my software router. This was painful to figure out but ultimately I found out that if I changed the default router to my main…

 “The only true wisdom is in knowing you know nothing” - Socrates 
 Introduction 
 Back when I built my server ( Link ), I assumed that by right-sizing my VMs (such that 2 VMs are placed in each NUMA node) the hypervisor (libvirt/QEMU/kvm in my case) would take care of any NUMA tuning… I was soo wrong… 
 François Donzé has a post on this: Link 
 RedHat also has some guidelines…
Note: This probably only applies to OpenShift/OKD 4.13+ 
 Introduction 
 This post is about configuring your cluster so that only the mirror registries (pull through caches in this case) are used for pulling any images. By default, specified mirrors are used only when their respective sources are unavailable. 
 Pull through caches are helpful to reduce network usage since the image is…

 “The only constant in life is change” - Heraclitus 
 Update: I have realized that without tuning for NUMA manually, it’s almost certain that you’ll run into cross-NUMA issues! I’ve written about it here: Link 
 Motive 
 I had to get rid of my rack server that I used as my homelab since last year. Dell PowerEdge R620 , which was a second-hand purchase that I had made last year.…
The default certificates used by the ingress operator are self-signed i.e. by an internal CA. I thought it was a better idea to generate my own certs using cert-manager so here is what I did: 
 
 
 Generate a certificate: 
 apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
 name: internal-nanibot-net-cert
 namespace: openshift-ingress
spec:
…
About 
 Hi, I’m Amrut ! 
 Contact me at nanibot@nanibot.net 
 Resume 
 Steam 
 Github 
 YouTube 
 Instagram 
 My current homelab is set up on a Dual EPYC 7601 (2 CPUs on a single Motherboard) system with 256 GBs of RAM and 128 vCPUs. That’s a lot of CPU cores and memory… I’m probably overcompensating for something. Nah… I need it for my Kubernetes nodes (or atleast,…
Introduction 
 Note: This is a mere Proof of Concept. I will be writing a full-fledged guide soon. Until then, this can be used to deploy a test Gitlab installation for fun. 
 Gitlab is probably the best alternative to Github as of today. It can be a bit complex to deploy (especially on Kubernetes) but most configurations are well-documented. 
 Although the operator is listed as “not…
https://fluxcd.io/blog/2024/09/flux-v2.4.0/ 
 The release notes for 2.4.0 mentions a certain “Flux Operator” that “removes the operational burden of managing Flux”. In simple words, I guess it avoids the trouble where an administrator needs to get flux CLI installed on his system and then go through the bootstrap process to get Flux installed on a K8S cluster. Also, there’s no need for the…
DISCLAIMER: I am not responsible for any of your broken devices. Please don’t blame me if you end up bricking your router. 
 Note: The following actions were carried out on firmware version SRCMTF1_JCO4032_R2.9 running on a Jio Fiber JCO4032 router. 
 The Problem 
 Ever since I’ve had fiber installed at my place, I’ve been wanting to learn more about how GPON works. Unfortunately, the…
The Problem 
 If you’ve paid attention to most Linux distros’ download pages, you must have noticed that many of them offer something called cloud images . Cloud images are usually qcow2 images that have a Linux distro pre-installed. 
 But, once you launch the image you’ll find that you need a root password to log in. 
 Is there a default password? No, not really. These images are…
The Problem 
 I downloaded the Fedora netinstaller because I wanted to try out some other window managers (GNOME was making my head hurt). However, for some strange reason the installer just wouldn’t go past the point where you have to configure your install destination. 
 Then, while checking journalctl logs, I stumbled upon a log message which indicated that something was wrong with my…
I was able to find a Wii U in near mint condition from a guy on OLX (an Indian online marketplace for buying used goods). The person I got it from hadn’t used it all except for trying out some features. 
 While the console itself is pretty impressive (HDMI on a Nintendo console!), it just doesn’t have a huge number of games released for it. However, being backwards compatible with the Wii, it…
For some reason, people think that Dal (lentil soup?) and Eggs go hand in hand. 
 I disagree, I think it’s the worst possible combination ever! 
 You seem to have reached the first post on this website. Congratulations! There’s a secret page on this website. Can you find it?