Join us

ContentUpdates and recent posts about Pelagia..
Story
@laura_garcia shared a post, 10 months ago
Software Developer, RELIANOID

🚨 Cyberattack on Qantas highlights growing threats to aviation

Up to 6 million customers affected via a third-party breach – allegedly linked to Scattered Spider, a group known for social engineering and supply chain attacks. 🔍 The lesson? The weakest link is often outside the organization. ✈️ At RELIANOID, we help airlines and critical services stay protected ..

Blog quantas breach Aviation Cyber Risks and Need for Proactive Defense
Link
@faun shared a link, 10 months ago
FAUN.dev()

“A Programmer Who Reads Is Worth Two”: Tech Books for Summer 2025

Crafting an LLM from the ground up? Dive intoSebastian Raschka’s guide. It tackles everything: data wrangling to toeing the ethical line. Seasoned ML pros will nod in approval. Craving a sharp take on AI’s charming deceptions?Narayanan & Kapoor's"AI Snake Oil" spills the beans on marketing myths wit.. read more  

“A Programmer Who Reads Is Worth Two”: Tech Books for Summer 2025
Link
@faun shared a link, 10 months ago
FAUN.dev()

Asynchrony is not Concurrency

Asynchronyisn't a twin toConcurrencyin Zig. It juggles async tasks without leaning on multi-threading, letting sync and async mingle harmoniously. Concurrency craves overlap, but Zig's savvy. When resources get stingy, it smartly reverts tasks to synchronous, dodging drama like deadlocks or sudden c.. read more  

Asynchrony is not Concurrency
Link
@faun shared a link, 10 months ago
FAUN.dev()

10 Unspoken NestJS Secrets for Production at Scale

UnlockNestJSspeed by steering clear of full module preloads. This trick slashes cold start drags, cutting first request delays by up to10 seconds... read more  

Link
@faun shared a link, 10 months ago
FAUN.dev()

Crawling a billion web pages in just over 24 hours

Imagine tearing through1 billion pages in a single dayon a shoestring budget. This crawler pulled it off with12 nodes and some savvy async maneuvering. But here's the kicker: it wasn’t the fetching that choked the CPU. Nope, it was the parsing. Today’s web behemoths, bloated with JavaScript and othe.. read more  

Crawling a billion web pages in just over 24 hours
Link
@faun shared a link, 10 months ago
FAUN.dev()

Containers: Everything You Need To Know

cgroupsand namespaces anchor Linux containers, isolating resources and processes like gatekeepers with a mission. On macOS and Windows, these containers ride in VMs withWSL2orLinuxKit, putting on their "welcome to the virtual world" hats. EnterrunC, executing OCI-built images with isolation flair, w.. read more  

Containers: Everything You Need To Know
Link
@faun shared a link, 10 months ago
FAUN.dev()

How to catch GitHub Actions workflow injections before attackers do

GitHub Actions injections areone of the most common vulnerabilities in projects. Use CodeQL to scan workflows and protect against these risks effectively... read more  

Link
@faun shared a link, 10 months ago
FAUN.dev()

Understand CPU Branch Instructions Better

Branch prediction matters. Why? About a quarter of instructions are branches, and modern CPUs nail an accuracyabove 90%. Yet, those often-pesky branches can choke CPUs, stalling instruction flow. So, take a wrench to yourif-else logic. Trim indirect branches whenever you can—your CPU will thank you... read more  

Link
@faun shared a link, 10 months ago
FAUN.dev()

Exhausted man defeats AI model in world coding championship

A weary-eyed Polish coder,Przemysław Dębiak, bested an OpenAI model in a grueling 10-hour face-off, reminiscent ofJohn Henry’sepic duel against the steam-powered behemoth... read more  

Exhausted man defeats AI model in world coding championship
Link
@faun shared a link, 10 months ago
FAUN.dev()

Parsing 1 Billion Rows in Bun/Typescript Under 10 Seconds

Buntries to swallow files over 4GB and promptly chokes. The culprit? ItsBuffercaps out at 4GB. The fix? Slice files into chunks under 4GB but keep the buffer lean, no more than 128KB, to keep things zippy. Pull out the big guns—workers. This move fires up all CPU cores, slashing processing time from.. read more  

Parsing 1 Billion Rows in Bun/Typescript Under 10 Seconds
Pelagia is a Kubernetes controller that provides all-in-one management for Ceph clusters installed by Rook. It delivers two main features:

Aggregates all Rook Custom Resources (CRs) into a single CephDeployment resource, simplifying the management of Ceph clusters.
Provides automated lifecycle management (LCM) of Rook Ceph OSD nodes for bare-metal clusters. Automated LCM is managed by the special CephOsdRemoveTask resource.

It is designed to simplify the management of Ceph clusters in Kubernetes installed by Rook.

Being solid Rook users, we had dozens of Rook CRs to manage. Thus, one day we decided to create a single resource that would aggregate all Rook CRs and deliver a smoother LCM experience. This is how Pelagia was born.

It supports almost all Rook CRs API, including CephCluster, CephBlockPool, CephFilesystem, CephObjectStore, and others, aggregating them into a single specification. We continuously work on improving Pelagia's API, adding new features, and enhancing existing ones.

Pelagia collects Ceph cluster state and all Rook CRs statuses into single CephDeploymentHealth CR. This resource highlights of Ceph cluster and Rook APIs issues, if any.

Another important thing we implemented in Pelagia is the automated lifecycle management of Rook Ceph OSD nodes for bare-metal clusters. This feature is delivered by the CephOsdRemoveTask resource, which automates the process of removing OSD disks and nodes from the cluster. We are using this feature in our everyday day-2 operations routine.