Running pdns_recursor as a root-independent validating resolver

How to configure PowerDNS Recursor 5.4 to resolve directly against TLD name servers without depending on the root name servers at runtime, using a local root.zone file loaded via zonetocaches — including DNSSEC validation, trust anchor setup, and the race condition that prevents it from working without a hint file.

· 7 minutes reading time

Running a validating DNS recursor from the root zone with Hickory DNS

How to run Hickory DNS as a full recursive resolver starting from the root zone, with DNSSEC validation, TLS-encrypted upstream connections, Happy Eyeballs, and Prometheus metrics — including all configuration options added in the recurser-from-root-zone branch.

· 12 minutes reading time

vigil-log-relay: Kubernetes Log Collection Without a DaemonSet

vigil-log-relay streams logs from Kubernetes pods, HTTP endpoints, or Unix sockets and forwards them as ndjson to any TCP-capable log collector. No DaemonSet, no node-level access, no filesystem mounts — just a single binary with a namespace-scoped ServiceAccount.

· 10 minutes reading time

vigil-rs: A Rust Service Supervisor for Containers

vigil-rs is a PID 1 / container init daemon written in Rust. It supervises multiple processes, runs health checks, fires HTTP(S) alerts on state transitions, and exposes a REST API over a Unix socket with native zombie-reaping and per-service stop signals.

· 18 minutes reading time

How does SNI Routing work in HAProxy

Learn how HAProxy container uses TLS Server Name Indication (SNI) to route encrypted TCP connections without decrypting them — enabling multiple services like Nextcloud and XMPP to share port 443.

· 4 minutes reading time

mergelog-rs: Rewriting a Year-2000 C Tool in Rust — and Making It 2.26× Faster

A Rust rewrite of mergelog 4.5, a C tool from 2000 that merges Apache log files chronologically. Six optimizations — a k-way heap merge, a hand-rolled CLF parser, String buffer reuse, mimalloc, 4 MiB read buffers with SIMD newline search, and zstd support — took the Rust binary from slower than the original to 2.26× faster.

· 9 minutes reading time

AWFFull 4.0.0 — Modernising a 2008 Web Log Analyser

AWFFull 4.0.0 brings a long-overdue overhaul to a C-based web server log analyser forked from Webalizer: PCRE2 replaces EOL libpcre, libmaxminddb replaces the deprecated GeoIP .dat format, new ASN statistics show traffic by network operator, and optional Intel Hyperscan, mimalloc, and XXH3 deliver measurable performance gains on large logs. The release also adds a full GitLab CI/CD pipeline, .deb/.rpm packages, a multi-stage container image, updated browser and bot detection lists, and 100%-complete translations for 6 languages.

· 9 minutes reading time

AWFFull in the Cloud: Shipping Logs to Object Storage and Running in Containers

A practical guide to shipping web server access logs to AWS S3 or Azure Blob Storage using Fluent Bit, Vector, or Filebeat/Logstash — including persistent buffering, retry configuration, concurrent write safety, and log loss prevention. Covers running AWFFull as a stateless container against object storage logs and serving the generated reports as a static website.

· 10 minutes reading time

Session stickiness in OpenShift

How OpenShift and Kubernetes handle session stickiness via HAProxy cookie-based routing.

· 6 minutes reading time

loadgen-rs (Short): Results, Quick Start, and Tool Choice

A short version of the loadgen-rs article: what it does, benchmark highlights vs h2load, when to choose which tool, and how to start quickly in single-node and distributed mode.

· 2 minutes reading time