github Icinga/icingaweb2-module-director v1.12.0
Icinga Director v1.12.0

3 hours ago

Icinga Director 1.12.0 is out now. Custom variables finally support dictionaries, restoring a deleted user group brings its members back, and the daemon can set up a fresh Director on its own. PHP 8.2 or newer is now required.

Before you upgrade

  • Director needs PHP 8.2 or newer. PHP 8.5 is supported too.
  • The license changes from GPLv2 to GPL-3.0-only, in line with Icinga Web and its modules.
  • The Icinga Incubator module is no longer needed. Director now uses the Icinga PHP Legacy library.

Back up your database and read the upgrade documentation before you start.

Custom variables understand dictionaries

Before, creating services from a dictionary on a host meant defining that variable outside of Director. Now service apply-for rules work with dictionaries and you can use $key$ and $value$ to read each entry. For example, a host can hold a dictionary of web sites, and one rule can create a check for every site.

Existing Data Fields keep working under a "Fields (Deprecated)" tab. To move them over, run icingacli director migrate datafields --dry-run to preview the changes first.

Restoring a user group brings its members back

Undoing the deletion of a user group used to bring back the group but not its members. Groups can now use an assign filter, and a restore reapplies it and links the matching users again. Director also asks you to confirm before deleting a group.

Set up Director from the command line

icingacli director daemon run has new flags. --kickstart runs kickstart at startup. --import, --run-sync and --deploy restore a basket snapshot, run your sync rules and deploy the config. A failed kickstart import is rolled back, and an interrupted deployment is retried on the next startup.

The importsource and syncrule commands also accept --name, so you can check, run or delete by name instead of by ID.

Smaller improvements

  • A new import modifier turns a number into text, so a port that arrives as a number no longer causes a diff on every import
  • The service form shows the display_name field
  • Event commands have their own section and now appear on hosts and services too
  • Baskets have an "Add to Basket" action on the basket detail page

Bug fixes

  • Check command box was missing when editing service properties (#2732)
  • Looking up an associated service template failed with a multicolumn key error (#2839)
  • Command inheritance was not shown (#3007)
  • Template choice links were broken in the activity log (#3104)
  • Cloning a host or service now clears the display name (#3110)
  • Modifying a directly applied service set failed on PostgreSQL (#3076)
  • Restoring a basket created duplicate service set members (#3089)
  • Restoring a basket did not bring back service template choices (#3107)
  • A missing host group in a role restriction broke host creation for restricted users (#3098)
  • Director allowed zones that point back at themselves (#3108)
  • The redundant director/* permission is gone, since Icinga Web already grants module access (#3094)
  • The directory-to-row property modifier did not convert arrays to objects correctly (#2923)
  • Assign filters with boolean expressions were rendered wrongly (#2984)
  • Empty values broke preg_match() in the reject or select modifier (#2994)
  • The CLI showed sync rule results incorrectly (#3141)
  • The resolveCache task reported zero pending membership changes (#3100)
  • Deployments failed on MySQL 9.6, where SHA1() is turned off by default (#3091)
  • Agent and zone documentation still suggested a template per satellite zone (#3023)

You can find issues and feature requests related to this release on our roadmap

Don't miss a new icingaweb2-module-director release

NewReleases is sending notifications on new releases.