Icinga Web 2 now ships a PasswordPolicyHook that gives administrators and module developers full control over what constitutes a valid password. Instead of hard-coding a single rule set for every...
Password Policies in Icinga Web
Icinga Web 2 now ships a PasswordPolicyHook that gives administrators and module developers full control over what constitutes a valid password. Instead of hard-coding a single rule set for every...
Building a Shared Icon and Font Library for Icinga Web
If you've copied the same icon font or the same LESS helper into two or three Icinga Web modules, you've hit the problem libraries exist to solve. This guide builds one from scratch: a small, self-contained icon and font pack that any number of modules can share, with...
Icinga Web 2.14, Security Releases, and Module Updates
We are shipping a new batch of Icinga Web ecosystem releases today. Icinga Web 2.14 is the headline, bringing the baseline for two-factor authentication support, configurable password policies, a configurable Content Security Policy, and a round of developer tooling...
Icinga Director, vSphere® Integration, and SSO: New Releases Available
This release roundup brings together Icinga Web SSO v1.0.0, Icinga Director v1.11.9, and Icinga vSphere® Integration v1.8.4. It introduces OpenID Connect single sign-on for Icinga Web and includes compatibility updates for the upcoming Icinga PHP Library 1.0.0...
How Git Worktrees Changed My Development Workflow
Since I started using Claude Code more frequently, I kept noticing a "worktree" checkbox popping up whenever I started a session in a Git repository. I had no idea what it meant, so I did what any curious developer would do and started digging. What I found was a Git...
I tried to build a design system with Figma and Claude from Scratch
Like many, I’ve been experimenting with Claude recently and tried to explore not only its capabilities, but of course also its limitations. The illusion that I could assign it a task and the AI tool would easily execute the work vanished quickly and I experienced...
How to Create Your Own Plugins and Check Commands in Icinga 2
If you've been using Icinga 2 for a while, you probably know the built-in checks cover a lot of ground: disk space, CPU, memory, ping. But sooner or later you'll run into something specific to your setup that no existing plugin handles. That's where writing your own...
Get Valid TLS Certificates for Icinga Web Despite a Firewall
Lots of big companies lock down their IT infrastructure in the internal network, sometimes they even use only locally mirrored repositories. I totally understand this, especially since our CVE-2024-49369. Nowadays, when LLMs find security holes even in OpenBSD, you...
XSS Vulnerability in Icinga PHP Library
Today we announce a security update for Icinga PHP Library. It solves a severe cross-site scripting attack vulnerability and affects multiple Icinga products at once. It has been published as GHSA-55wf-5m3q-6jjf. Installing the update v0.19.2 as soon as possible is...
How to undo Git reset hard?
You just finished a long interactive rebase. You hit enter. Your commit history looks… wrong. There is a bunch of things that could go wrong: messed up an interactive rebase accidentally ran git reset --hard merged the wrong branch rebased onto the wrong base You...
Icinga Director v1.11.6 Release
We are happy to announce the release of Icinga Director version 1.11.6. This release addresses several important bug fixes and introduces improvements that enhance the overall stability of Icinga Director. Database Schema Upgrade Columns storing large strings for...
Understanding Namespaces in Icinga 2 DSL
Last time, we explored the concept of variable scopes in Icinga 2, which help you manage and organize your DSL configurations effectively. As promised, today we'll dive into another, how shall I say, advanced topic: Namespaces in Icinga 2. What are Namespaces?...











