Blog

  • Content-Defined Chunking (CDC) Results for NAR Storage
    2 min read

    I’ve been benchmarking Content-Defined Chunking (CDC) to optimize storage for our NAR files. The goal was to maximize deduplication by decompressing the source NARs before chunking, then re-compressing the unique chunks …

    #NixOS
  • Disaster Recovery: Talos etcd Corruption & Kyverno CNI Deadlock
    2 min read

    Incident Summary: Talos Control Plane & CNI Deadlock Overview During a physical disk migration for the TrueNAS VM (running on the Proxmox bare-metal host), severe I/O latency spikes caused a cascading failure across the …

    #Kubernetes
  • enable_audit.sh
    1 min read

    #!/usr/bin/env bash set -euo pipefail NAMESPACE="mastodon" SELECTOR="app.kubernetes.io/name=mastodon" echo "🔍 Finding Mastodon pods and enabling Cilium Policy Audit Mode..." # 1. Loop through pod names directly for …

    #Kubernetes
  • FortiGate - Export certificate with private key
    3 min read

    FortiGate - Export certificate with private key Problem I recently purchased a wildcard certificate based on a CSR generated by FortiGate and uploaded the certificate to it. It is named wildcard-domain-tld. We are moving …

    #FortiGate
  • Home Assistant remove all rtl_433 devices
    1 min read

    Home Assistant remove all rtl_433 devices Home assistant does not have a way to mass delete devices; I want to delete all rtl_433 devices (there are many of them). Code async function …

    #Home Assistant
  • Install ArchLinux from within NixOS
    5 min read

    Introduction Note This is more of a journal entry (of a self-challenge) than a guide. I call my device Hercules and my ZFS pool is named olympus. If you decide to follow this guide, make sure to reference the sources at …

    #NixOS
  • Install Debian or Ubuntu from within NixOS
    4 min read

    Introduction Note This is more of a journal entry (of a self-challenge) than a guide. I call my device Hercules and my ZFS pool is named olympus. If you decide to follow this guide, make sure to reference the sources at …

    #NixOS
  • Kubernetes - List Abnormally Terminated Pods Across All Namespaces
    1 min read

    Problem I want to get a list of all pods that have terminated abnormally along with their restart reason and count. Solution Run the following command: kubectl get pods --all-namespaces -o …

    #Kubernetes
  • Migrate home-assistant from SQLite to PostgreSQL
    3 min read

    Migrate home-assistant from SQLite to PostgreSQL Problem I want to migrate home-assistant from SQLite to PostgreSQL. Solution The migration involves the following steps: Create a PostgreSQL database following PostgreSQL …

    #Home Assistant
  • NixOS - ZFS - No space left on device
    1 min read

    Problem My system ran out of space, and I am unable to run sudo nix-collect-garbage -d. ❯ sudo nix-collect-garbage -d removing old generations of profile /nix/var/nix/profiles/per-user/root/channels error: opening lock …

    #NixOS
  • Post-Mortem: Recovering a Corrupted Talos etcd Cluster
    4 min read

    The Incident During a recent physical disk migration for a TrueNAS VM running on Proxmox, the resulting I/O latency spikes and storage disruption caused a massive ungraceful state change. This led to a complete loss of …

    #Kubernetes
  • Post-Mortem: The Admission Webhook CNI Deadlock
    3 min read

    The Incident Following a successful bare-metal restore of a Talos etcd cluster, the control plane was healthy, but the entire pod network remained offline. Cilium (running in strict kube-proxy replacement mode) was …

    #Kubernetes
  • PostgreSQL - Create Role for a Database
    1 min read

    PostgreSQL - Create Role for a Database Problem I want to create a role that has all permissions on a database (owner of such database) so the application can do whatever it needs within the db. Solution First PostgreSQL …

    #PostgreSQL
  • PostgreSQL - Create UTF-8 Database
    1 min read

    PostgreSQL - Create UTF-8 Database Problem I want to create a new database ensuring encoding is set to UTF-8. Solution CREATE DATABASE "db_name" WITH ENCODING = 'UTF8'; Related PostgreSQL - Create Role for a Database

    #PostgreSQL
  • PostgreSQL - psql using URI
    1 min read

    Problem I have a PostgreSQL URI for one of my applications, a URI such as postgres://username:password@hostname:port/database-name and I need to connect to the database from the command-line Solution I used to break the …

    #PostgreSQL
  • PostgreSQL - Read-Only PSQL Session
    1 min read

    Problem I want to connect to a database ensuring that I cannot perform any write operations Solution Connect to a PostgreSQL server with psql or your graphical interface. This guide has only been tested with psql. …

    #PostgreSQL
  • Proxmox VM - Ensure SCSI0 in Boot Order for Talos OS
    1 min read

    Proxmox VM - Ensure SCSI0 in Boot Order for Talos OS Symptom After installing Talos Linux to a Proxmox VM's SCSI disk (e.g., scsi0) and removing the installation ISO, the VM may fail to boot, potentially getting stuck in …

    #ProxmoxVE
  • ProxmoxVE - Add Certificate via ACME
    1 min read

    ProxmoxVE - Add Certificate via ACME Problem I need to get a valid TLS certificate for my ProxmoxVE so browser don't complain. Solution The server certificate can be configured to use ACME to install a certificate. …

    #ProxmoxVE
  • ProxmoxVE - Boot without starting any VM
    1 min read

    ProxmoxVE - Boot without starting any VM Problem I want to boot ProxmoxVE without booting any guest in order to perform a maintenance task. Solution During boot interrupt systemd (proxmox-boot) so it does not boot Press …

    #ProxmoxVE
  • ProxmoxVE - Shutdown timeout
    1 min read

    Problem In order to give important VM time to shutdown properly, I need to define shutdown timeout for each important VM. The default timeout is 180s Solution The timeouts are defined per VM and not per Group. Since …

    #ProxmoxVE