Just 4 months have gone by since 1.1.0, and slightly more then 7 months since our first stable release. Icinga Director matured fast and has grown from a small Icinga Web 2 module to a pretty huge project. Yesterday we released version 1.2.0, packed with new features, bug fixes and usability improvements.

Permissions and restrictions

This is now the first release with official support for permissions and restrictions. As an Icinga Administrator it is your Job to define Commands, Service- and Host-templates and to eventually automate all the steps from Import/Sync to Config Deployment. And this is where the Director kicks in, as it is first of all a powerful automation tool.

However, many if not most environments still have at least some tasks that are not automated. Have to deal with coworkers changing their disk check thresholds from 99.8 to 99.9 percent and back twice a day? Need to add 3,000 routers manually over the next three month, after being assign a ticket for each of them? Delegate those daily tasks to others!

Audit log

Configuration preview, Core API inspection or audit log may contain sensitive information. Grant those permissions only to those who need them! Want to have an auditor able to see all the changes without administrative permissions? This is also possible right now. And when it goes to auditing, you can now additionally send the whole audit trail to Syslog in case you want to archive it elsewhere.

 

Performance

Config rendering got a huge performance boost. In real-world environments large configurations deploy nearly 5 times as fast as before. An installation I’m  aware of celebrated it’s first thousand (automated) Director-based deployments today with a history trail of more than half a million mostly automated single changes.

 

Configuration possibilities

It is now possible to define deeply nested assign rules, based on all host and/or service properties. Ever wanted to benefit from the Icinga 2 “apply for” feature? Our friends at Internap contributed code for this feature. Thank you for the good work!

We improved Icinga 2 DSL support in Command definitions, have a look at the support issue #12928 to get an idea about what crazy things this could be used for. Some hidden features like implicit support for skip_key have also been added to this release.

Nested filter with apply forDirector - Icinga DSL Cluster Check Override inherited service vars Apply-for - Preview

 

Ever wanted to override a specific property on a service you inherited from a Host template? This and more similar features are now available!

 

DNS - Property ModifierAutomation

When working with Import/Sync you’ll discover many small improvements. There are new property modifiers, and they can now optionally create new properties instead of replacing the original one. When working with data fields in addition to usability improvements you’ll find the possibility to refer other objects in a drop-down when filling Array or String Custom Variables.

 

Testing

More and more developers are contributing code to the Icinga Director. We therefore simplified the way to launch our unit tests and provided related documentation.

 

GUI and usability

Form error handling got a lot of tweaking, eventual exceptions are caught in various places and presented in a readable way. The deployment button is now easier to find, configuration preview has been improved and allows a full config diff even before deploying the configuration.

Loop detection Multiedit - imports Confirm field removal

 

Inheritance loops are now shown in a nice way and can be resolved in the GUI. A new hidden gem is the multi-edit functionality. Press SHIFT/CTRL while selecting multiple hosts and modify imports, custom vars and other properties for all of them at once. Errors or warnings in all historic startup logs now link directly to the related config file at the time being, pointing to the referred line.

 

Related modules

There are now more additional modules implementing Director Hooks. AWS import for EC2 instances, ELBs and Autoscaling Groups. File import for CSV, JSON, YAML and XML. We heard from various successful Import source implementations in custom projects and would love to see more of those being publicly available!

 

Import from AWS Fileshipper - Import files

 

Download

The Director v1.2.0 is available here, and you can find it’s GIT repository at GitHub.