Icinga Director has been designed to make Icinga 2 configuration handling easy

Overview

Icinga Director

Icinga Director has been designed to make Icinga 2 configuration handling easy. It tries to target two main audiences:

  • Users with the desire to completely automate their datacenter
  • Sysops willing to grant their "point & click" users a lot of flexibility

What makes Icinga Director so special is the fact that it tries to target both of them at once.

Icinga Director

Read more about Icinga Director in our Introduction section. Afterwards, you should be ready for getting started.

Documentation

Please have a look at our Installation instructions and our hints for how to apply Upgrades. We love automation and in case you also do so, the Automation chapter could be worth a read. When upgrading, you should also have a look at our Changelog.

You could be interested in understanding how the Director works internally. Working with agents is a topic that affects many Icinga administrators. Other interesting entry points might be Import and Synchronization, our CLI interface, the REST API and last but not least our FAQ.

A complete list of all our documentation can be found in the doc directory.

Contributing

Icinga Director is an Open Source project and lives from your contributions. No matter whether these are feature requests, issues, translations, documentation or code.

Addons

The following are to be considered community-supported modules, as they are not supported by the Icinga Team. At least not yet. But please give them a try if they fit your needs. They are being used in productive environments:

  • AWS - Amazon Web Services: provides an Import Source for Autoscaling Groups on AWS
  • File-Shipper: allows Director to ship additional config files with manual config with its deployments
  • PuppetDB: provides an Import Source dealing with your PuppetDB
  • vSphere: VMware vSphere Import Source for Virtual Machines and Host Systems
Comments
  • Rollout via Powershell Script and Self Service API not possible

    Rollout via Powershell Script and Self Service API not possible

    Expected Behavior

    The Powershell Script creates the Host in the Director, the certs are generated and the configuration gets pushed to the client

    Current Behavior

    i used the most recent Powershell Script from Github with the API from the Host Template

    exit Icinga2AgentModule -DirectorUrl 'https://FQDN/icingaweb2/director/' -DirectorAuthToken '85123c1123cf67bb88f85961ab576631de543c74' ` -RunInstaller

    Script returns the following output, while no certifcates are generated:

    Notice: Started script run...
    Notice: Setting internal Agent Name to XXXX.domain.local
    Notice: Trying to fetch Host IP-Address for hostname: XXXX.domain.local
    Notice: Creating host XXXX.domain.local over API token inside Icinga Director.
    Notice: Writing host API-Key "c4076aa65c6705cfaaf7f3550d52fdcf87977bae" to "C:\ProgramData\icinga2\etc\icinga2\icingadir
    ector.token"
    Notice: Found Icinga 2 Agent version 2.6.2 installed at C:\Program Files\ICINGA2\
    Notice: Icinga 2 Agent is up-to-date. Nothing to do.
    Notice: Skipping certificate generation. One or more of the following arguments is not set: -AgentName <name> -CAServer
    <server> -Ticket <ticket>
    Notice: icinga2.conf did not change or required parameters not set. Nothing to do
    Error: information/cli: Icinga application loader (version: v2.6.2)
    information/cli: Loading configuration file(s).
    information/ConfigItem: Committing config item(s).
    critical/SSL: Error on bio X509 AUX reading pem file 'C:\ProgramData\icinga2\etc/icinga2/pki/XXXX.domain.local.crt': 335
    58530, "error:02001002:lib(2):func(1):reason(2)"
    critical/config: Error: Cannot get certificate from cert path: 'C:\ProgramData\icinga2\etc/icinga2/pki/XXXX.domain.local.crt'.
    Location: in C:\ProgramData\icinga2\etc/icinga2/icinga2.conf: 27:1-27:24
    C:\ProgramData\icinga2\etc/icinga2/icinga2.conf(25):   endpoints = [ "XXXX.domain.local" ]
    C:\ProgramData\icinga2\etc/icinga2/icinga2.conf(26): }
    C:\ProgramData\icinga2\etc/icinga2/icinga2.conf(27): object ApiListener "api" {
                                                         ^^^^^^^^^^^^^^^^^^^^^^^^
    C:\ProgramData\icinga2\etc/icinga2/icinga2.conf(28):   cert_path = SysconfDir + "/icinga2/pki/XXXX.domain.local.crt"
    C:\ProgramData\icinga2\etc/icinga2/icinga2.conf(29):   key_path = SysconfDir + "/icinga2/pki/XXXX.domain.local.key"
    
    
    critical/config: 1 error
    Ausnahme beim Aufrufen von "switchIcingaDebugLog" mit 0 Argument(en):  "Unable to process Icinga 2 debug configuration.
    The icinga2.conf is corrupt! Please check the icinga2.log"
    

    Your Environment

    • Director version (System - About): 1.3.1
    • Icinga Web 2 version and modules (System - About): 2.4.1
    • Icinga 2 version (icinga2 --version): 2.7.0
    • Operating System and version: CentOS7
    opened by cptnkoiz 51
  • Data Type

    Data Type "Dictionary" to allow for nested variables

    This issue has been migrated from Redmine: https://dev.icinga.com/issues/12093

    Created by lebvanih on 2016-07-04 11:05:38 +00:00

    Assignee: (none) Status: New Target Version: (none) Last Update: 2016-08-10 19:27:13 +00:00 (in Redmine)


    Hello,

    We are currently trying to import our running configuration in Icinga Director (1.1.0). Our configuration rely on dictionaries and "nested variables" in our hosts. These are used in our "apply for" rules. The issue is, that as from what we saw (I checked on this tracker and in the example), there is at the moment no options to reflect this kind of configuration in Director. The example provided in the documentation of Director only refer to Array.

    Our configuration is mostly based on the following example from the official documentation (see [[http://docs.icinga.org/icinga2/latest/doc/module/icinga2/toc#!/icinga2/latest/doc/module/icinga2/chapter/monitoring-basics#using-apply-for-custom-attribute-override]]):

    vars.interfaces["GigabitEthernet0/2"] = {
         iftraffic_units = "g"
         iftraffic_community = IftrafficSnmpCommunity
         iftraffic_bandwidth = 1
         vlan = "internal"
         qos = "disabled"
      }
    

    We also use this kind of structure:

    vars.an_ncpa = {
        token = "secret"
        load = { warning=10, critical=20 }
        cpuload = { warning=80, critical=85 }
        disk["/"] = { disk_warning="15%", disk_critical="10%" }
        disk["/home"] = { disk_warning="15%", disk_critical="10%" }
      }
    

    The structure above was used for three reasons in our configuration:

    1. Easy to ready (for us at least)
    2. No need to prefix all variable
    3. Valid with Apply For.

    I tried to workaround with a data field named like this: "an_ncpa.token", but it get renamed to "an_npcatoken" as soon as the configuration is rendered. Is there any plan to allow dictionary creation in Icinga Director and same question for the "nested variable" (dictionary inside a dictionary for example) ?

    If this kind of data structure is not "valid" could you please guide us on what we should use instead?

    Attachments


    Relations:

    enhancement queue/wishlist 
    opened by icinga-migration 51
  • [dev.icinga.com #11332] Support dependencies

    [dev.icinga.com #11332] Support dependencies

    This issue has been migrated from Redmine: https://dev.icinga.com/issues/11332

    Created by tgelf on 2016-03-08 16:24:01 +00:00

    Assignee: (none) Status: New Target Version: (none) Last Update: 2016-11-30 09:00:58 +00:00 (in Redmine)


    They have been forgotten...

    Changesets

    2016-12-29 22:07:12 +00:00 by mdetrano cb6f04cf524f5280f0d660c645b0186efd19ccef

    Implement Icinga Dependency Configuration
    
    refs #11332
    

    Relations:

    enhancement 
    opened by icinga-migration 35
  • [dev.icinga.com #12095] boolean custom field and assign rules does not work

    [dev.icinga.com #12095] boolean custom field and assign rules does not work

    This issue has been migrated from Redmine: https://dev.icinga.com/issues/12095

    Created by Tuxdiver on 2016-07-05 09:25:49 +00:00

    Assignee: (none) Status: New Target Version: 1.3.1 Last Update: 2016-11-30 08:37:27 +00:00 (in Redmine)


    Using a custom field of type boolean and trying to use this in an apply rule does not work, because director always adds quotes around the value part:

        assign where host.vars.test_boolean == "true"
    

    I think, this should be:

        assign where host.vars.test_boolean == true
    

    Solution: remember the field type while generating the code for the apply rule

    bug 
    opened by icinga-migration 32
  • Schema migrations fail when upgrading från 1.8.1 to 1.9.0

    Schema migrations fail when upgrading från 1.8.1 to 1.9.0

    Applying schema migrations in the GUI, after upgrading från 1.8.1 to 1.9.0, results in the following error:

    Migration 174 failed (SQLSTATE[42701]: Duplicate column: 7 ERROR: column "uuid" of relation "icinga_zone" already exists) while running ALTER TABLE icinga_zone ADD COLUMN uuid bytea UNIQUE CHECK(LENGTH(uuid) = 16)

    Your Environment

    • Director version (System - About): 1.9.0
    • Icinga Web 2 version and modules (System - About): 2.9.5
    • Icinga 2 version (icinga2 --version): 2.13.2-1
    • Operating System and version: CentOS Linux release 7.9.2009 (Core)
    • Webserver, PHP versions: Apache HTTP Server 2.4.6, PHP 7.3.29
    • Database: PostgreSQL server 9.2.24
    bug 
    opened by maggu 31
  • Setup script defining wrong and missing variables/ using deprecated attributes

    Setup script defining wrong and missing variables/ using deprecated attributes

    Master:

    Application information:
      Installation root: /usr
      Sysconf directory: /etc
      Run directory: /run
      Local state directory: /var
      Package data directory: /usr/share/icinga2
      State path: /var/lib/icinga2/icinga2.state
      Modified attributes path: /var/lib/icinga2/modified-attributes.conf
      Objects path: /var/cache/icinga2/icinga2.debug
      Vars path: /var/cache/icinga2/icinga2.vars
      PID path: /run/icinga2/icinga2.pid
    
    System information:
      Platform: Ubuntu
      Platform version: 16.04.4 LTS (Xenial Xerus)
      Kernel: Linux
      Kernel version: 4.4.0-042stab127.2
      Architecture: x86_64
    
    Build information:
      Compiler: GNU 5.3.1
      Build host: 9c880c2f42f5
    
    Icinga2 version: r2.8.4-1
    Director version: master
    Icingaweb2 version: 2.5.3
    

    Client/Agent:

    Application information:
      Installation root: /usr
      Sysconf directory: /etc
      Run directory: /run
      Local state directory: /var
      Package data directory: /usr/share/icinga2
      State path: /var/lib/icinga2/icinga2.state
      Modified attributes path: /var/lib/icinga2/modified-attributes.conf
      Objects path: /var/cache/icinga2/icinga2.debug
      Vars path: /var/cache/icinga2/icinga2.vars
      PID path: /run/icinga2/icinga2.pid
    
    System information:
      Platform: Ubuntu
      Platform version: 16.04.4 LTS (Xenial Xerus)
      Kernel: Linux
      Kernel version: 4.4.0-042stab127.2
      Architecture: x86_64
    
    Build information:
      Compiler: GNU 5.3.1
      Build host: 9c880c2f42f5
      
    Icinga2 version: r2.8.4-1
    

    Problem:

    I tried using the setup script within the Icinga2 director to configure an agent, but with no success. The script uses wrong variables and doesn't define a zone for the master.

    The script uses attributes which (Icinga2 says so itself) are deprecated:

    warning/ApiListener: Attribute 'key_path' for object 'api' of type 'ApiListener' is deprecated and should not be used.
    warning/ApiListener: Attribute 'ca_path' for object 'api' of type 'ApiListener' is deprecated and should not be used.
    warning/ApiListener: Attribute 'cert_path' for object 'api' of type 'ApiListener' is deprecated and should not be used.
    warning/ApiListener: Please read the upgrading documentation for v2.8: https://www.icinga.com/docs/icinga2/latest/doc/16-upgrading-icinga-2/
    

    Also, the script defines two zones for 'icinga-client' which leads to an error because 'icinga-client' is not allowed to be in two zones.

    Example:

    ICINGA2_NODENAME='icinga-client'
    ICINGA2_CA_TICKET='69dd6ede95235f8768c4ce2ff55cde4027ddbb51'
    ICINGA2_PARENT_ZONE='client-zone'
    ICINGA2_PARENT_ENDPOINTS='icinga-client'
    ICINGA2_CA_NODE='icinga-master'
    
    ZONES_ICINGA2=`cat << EOF
    /** Icinga 2 Config - proposed by Icinga Director */
    
    // TODO: improve establish connection handling
    object Endpoint "${ICINGA2_NODENAME}" {}
    object Endpoint "${ICINGA2_CA_NODE}" {}
    object Zone "${ICINGA2_PARENT_ZONE}" {
      endpoints = [ "$ICINGA2_PARENT_ENDPOINTS" ]
      // TODO: all endpoints in master zone
    }
    
    object Zone "director-global" { global = true }
    
    object Zone "${ICINGA2_NODENAME}" {
      endpoints = [ "$ICINGA2_NODENAME" ]
      parent = "${ICINGA2_PARENT_ZONE}"
    }
    EOF
    `
    

    In my opinion (and after checking in with a colleague who has access to an older version of Icinga2 and director in which the variables are set correctly) ICINGA2_PARENT_ENDPOINTS should not say 'icinga-client' and instead list the 'icinga-master'.

    It should also define the 'master-zone' which isn't even mentioned in the script, except for a // TODO comment. Is the script even maintained?

    What I tried:

    I checked if there was any problem with syncing the names to the corresponding variables by manually editing the zone (within the director) in which the client resides.

    The script changed - so somehow the function which defines the setup script sets ICINGA2_PARENT_ENDPOINTS wrong.

    I got it to run by manually changing the variables but this defies the purpose of the setup script.

    bug 
    opened by nc-gsf 29
  • deployment hangs forever

    deployment hangs forever

    Expected Behavior

    click deploy, deploy either succeeds or fails.

    Current Behavior

    status wheel spinning and says status "Unknown, still waiting for config check outcome"

    Steps to Reproduce (for bugs)

    Click on re-deploy for a specific version and it hangs. Tried restarting Icinga2, upgrading director, restarting apache2, different web browsers, logout/log back in. Tried adding '?checkforchanges' as referenced in a previous bug, and didn't work.

    Your Environment

    • Director version (System - About): master
    • Icinga Web 2 version and modules (System - About): 2.5.1
    • Icinga 2 version (icinga2 --version): r2.8.1-1
    • Operating System and version: Ubuntu 16.04.3
    • Webserver, PHP versions: apache2 2.4.18-2ubuntu3.5 php7.0 7.0.22-0ubuntu0.16.04.1
    bug 
    opened by brad-plumewifi 29
  • Add support for expressions

    Add support for expressions

    Any rendered string can contain variables encapsulated with "$$" characters

    Example: Display Name declared with Port $$host.vars.tcp_port$$ check will be processed as "Port " + host.vars.tcp_port + " check"

    API:

     ./director-curl POST director/service?name=my_service '{"display_name": "Port $$host.vars.tcp_port$$ check" }'
    

    Rendered config:

      apply Service "my_service" {
          import "my_template"
    
          display_name = "Port " + host.vars.tcp_port + " check"
      }
    

    This feature will be needed to add support of Service Apply Rules. See https://dev.icinga.org/issues/11976

    Custom handling with $$var$$ was prefered over native Icinga 2 macro support ($var$ or macro($var$)) because macro doesn't resolve variables declared in apply for rules.

    E.g: With apply Service "name" for (config => host.vars.configs), config won't be resolvable with either "$config$" or macro("$config$")

    refs #11976

    opened by ardeois 26
  • Syncing datalists fails with

    Syncing datalists fails with "Trying to recreate director_datalist_entry"

    Hello!

    Expected Behavior

    Syncing Director Datalist entries should sync and purge on import.

    Current Behavior

    Instead an error is thrown on the second import:

    This Sync Rule failed when last checked at 2017-07-31 15:41:51: 
    Trying to recreate director_datalist_entry ({"list_id":"4","entry_name":"92033000344"})
    

    Possible Solution

    Steps to Reproduce (for bugs)

    1. Create an import source ( I used an sql select). For example
    SELECT 'customer1' AS entry_name, 'customer1_name' AS entry_value, '3' AS list_id
    UNION SELECT 'customer2' AS entry_name, 'customer2_name' AS entry_value, '3' AS list_id
    UNION SELECT 'customer3' AS entry_name, 'customer3_name' AS entry_value, '3' AS list_id
    
    1. Create a syncrule "Datalists from DB"
    Rule name: Datalists from DB
    Object Type: Datalist entry
    Update policy: doesn't matter, none work
    Purge: yes
    
    1. As properties i used:

    Source field | Destination ------------- | ------------- ${entry_name} | entry_name ${list_id} | list_id ${entry_value} | entry_value string | format

    1. The first run works fine, all items are imported. The second run, fails with
    This Sync Rule failed when last checked at 2017-07-31 15:41:51: Trying to recreate director_datalist_entry ({"list_id":"4","entry_name":"92033000344"})
    

    Context

    The source is a Postgresql database. Icingaweb Backend is Mysql. But I don't think that this relates to the problem.

    Your Environment

    • Director version (System - About): 1.3.1 (master branch - 5ccb94dfbdf8bb3ed337679bf74579c3c95744e8 )
    • Icinga Web 2 version and modules (System - About): 2.4.1
    • Icinga 2 version (icinga2 --version): r2.6.3-1
    • Operating System and version: Ubuntu 16.04.2
    • Webserver, PHP versions: Nginx 1.10.3 with php7.0-fpm

    Thanks for your help!

    Cheers Hannes

    bug area/import and sync 
    opened by cyberkov 25
  • Purging Services completely broken in current master

    Purging Services completely broken in current master

    Expected Behavior

    Using current master purging services imported previously using Import/Sync (same Import/Sync rules) is broken. New Services are imported/synced just fine but old ones (not returned anymore from the datasource) aren't purged.

    Current Behavior

    Old Services which aren't reported anymore by the Import source are still kept around and not purged

    Possible Solution

    Services should be purged

    Steps to Reproduce (for bugs)

    • Create Import Source using e.g. MySQL/REST API (both not working for us)
    • Create Sync Rule creating Services ** Update Policy: Replace (before we had Merge, which didn't work either) ** Purge: Yes ** Purge Action: Delete
    • Run Import + Sync
    • Modify data returned by Import Source (some old rows removed, maybe add some new)
    • Run Import + Sync again
    • New Services are created but removed rows don't delete Services

    Your Environment

    • Director version (System - About): 26e76c611e59d476ceac44150de3c156f9c97ccf
    • Icinga Web 2 version and modules (System - About): 2.10.1
    • Icinga 2 version (icinga2 --version): 2.13.3-1
    • Operating System and version: RHEL 7
    • Webserver, PHP versions: Apache httpd 2.4.6 (RHEL default), PHP 7.3.33
    bug 
    opened by friesoft 24
  • templatetree undefined offset

    templatetree undefined offset

    #0 /usr/share/icingaweb2/modules/director/library/Director/Resolver/TemplateTree.php(186): Icinga\Application\ApplicationBootstrap->Icinga\Application\{closure}(8, 'Undefined offse...', '/usr/share/icin...', 186, Array)
    #1 /usr/share/icingaweb2/modules/director/library/Director/Resolver/TemplateTree.php(126): Icinga\Module\Director\Resolver\TemplateTree->getParentsById('83')
    #2 /usr/share/icingaweb2/modules/director/library/Director/Resolver/TemplateTree.php(105): Icinga\Module\Director\Resolver\TemplateTree->getParentsFor(Object(Icinga\Module\Director\Objects\IcingaServiceSet))
    #3 /usr/share/icingaweb2/modules/director/library/Director/Repository/IcingaTemplateRepository.php(40): Icinga\Module\Director\Resolver\TemplateTree->listParentIdsFor(Object(Icinga\Module\Director\Objects\IcingaServiceSet))
    #4 /usr/share/icingaweb2/modules/director/library/Director/Repository/IcingaTemplateRepository.php(79): Icinga\Module\Director\Repository\IcingaTemplateRepository->getTemplatesFor(Object(Icinga\Module\Director\Objects\IcingaServiceSet), false)
    #5 /usr/share/icingaweb2/modules/director/library/Director/Objects/IcingaObjectImports.php(278): Icinga\Module\Director\Repository\IcingaTemplateRepository->getTemplatesIndexedByNameFor(Object(Icinga\Module\Director\Objects\IcingaServiceSet))
    #6 /usr/share/icingaweb2/modules/director/library/Director/Objects/IcingaObjectImports.php(350): Icinga\Module\Director\Objects\IcingaObjectImports->loadFromDb()
    #7 /usr/share/icingaweb2/modules/director/library/Director/Objects/IcingaObject.php(806): Icinga\Module\Director\Objects\IcingaObjectImports::loadForStoredObject(Object(Icinga\Module\Director\Objects\IcingaServiceSet))
    #8 /usr/share/icingaweb2/modules/director/library/Director/Objects/IcingaServiceSet.php(73): Icinga\Module\Director\Objects\IcingaObject->imports()
    #9 /usr/share/icingaweb2/modules/director/library/Director/Objects/IcingaServiceSet.php(121): Icinga\Module\Director\Objects\IcingaServiceSet->getServiceObjects()
    #10 /usr/share/icingaweb2/modules/director/library/Director/IcingaConfig/IcingaConfig.php(695): Icinga\Module\Director\Objects\IcingaServiceSet->renderToConfig(Object(Icinga\Module\Director\IcingaConfig\IcingaConfig))
    #11 /usr/share/icingaweb2/modules/director/library/Director/IcingaConfig/IcingaConfig.php(673): Icinga\Module\Director\IcingaConfig\IcingaConfig->createFileForObjects('serviceSet', Array)
    #12 /usr/share/icingaweb2/modules/director/library/Director/IcingaConfig/IcingaConfig.php(476): Icinga\Module\Director\IcingaConfig\IcingaConfig->createFileFromDb('serviceSet')
    #13 /usr/share/icingaweb2/modules/director/library/Director/IcingaConfig/IcingaConfig.php(269): Icinga\Module\Director\IcingaConfig\IcingaConfig->generateFromDb()
    #14 /usr/share/icingaweb2/modules/director/library/Director/IcingaConfig/IcingaConfig.php(305): Icinga\Module\Director\IcingaConfig\IcingaConfig->hasBeenModified()
    #15 /usr/share/icingaweb2/modules/director/library/Director/IcingaConfig/IcingaConfig.php(258): Icinga\Module\Director\IcingaConfig\IcingaConfig->storeIfModified()
    #16 /usr/share/icingaweb2/modules/director/application/controllers/ConfigController.php(281): Icinga\Module\Director\IcingaConfig\IcingaConfig::generate(Object(Icinga\Module\Director\Db))
    #17 /usr/share/icingaweb2/library/vendor/Zend/Controller/Action.php(507): Icinga\Module\Director\Controllers\ConfigController->storeAction()
    #18 /usr/share/php/Icinga/Web/Controller/Dispatcher.php(76): Zend_Controller_Action->dispatch('storeAction')
    #19 /usr/share/icingaweb2/library/vendor/Zend/Controller/Front.php(937): Icinga\Web\Controller\Dispatcher->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
    #20 /usr/share/php/Icinga/Application/Web.php(389): Zend_Controller_Front->dispatch(Object(Icinga\Web\Request), Object(Icinga\Web\Response))
    #21 /usr/share/php/Icinga/Application/webrouter.php(109): Icinga\Application\Web->dispatch()
    #22 /usr/share/icingaweb2/public/index.php(4): require_once('/usr/share/php/...')
    #23 {main}
    

    Expected Behavior

    Configuration deploys / renders

    Current Behavior

    undefined offset in templatetree:186

    Context

    After pulling to latest master branch (was using master branch from several months ago) unable to push/render configuration.

    Your Environment

    • Director version (System - About):master

    • Icinga Web 2 version and modules (System - About):2.4.1

    • Icinga 2 version (icinga2 --version):v2.6.3

    • Operating System and version: System information: Platform: CentOS Linux Platform version: 7 (Core) Kernel: Linux Kernel version: 3.10.0-514.6.1.el7.x86_64 Architecture: x86_64

    • Webserver, PHP versions: httpd-2.4.6-45.el7.centos.4.x86_64 php-5.4.16-42.el7.x86_64

    opened by mbassett 22
  • Deploy does not work with error

    Deploy does not work with error "Control character error, possibly incorrectly encoded"

    Expected Behavior

    Deployment works without errors

    Current Behavior

    When deploying via webinterface or cli, we get this error message:

    # /usr/bin/php /usr/share/icingaweb2/bin/icingacli director config render --debug --vebose
    ERROR: Icinga\Module\Director\Exception\JsonEncodeException in /usr/share/icingaweb2/modules/director/library/Director/Exception/JsonException.php:12 with message: Control character error, possibly incorrectly encoded
    

    Steps to Reproduce (for bugs)

    We have an environment where we can reproduce this. It works with director v1.8.1. We now dumped and imported the database in an environment with director v1.9.1, and get this error.

    Is there a way to get more information, like a stacktrace or something?

    Your Environment

    • Director version (System - About): 1.9.1
    • Icinga Web 2 version and modules (System - About): 2.11.2
    • Icinga 2 version (icinga2 --version): 2.13.6
    • Operating System and version: Debian 11
    • Webserver, PHP versions: Apache, PHP 7.4.33
    opened by neubi4 0
  • Get PHP error all the time in Icinga Director Deplyments

    Get PHP error all the time in Icinga Director Deplyments

    Hi all, after deploying changes in Director, I get the following error all the time (since around 2 Months)

    Jan 04 11:17:22 advsrmon122 icingadirector[888]: PHP Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/icingaweb2/modules/director/library/Director> Jan 04 11:17:22 advsrmon122 icingadirector[888]: Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/icingaweb2/modules/director/library/Director/Reso> Jan 04 11:17:22 advsrmon122 icingadirector[888]: PHP Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/icingaweb2/modules/director/library/Director> Jan 04 11:17:22 advsrmon122 icingadirector[888]: Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/icingaweb2/modules/director/library/Director/Reso> Jan 04 11:17:22 advsrmon122 icingadirector[888]: PHP Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/icingaweb2/modules/director/library/Director> Jan 04 11:17:22 advsrmon122 icingadirector[888]: Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/icingaweb2/modules/director/library/Director/Reso> Jan 04 11:17:22 advsrmon122 icingadirector[888]: PHP Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/icingaweb2/modules/director/library/Director> Jan 04 11:17:22 advsrmon122 icingadirector[888]: Deprecated: Using ${var} in strings is deprecated, use {$var} instead in /usr/share/icingaweb2/modules/director/library/Director/Reso>

    I use

    image

    opened by github6043 1
  • Deployment fails with

    Deployment fails with "API request failed: Conflicting request, there is already an ongoing package update in process. Please try again later. (RestApiResponse.php:113)"

    Current Behavior

    Deployment fails with "API request failed: Conflicting request, there is already an ongoing package update in process. Please try again later. (RestApiResponse.php:113)"

    image001

    Your Environment

    • Director version (System - About): 1.10.2
    • Icinga Web 2 version and modules (System - About): 2.11.3
    • Icinga 2 version (icinga2 --version): 2.13.6
    • Operating System and version: RHEL 8
    • Webserver, PHP versions: Apache, PHP 8.0
    opened by mwaldmueller 1
  • Merge and replace mode for Basket Restore

    Merge and replace mode for Basket Restore

    Expected Behavior

    Baskets are a great tool, but the way the import works is quite limited. It can be useful to restore objects to a previous state and to import new objects on another system, but there is nearly no possibility to use baskets to improve existing objects.

    When restoring a Basket, I'd like to choose what to do if an object exists already, like what happens for Sync Rules:

    • replace the existing object with the one from the Basket
    • merge the existing object with the one from the Basket (overwriting the overlapping custom vars with the ones coming from the Basket)
    • merge the existing object with the one from the Basket (overwriting the overlapping custom vars with the ones coming from the existing object)

    With this feature, I can add new features on objects that have been modified on different systems. E.G.: I create a set of templates for monitoring network objects and import them on different Directors. The actual owner of each Director customize values and Datafields of the imported objects. I add a new feature on the set of template, then I can update all the Director where I imported the original set of templates.

    Current Behavior

    restoring a basket overwrites the existing objects with the ones coming from Director.

    Your Environment

    • Director version 1.9.1
    • Icinga Web 2 version 2.10.1
    opened by wp-perc 0
  • Adding a user to a notification with the same name gives

    Adding a user to a notification with the same name gives "Invalid related object: 43624"

    Expected Behavior

    1. I add notification 43624
    2. I roll out the config
    3. Icinga 2 complains about no users
    4. I create user 43624
    5. I add user 43624 to notification 43624
    6. I roll out the config
    7. Icinga 2 accepts it

    Current Behavior

    1. I add notification 43624
    2. I roll out the config
    3. Icinga 2 complains about no users
    4. I create user 43624
    5. I add user 43624 to notification 43624
    6. Director says Invalid related object: 43624
    7. I roll out the config
    8. Icinga 2 accepts it
    9. Director still says Invalid related object: 43624

    Possible Solution

    Steps to Reproduce (for bugs)

    Your Environment

    • Director version (System - About): 1.10.2
    • Icinga Web 2 version and modules (System - About): 2.11.2
    • Icinga 2 version (icinga2 --version):
    • Operating System and version:
    • Webserver, PHP versions:
    opened by Al2Klimov 0
Releases(v1.10.2)
  • v1.10.2(Nov 3, 2022)

    This is a minor bugfix release, addressing some Sync-related issues: purge for objects with uppercase characters now works as expected, automated Sync jobs run again, and manually triggered Sync has been fixed on PostgreSQL.

    Some UI glitches have been addressed, and a few problems appearing only in certain conditions - related to Configuration Baskets, our Self Service REST API and the Activity Log.

    Fixed issues

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

    UI

    • FEATURE: improve Service Set table layout (#2648)
    • FIX: modifying single time-period ranges had no effect (#2525)
    • FIX: activity log pagination is now on a single line (#2649)

    Import and Sync

    • FIX: triggering Sync manually produced an error on PostgreSQL (#2636)
    • FIX: purge stopped working for objects with uppercase characters (#2627)
    • FIX: Notification Apply rule is now possible (wasn't since v1.8) (#2142, #2634)
    • FIX: nested property access with intermediate NULL values now gives NULL (#2474, #2584)
    • FIX: automated Sync jobs stopped working (#2633)

    Configuration Baskets

    • FEATURE: more details shown in error messages related to invalid characters (#2646)
    • FIX: snapshots for Baskets containing Baskets failed since v1.10 (#2644)

    REST API

    • FIX: Self Service API returned invalid JSON on PHP 8.1 (#2614)

    Internals

    • FIX: issue with empty activity log, deprecate outdated method (#2630)
    Source code(tar.gz)
    Source code(zip)
  • v1.10.1(Oct 7, 2022)

    This is a minor bugfix release, addressing issues with modifying services via the monitoring module, Sync problems and a copy and paste error in the DB schema, which caused problems for fresh installations since v1.10.

    Please note that a long-standing issue for our Sync Rules has been fixed: with "merge" policy, NULL properties have been ignored for quite some time. This has now been fixed. If in doubt, please preview your Sync Rules to make sure, that they behave as expected.

    This release brings a small schema migration, cleaning up invalid Sync history entries. If in doubt, please create a database backup first.

    Fixed issues

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

    Import and Sync

    • FIX: sync lower-cased all object names since v1.10 (#2608)
    • FIX: sync for Datalist entries has been fixed (#2618)
    • FIX: Sync now applied NULL values with merge policy (#2623)
    • FIX: Sync created Sync History entries for every preview (#2632)
    • FIX: "Purge" stopped working for Sync (#2627)

    UI

    • FIX: "Modify" Services via the monitoring module (#2615, #2619)

    Configuration Baskets

    • FIX: restore Import/Sync/Job when exported with v1.10 (#2620)
    • FIX: restoring Job with ImportSource or SyncRule (#2528)

    Database Schema

    • FIX: new DB schema failed due to duplicate line in SQL statement (#2609)
    Source code(tar.gz)
    Source code(zip)
  • v1.10.0(Sep 21, 2022)

    An advanced Sync Preview is one of the features I'd love to highlight in v1.10.0. We have been able to leverage our Configuration Branch support as an underlying technology for this:

    Sync Preview - List

    In case you have lots of changes, you can browse all of them - formerly this hasn't been possible. Also, this now allows you to inspect every single upcoming change before applying the Sync:

    Sync Preview - Details

    This has been possible based on the code we implemented to support the Director Branches module. In case you never heard about it, here you can find the related announcement.

    This release also contains a lot of related fixes and new Features. It is now possible to deal with Service Sets in Configuration Branches, the commit remark can be proposed with a merge request, and the Activity Log shows not only who has merged the change, but also the original author.

    Powerful new features have been implemented for those who love to orchestrate the Director from the outside. Please check our CLI and REST API documentation for related details, especially look for --with-services (withServices) and --allow-overrides (allowOverrides).

    CLI now supports JSON on STDIN, REST API can request detailed stack traces in case an error occurs.

    Breaking Changes

    • Module and system dependencies have been raised, Upgrading and Installation documentations contain related details

    Fixed issues

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

    User Interface

    • FIX: links from Service Previews (Icinga DSL) to templates (#2554)
    • FIX: daemon health visualization on systems w/o /proc filesystem (#2544)

    Import and Sync

    • FIX: Sync now compares keys in a case-insensitive way (#2598, #2419, #1140)
    • FIX: Sync now preserves Self Service API keys in override mode (#2590)
    • FEATURE: clone a row for nested Dictionary/Hash entries (#2555)
    • FEATURE: Sync in "override" mode now preserves Self Service API keys (#2590)
    • FEATURE: split a row in multiple ones, based on a Dictionary (#2555)
    • FEATURE: it's now possible to sync to a configuration branch (#2552)
    • FEATURE: Sync preview now allows to navigate single changes (#2607)

    Configuration Baskets

    • BREAKING: configuration baskets no longer contain originalId (#2549)
    • FEATURE: exporting/snapshot-logic has been centralized (#2549)

    Configuration Branches

    • FIX: PostgreSQL now allows for the same object in multiple branches (#2605)
    • FEATURE: merge comments can now be proposed (#2604)
    • FEATURE: activity log now shows author and committer (#2606)

    Integrations

    • FIX: Monitoring Hooks are no longer provided with disable Director UI (#2597)
    • FIX: cleanup for IcingaDbCube (#2484)

    Kickstart

    • FIX: breaking change in ipl/html, affected setups with ro INI files (#2595)
    • FEATURE: better explanation for missing DSL bodies fetched from core (#2557)

    REST API

    • FIX: addressing service templates by name has been fixed (#2487)
    • FIX: allow for object_name in body only (#2576)
    • FIX: notice on PHP 8.1 (#2575)
    • FEATURE: Stack traces can now be requested (#2570)
    • FEATURE: Hosts can now be exported with their services (#2568)
    • FEATURE: "magic" variable overrides are now supported (#2569)

    CLI

    • FIX: config deploy doesn't try to wait in case of no deployment (#2522)
    • FIX: renderer now shows full service sets (#2550)
    • FEATURE: improved wording for deployment error messages (#2523)
    • FEATURE: JSON can now be shipped via STDIN (#1570)
    • FEATURE: improved readability for some error messages (#2567)
    • FEATURE: allows showing hosts with their services (#2565)
    • FEATURE: allow showing resolved Host services (#2571)
    • FEATURE: "magic" variable overrides are now supported (#2560)
    • FEATURE: error messages are now friendlier (#2567)
    • FEATURE: STDIN support for --json is now available (#1570)

    Activity Log

    • FIX: deleted objects might have been missing related properties (#2559)

    Deployment Log

    • FEATURE: visualization performance has been improved (#2551)

    Internals

    • FEATURE: there is now a centralized Exporter implementation (#2549)
    Source code(tar.gz)
    Source code(zip)
  • v1.9.1(Apr 8, 2022)

    Fixed issues

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

    User Interface

    • FIX: DataList-backed fields failed to validate (#2475)
    • FIX: No Host list limit when adding a single service globally (#2481)
    • FIX: Cleared activity log caused exception (#2505, #2506)
    • FEATURE: Icinga Web 2.10 dark mode support (#2433)

    Configuration Baskets

    • FIX: failed to export Baskets with Service Sets (#2488)
    • FIX: Sync Rule restore from snapshot on name change (#2467)
    • FIX: Do not export UUIDs with Service Sets (#2488)

    CLI

    • FEATURE: Allow to define deployment grace period on CLI (#2499)

    Integrations

    • FIX: Cleanup IcingaDbCubeLinks (#2484)

    DB Schema

    • FIX: applying DB Schema migrations failed on PostgreSQL (#2482)
    Source code(tar.gz)
    Source code(zip)
  • v1.9.0(Feb 17, 2022)

    Breaking Changes

    • Module dependencies have been raised, Upgrading and Installation documentations contain related details

    Fixed issues

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

    Import and Sync

    • FIX: string property modifiers now preserve NULL values (#2371)
    • FIX: "to int" property modifiers now fails for non-string values (#2372)
    • FEATURE: introduce 'disable' as your purge action on Sync (#2285)
    • FEATURE: there is now a simple "group by" Property Modifier (#2317)

    Configuration Baskets

    • FIX: Notification Apply Rules have not been exported (#2335)
    • FIX: Restore now supports the set_if_format switch (#2291)
    • FEATURE: it's now possible to purge objects of specific types (#2201)
    • FEATURE: exporting Users, User-Templates and -Groups is now possible (#2328)
    • FEATURE: Data Field Categories are now supported (#2256)

    Permissions and Restrictions

    • FEATURE: allow using monitoring module permissions (#2304)
    • FEATURE: it's now possible to grant (global) access to scheduled downtimes (#2086)

    Configuration / Templating

    • FEATURE: offering choices based on a specific imports is now possible (#1178)

    User Interface

    • FIX: allow switching DB config while connection is failing (#2300)
    • FIX: Links to duplicate services in Sets didn't check for deactivation (#2323)
    • FIX: SQL error for Data Fields table on PostgreSQL (#2310)
    • FIX: SQL error when searching for Data Field Categories (#2367)
    • FIX: Icon used for Notifications has been changed (#2455)
    • FEATURE: show "deprecated" flag on object attribute inspection (#2312)
    • FEATURE: Service Template for single Host services provides auto-completion (#1974)

    CLI

    • FEATURE: config deployment now allows to --wait for an Icinga restart (#2314)

    Activity log

    • FEATURE: Activity log now allows for remarks (addon module required, #2471)

    Documentation

    • FIX: configure the daemon with main setup instructions (#2296, #2320)

    Internals

    • FEATURE: PHP 8.1 is now supported, works once available in Icinga Web (#2435)
    • FEATURE: Config Branches have been implemented, leveraged via Hook/Addon (#2376)
    • FEATURE: UUIDs have been implemented for most Icinga objects, more to come
    • FEATURE: new Deployment Hook, triggers onCollect(ing) Icinga startup info (#2315)
    Source code(tar.gz)
    Source code(zip)
  • v1.8.1(Jul 13, 2021)

    Fixed issues

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

    User Interface

    • FIX: show Override button when all Fields belong to Field Categories (#2303)
    • FIX: don't fail when showing a Host overriding multiple inherited groups (#2253)
    • FIX: deal with inherited values which are invalid for a select box (#2288)
    • FIX: Service Set preview inline Service Template links (#2334)
    • FIX: show Services applied with Rules involving applied Hostgroups (#2313)
    • FIX: show "deactivated" services as such also for read-only users (#2344)
    • FIX: Overrides for Services belonging to Sets on root Host Templates (#2333)
    • FIX: show no header tabs for search result in web 2.8+ (#2141)
    • FIX: show and link dependencies for web 2.9+ (#2354)

    Icinga Configuration

    • FIX: rare race condition, where generated config might miss some files (#2351)

    Icinga API

    • FIX: use Icinga 2's generate-ticket API, required for v2.13.0 (#2348)

    Import and Sync

    • FIX: Purge didn't remove more than 1000 services at once (#2339)

    Automation, User Interface

    • FIX: error message wording on failing related (or parent) object ref (#2224)

    REST API

    • FIX: creating scheduled downtime via api failed (#1879)
    Source code(tar.gz)
    Source code(zip)
  • v1.8.0(Dec 16, 2020)

    Fixed issues

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

    User Interface

    • FIX: It's now possible to set Endpoint ports > 32767 on PostgreSQL (#928)
    • FIX: Group list is no longer prefixed with a comma (#2133)
    • FIX: Change wording, avoid black/whitelist (#2134, #2135)
    • FIX: Inherited values in sets (arrays) are now shown (#1310)
    • FIX: Column layout broke with Web 2.8, has been fixed (#2065)
    • FIX: filter suggestion gave wrong values for DataList fields (#1918)
    • FIX: clone-related scheduled downtime links have been fixes (#1894)
    • FEATURE: Data Fields can now be grouped into categories (#1969)
    • FEATURE: Inspect is now available for Packages, Stages and Files (#1995)
    • FEATURE: Allow to disable the Director frontend / UI (#2007)
    • FEATURE: Endpoints table now shows the object type (e.g. external) (#2050)
    • FEATURE: make sure that form label and fields stay close together (#2136)
    • FEATURE: show more content, reduce padding (expect on mobile) (#2140)
    • FEATURE: location details for non-Director services on "Modify" (#1531)
    • FEATURE: Service Set table can now also be searched for Services (#1873)
    • FEATURE: Apply-Rule-based Service Sets now show related Hosts (#2081)
    • FEATURE: Notification Apply Rules as a DirectorObject DataField (#2199)
    • FEATURE: Hint and Error styling has been unified and improved
    • FEATURE: Form field rendering for sets now deals with invalid values
    • FEATURE: Better descriptions for time-based and other fields (#1897, #1264)
    • FEATURE: Daemon tab now gets red instead of yellow when not running (#2238)

    Translations

    • FEATURE: Italian translation is now available (#2080)
    • FEATURE: German translation has been refreshed (#2240)

    CLI

    • FEATURE: Deployment Status and related utilities (#2189)

    Import and Sync

    • FEATURE: allow defining update-only Sync Rules (#2059)
    • FEATURE: New Property Modifier: ListToObject (#2062)
    • FEATURE: Property Modifier: convert binary UUID to HEX presentation (#2138)
    • FEATURE: Property Modifier: get Host by Address (#2210)
    • FEATURE: Property Modifier: skip duplicates (#2215)
    • FEATURE: Property Modifier: trim strings (#1660)
    • FEATURE: Property Modifier: negate boolean (#2227)
    • FEATURE: Property Modifier Reject/Select: improve usability (#2228)
    • FEATURE: Property Modifier: clone rows for every entry of an Array (#2192)
    • FEATURE: Property Modifier: unique array values (#2229)
    • FEATURE: Property Modifier: allow to rename columns (#2242)
    • FEATURE: Import Sources now allows downloading previewed data as JSON (#2096)
    • FEATURE: REST API Import now allows custom headers (#2132)
    • FEATURE: REST API Import can now extract nested properties (#2132)
    • FEATURE: REST API Form remembers passwords without exposing them (#2070)
    • FEATURE: UTF8 validation for failed imports gives better error message (#2143)
    • FEATURE: ArrayByElementPosition now allows filtering by key name (#1721)
    • FEATURE: Use your Director Objects as an Import Source (#2198)
    • FEATURE: Property modifiers are now granted access the current Property Name (#2241)
    • FIX: Import Source preview now catches all errors
    • FIX: Import Source download sends eventual errors as a valid JSON result
    • FIX: LDAP Import is now able to paginate limited results (#2019)

    director_skip-modifier

    Configuration Baskets

    • FIX: Restoring Import Sources creating Modifiers now works (#2053)
    • FEATURE: Support Baskets from Icinca for Windows (#2223)
    • FEATURE: It's now possible to use Notification Templates in Baskets
    • FEATURE: Snapshot status/diff layout has been improved (#2225)

    Authentication and Permissions

    • FIX: Users restricted to Hostgroups can now use related Templates (#2020, #2101)
    • FEATURE: Optionally, restricted users can be allowed to set Groups (#2252)

    director_groups-when-restricted

    Kickstart

    • FEATURE: Friendlier message if object to be removed is still in use (#2206)
    • FEATURE: Kickstart now removes obsolete External Commands (#985)

    Icinga Configuration

    • FIX: Correctly render Service Dependencies with Array-style parent hosts (#2088)
    • FIX: times.begin and times.end are now rendered separately (#2193)
    • REMOVED: magic-apply-for (a hidden deprecated feature) has been removed (#1851)

    Icinga Agent handling

    • FIX: Linux Agent installer now fails when unable to retrieve a certificate
    • FEATURE: Linux Agent installer now supports Alpine Linux (#2216)
    • FEATURE: Icinga for Windows support (#2147)

    REST API

    • FEATURE: Self Service API ignores empty/missing properties (e.g. no address)
    • FEATURE: Search is now also available for the REST API (#1889)
    • FEATURE: Deployment Status is now available (#2187)
    • FEATURE: UTF-8 characters and slashes are no longer escaped (#2243)

    Self Service API

    • FIX: error handling has been fixed (#1728)

    Database Support

    • FIX: Added UTF8 to valid PostgreSQL encodings (used to be UTF-8)

    Background Daemon

    • FIX: Daemon Logger used to not override the given log level (#2139)
    • FEATURE: Daemon: prepare for future reactphp promise versions (#2137)
    • FEATURE: Daemon now logs that it is going to reload itself
    • FEATURE: Now collects the Deployment status from Icinga (#2045, #1988)

    Documentation

    • FEATURE: We now also mention optional/indirect requirements (#2054, #2220)

    direcor_daemon-php8

    Internals

    • FEATURE: Property Modifiers are now able to clone rows (#2060)
    • FEATURE: URL encoding for the Core API has been unified
    • FEATURE: PHP 8.0 has been released and is officially supported (#2233)
    • REMOVED: dipl has been dropped, we're using ipl/incubator since v1.7 (#2209)
    • FIX: typo in DeploymentHook::onSuccessfulDump() has been fixed (#2069)
    • FIX: forms now support dbResourceName (#2064)

    director_self-service_icinga4win

    Source code(tar.gz)
    Source code(zip)
  • v1.7.2(Nov 5, 2019)

    Fixed issues

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

    DB Schema

    • FIX: Rolling out new installations on MySQL v5.6 fails (#1993)

    Icinga Configuration

    • FIX: Render service_name for Notifications (#2006)

    User Interface

    • FIX: Cloning Import Sources failed since v1.7.0 (#1997)

    CLI

    • FIX: Importing Import Sources failed since v1.7.0 (#2005)

    Automation

    • FIX: Fixing linux install script version check (#2008)
    • FIX: Windows Kickstart Script - $GlobalZones was empty (#2002)

    Documentation

    • FIX: Missing single quote in mysql example bug (#2003)
    Source code(tar.gz)
    Source code(zip)
  • v1.7.1(Oct 16, 2019)

    Fixed issues

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

    User Interface

    • FIX: Cloning Sync rules failed since v1.7.0 (#1982)
    • FIX: It wasn't possible to multi-select Hosts belonging to a Group (#1973)
    • FIX: Removed an un-formatted error in case Icinga is unreachable (#1966)
    • FIX: Check for broken configs has been extended to Icinga v2.11.* (#1985)
    • FEATURE: Show a warning when detecting a downgraded installation (#1992)

    Import and Sync

    • FIX: Upper- and Lowercase property modifiers are now multibyte/UTF8-safe (#710)

    Health Check

    • FIX: do not complain about no-due newly created jobs (#1994)

    Background Daemon

    • FIX: Daemon didn't report DB state to systemd (#1983)
    Source code(tar.gz)
    Source code(zip)
  • v1.7.0(Sep 30, 2019)

    Breaking Changes

    • At least PHP 5.6.3 is now required, Director 1.7.x will refuse to work with older versions
    • New dependencies have been introduced, Upgrading and Installation documentations contain related details

    Icinga-Director_dependencies

    Fixed issues

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

    User Interface

    • FIX: Service-related links in Activity Log have been corrected (#1377, #1816)
    • FIX: Activity Log now works for Service Sets (#1287, #1786, #1816)
    • FIX: Assign Filters are no longer mandatory when modifying Service Groups (#930)
    • FIX: Object type for CheckCommands has been corrected in config preview (#1799)
    • FIX: Import preview in combination with Black/Whitelisting (#1825)
    • FIX: Routing/redirection when working with Data Fields (#1847)
    • FIX: Auto-suggestion field was positioned wrongly once scrolled down
    • FIX: Timezone inconsistencie have been fixed (#1700)
    • FIX: Link-like buttons where shortened on Icinga Web 2.7 (#1928)
    • FIX: Search in range-filtered Activity Log no longer fails (#1381)
    • FEATURE: It's now possible to clone a Service to a different Host (#1796)
    • FEATURE: Scheduled Downtimes for "Hosts AND their services" (#1831)
    • FEATURE: Auto-suggestion and more for Fields based on Data Lists (#1846)
    • FEATURE: Show missing dependencies (#1938)

    Translations

    • FEATURE: German translation has been refreshed (#1951)
    • FEATURE: Japanese is now available (#1869)

    Icinga-Director_japanese

    Import and Sync

    • FIX: Avoid caching between multiple runs of sync (#1836)
    • FIX: Imported Rows Table (history) eventually failed on Icinga Web 2 (#1925)
    • FIX: Improved error handling on preview (#1941)
    • FEATURE: When fetching invalid data, Import refers erroneous rows (#1741)
    • FEATURE: Sync now offers a preview, showing what would happen (#1754)
    • FEATURE: ParseURL property modifier has been added (#1746)
    • FEATURE: There is a new generic REST API Import Source (#1818)
    • FEATURE: Sync now supports Notifications and Dependencies (#1212, #925, #1209)
    • FEATURE: Limits (memory, execution time) raised for Import runs via UI (#1954)

    Icinga-Director_Sync-Preview

    Configuration Baskets

    • FIX: snapshots do no longer fail for deleted elements on snapshot (#1940)
    • FEATURE: baskets now support External Commands (#1854)

    REST API

    • FIX: Command Arguments can now be managed via API (#1416)

    CLI

    • FIX: importsource fetch did not apply configured property modifiers (#1819)
    • FEATURE: Service Groups are now available on CLI (#1745)
    • FEATURE: A new background daemon has been introduced (#1905)

    Icinga-Director_daemon-health

    Icinga Configuration

    • FIX: Allow to render single configuration files larger than 16MB (#1787)
    • FIX: Icinga v2.11 version detection for Agent Installation script (#1957)
    • DEPRECATED: magic-apply-for (a hidden feature) is now deprecated (#1850)
    • FEATURE: It's now possible to define Scheduled Downtimes (#347, #1828)
    • FEATURE: Allow to render command definitions as (v1.x-like) strings (#1809)
    • FEATURE: host address now allows 255 characters (#1890)
    • FEATURE: Director now assists with Services applied to parent Zones (#1634)
    • FEATURE: Warn affected setups when affected by a specific core issue (#1958)

    Documentation

    • FIX: Installation instructions have been adjusted to fit MySQL 8

    Internals

    • FIX: support different timezones with MySQL (#1332, #1840)
    • FIX: support importing DSL-based Command Arguments (#1812)
    • FEATURE: a new Hook allows to run custom code at deployment time (#1342, #1843)
    • FEATURE: there is a new low-level IcingaObjectFormHook (#1841)
    Source code(tar.gz)
    Source code(zip)
  • v1.6.2(Mar 1, 2019)

    What's new?

    This patch release addresses a small regression in v1.6.1. Service Sets assigned to single Hosts have been rendered with errors. This happened once we fixed blacklisting from Services in such Sets, shortly before the former release. With v1.6.2 this should now work as expected.

    1.6.2

    Fixed issues

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

    Icinga Configuration

    • FIX: rendering for Service Sets on single Hosts has been fixed (#1788, #1789)
    Source code(tar.gz)
    Source code(zip)
  • v1.6.1(Feb 15, 2019)

    What's new?

    This is a patch release, focused on bug fixes. It addresses many little issues related to the Configuration Basket (available since v1.6.0), brings back our loop detection and improves the Blacklisting feature. It is now possible to grant a read-only view for Services, allowing one to see where they originated. A new REST API endpoint has been introduced for those who want to deal with Service Apply Rules.

    looping_template-edit

    Looping Louie is Looping again!

    Fixed issues

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

    User Interface

    • FIX: restoring a basket fails when there is only one configured DB (#1716)
    • FIX: creating a new Basket with a "Custom Selection" failed with an error (#1733)
    • FIX: some new reserved keywords are now escaped correctly (#1765)
    • FIX: correctly render NOT used in apply rules (fixes #1777)
    • FIX: Activity Log used to ignore Host filters (#1613)
    • FIX: Basket failed to restore depending on PHP version (#1782)
    • FIX: Loop detection works again (#1631)
    • FIX: Snapshots for Baskets with Dependencies are now possible (#1739)
    • FIX: Commands snapshots now carry fields in your Basket (#1747)
    • FIX: Cloning services from one Set to another one no longer fails (#1758)
    • FIX: Blacklisting a Service from a Set on a Host Template is now possible (#1707)
    • FIX: Services from a Set assigned to a single Host can be blacklisted (#1616)
    • FEATURE: Add TimePeriod support to Configuration Baskets (#1735)
    • FEATURE: RO users could want to see where a configured service originated (#1785)
    • FEATURE: introduce director/serviceapplyrules REST API endpoint (#1755)

    REST API

    • FIX: Self Service API now ships optional Service User parameter (#1297)

    DB Schema

    • FIX: it wasn't possible to use the same custom var in multiple notification definitions on PostgreSQL (#1762)

    Icinga Configuration

    • FIX: escape newly introduced Icinga 2 keywords (#1765)
    Source code(tar.gz)
    Source code(zip)
  • v1.6.0(Dec 10, 2018)

    Fixed issues

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

    User Interface

    • FIX: link startup log warning even for non-standard package names (#1633)
    • FIX: searching for fields assigned to a template was broken (#1670)
    • FIX: changing an argument type from String to DSL didn't work (#1640)
    • FIX: incorrect links from template-tree to non-template commands (#1544)
    • FIX: drop useless object-type field for Time Periods (#788)
    • FIX: clean up naming for some tabs (#1312)
    • FIX: "remove" now removes the correct Service Set on a Host (#1619)
    • FIX: do not fail when "inspecting" a pending service (#1641)
    • FIX: a problem when selecting multiple host has been fixed (#1647)
    • FIX: allow to remove renamed Service Sets (#1664)
    • FIX: resolved a side-effect triggered by hooked Custom Fields (#1667)
    • FIX: config diff URL behavior has been corrected (#1704)
    • FEATURE: allow to filter templates by usage (#1339)
    • FEATURE: allow to show SQL used for template tables
    • FEATURE: allow to defined Service Groups for Set members and for Services assigned to Host Templates (#619)
    • FEATURE: it's now possible to choose another target Service Set when cloning a member service (#886)
    • FEATURE: Configuration Baskets with snapshot/import/export capabilities (#1630)
    • FEATURE: Allow to clone a Service from one Set to another one (#886)
    • FEATURE: form descriptions are now shown directly below the field, reverting a change from v1.4.0 (#1510)
    • FEATURE: show sub-sets in Config Preview (#1623)
    • FEATURE: show live Health-Check in the frontend (#1669)

    Import and Sync

    • FIX: Core Api imports flapping only for 2.8+ (#1652)
    • FEATURE: new Property Modifier allows to extract specific Array values (#473)

    CLI

    • FIX: Director Health Check no longer warns about no Imports/Syncs/Jobs (#1607)
    • FEATURE: It's now possible to dump data as fetched by an Import Source (#1626)
    • FEATURE: CLI implementation for Configuration Basket features (#1630)
    • FEATURE: allow to append to or remove from array properties (#1666)

    Icinga Configuration

    • FIX: rendering of disabled objects containing */ has been fixed (#1263)
    • FEATURE: support for Timeperiod include/exclude (#1639)
    • FEATURE: improve legacy v1.x configuration rendering (#1624)

    Icinga API

    • FIX: ship workarounds for issues with specific Icinga 2 versions
    • FIX: clean up deployed incomplete stages lost by Icinga (#1696)
    • FEATURE: allow to behave differently based on Icinga 2 version (#1695)

    Icinga Agent handling

    • FEATURE: ship latest PowerShell module (#1632)
    • FIX: PowerShell module runs in FIPS enforced mode (#1274)

    DB Schema

    • FIX: enforce strict object_name uniqueness on commands (#1496)

    Documentation

    • FEATURE: improve installation docs, fix URLs (#1656, #1655)
    Source code(tar.gz)
    Source code(zip)
  • v1.5.2(Oct 30, 2018)

    Fixed issues

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

    Configuration rendering

    • FIX: Fix compatibility with Icinga v2.6, got broken with v1.5.0 (#1614)

    REST API

    • FIX: No more invalid JSON in some special circumstances (#1314)

    User Interface

    • FIX: Hostgroup assignment cache has been fixed (#1574, #1618)

    DB Schema

    • FIX: missing user/timeperiod constraint. We usually do not touch the schema in minor versions, this has been cherry-picked by accident. However, don't worry - the migration has been tested intensively.
    Source code(tar.gz)
    Source code(zip)
  • v1.5.1(Aug 14, 2018)

    Fixed issues

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

    Icinga Configuration

    • FIX: Switched Variable-Override related constant names broke the feature (#1601)

    User Interface

    • FIX: Custom Fields attached to a Service Template have not been shown for Apply Rules whose name matched the Template Name (#1602)

    Import and Sync

    • FIX: There was an issue with specific binary checksums on MySQL (#1556)
    Source code(tar.gz)
    Source code(zip)
  • v1.5.0(Aug 13, 2018)

    Fixed issues

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

    Security Fixes

    • FIX: users with director/audit permission had the possibility to inject SQL. Thanks to Boyd Ansems for reporting this.

    Permissions and Restrictions

    • FEATURE: Showing the executed SQL query now requires the showsql permission
    • FEATURE: Grant access to Service Set in a controlled way
    • FIX: do not allow a user to create hosts he wouldn't be allowed to see #1451
    • FIX: Hostgroup-based restrictions worked fine when applied, bug was buggy in combination with directly assigned or inherited groups (#1464)

    Icinga Configuration

    • FEATURE: Add 'is false (or not set)' condition for apply rules (#1436)
    • FEATURE: support flapping settings for Icinga >= 2.8.0 (#330)
    • FEATURE: include all itl packages in Linux Agent sample config (#1450)
    • FEATURE: it's now possible to blacklist inherited or applied Services on single hosts (#907)
    • FEATURE: timestamped startup log rendering for upcoming Icinga v2.9.0 (#1478)
    • FEATURE: allow to switch between multiple Director databases (#1498)
    • FEATURE: it's now possible to specify Zones for UserGroups (#1163)
    • FEATURE: dependencies are no longer considered experimental

    User Interface

    • FEATURE: Admins have now access to JSON download links in many places
    • FEATURE: Users equipped with related permissions can toggle "Show SQL" in the GUI
    • FEATURE: A Service Set can now be assigned to multiple hosts at once #1281
    • FEATURE: Commands can now be filtered by usage (#1480)
    • FEATURE: Show usage of Commands over templates and objects (#335)
    • FEATURE: Allow horizontal size increase of Import Source DB Query field (#299)
    • FEATURE: Small UI improvements like #1308
    • FEATURE: Data Lists can be chosen by name in Sync rules (#1048)
    • FEATURE: Inspect feature got refactored, also for Services (#264, #689, #1396, #1397)
    • FEATURE: The "Modify" hook is now available for Services (#689), regardless of whether they have been directly assigned, inherited or applied
    • FEATURE: Config preview links imports, hosts and commands to related objects (#1521)
    • FEATURE: German translation has been refreshed (#1599)
    • FEATURE: Apply Rule editor shows suggestions for Data-List vars (#1588)
    • FIX: Don't suggest Command templates where Commands are required (#1414)
    • FIX: Do not allow to delete Commands being used by other objects (#1443)
    • FIX: Show 'Inspect' tab only for Endpoints with an ApiUser (#1293)
    • FIX: It's now possible to specify TimePeriods for single Users #944
    • FIX: Redirect after not modifying a Command Argument failed on some RHEL 7 setups (#1512)
    • FIX: click on Service Set titles no longer removes them from their host (#1560)
    • FIX: Restoring objects based on compound keys has been fixed (#1597)
    • FIX: Linux Agent kickstart script improved and tweaked for Icinga 2.9 (#1596)

    CLI

    • FEATURE: Director Health Check Plugin (#1278)
    • FEATURE: Show and trigger Import Sources (#1474)
    • FEATURE: Show and trigger Sync Rules ( #1476)

    Import and Sync

    • FIX: Sync is very powerful and allows for actions not available in the GUI. It however allowed to store invalid single Service Objects with no Host. This is now illegal, as it never makes any sense
    • FIX: Performance boost for "purge" on older MySQL/MariaDB systems (#1475)
    • FEATURE: new Property Modifier for IPs formatted as number in Excel files (#1296)
    • FEATURE: new Property Modifier to url-encode values
    • FEATURE: new Property Modifier: uppercase the first character of each word
    • FEATURE: Kickstart Helper now also imports Event Commands (#1389)
    • FEATURE: Preserve _override_servicevars on sync, even when replacing vars (#1307)

    Internals

    • FIX: problems related to users working from different time zones have been fixed (#1270, #1332)
    • FEATURE: Html/Attribute now allows boolean properties
    • FEATURE: Html/Attribute allows colons in attribute names (required for SVGs)
    • FEATURE: Html/Attributes can be prefixed (helps with data-*)
    • FEATURE: Html/Img data:-urls are now supported
    • FEATURE: ipl has been aligned with the upcoming ipl-html library
    • FEATURE: Director now supports multiple Databases, allows to switch between them and to deploy different Config Packages. Other features based on this combined with related documentation will follow.
    Source code(tar.gz)
    Source code(zip)
  • v1.4.3(Jan 23, 2018)

    Fixed issues

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

    User Interface

    • FIX: Pagination used to be broken for some tables (#1273)

    Automation

    • FIX: API calls changing only object relations and no "real" property resulted in no change at all (#1315)
    Source code(tar.gz)
    Source code(zip)
  • v1.4.2(Nov 10, 2017)

    Fixed issues

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

    Configuration rendering

    • FIX: Caching had an influence on context-specific Custom Variable rendering when those variables contained macros (#1257)

    Sync

    • FIX: The fix for #1223 caused a regression and broke Sync for objects without a 'disabled' property (Sets, List members) (#1279)
    Source code(tar.gz)
    Source code(zip)
  • v1.4.1(Oct 23, 2017)

    Fixed issues

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

    Automation

    • FIX: A Sync Rule with merge policy used to re-enable manually disabled objects, even when no Sync Property disabled has been defined (#1223)
    • FIX: SQL error on PostgreSQL when inspecting Template-Choice (#1242)

    Large environments

    • FIX: Director tries to raise it's memory limit for certain memory-intensive tasks. When granted more (but not infinite) memory however this had the effect that he self-restricted himself to a lower limit (#1222)

    User Interface

    • FIX: Assignment filters suggested only Host properties, you have been required to manually type Service property names (#1207)
    • FIX: Hostgroups Dashlet has been shown to users with restricted permissions, clicking it used to throw an error (#1237)
    Source code(tar.gz)
    Source code(zip)
  • v1.4.0(Oct 9, 2017)

    New requirements

    • Icinga Director now requires PHP 5.4, support for 5.3 has been dropped
    • For best performance we strongly suggest PHP 7
    • When using MySQL, please consider slowly moving to at least version 5.5. One of our next versions will introduce official Emoji support 😱😱😱! That's not possible with older MySQL versions. However, 1.4.x still supports 5.1.x

    Fixed issues and related features

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

    Dashboard and Dashlets

    • Multiple new Dashboards have been introduced, their layout has been optimized
    • Dashboards are made aware of newly introduced permissions and try to provide useful hints

    GUI, UX and Responsiveness

    • Many little improvements related to mobile devices have been applied to Dashboards, Forms and Tables
    • Search has been both improved and simplified. On most tables search spawns multiple columns, visible and invisible ones. Multiple search terms are combined in an intuitive way.
    • Pagination (and search) has been added to those tables where it was still missing
    • Some form fields referencing related objects are no longer static drop-down selection elements but offer suggestions as you type. This makes forms faster, especially in larger environments
    • Navigation has been simplified, redirects after form submissions have been improved, more possibilities to jump to related objects have been added
    • Form field description has been moved to the bottom of the screen. Might be easier to overlook this way, but while the former implementation was great for people navigating forms with their Keyboard, it was annoying for Mouse lovers
    • Double-Click a Tab to enlarge it to full width
    • Action Link bar has been unified, all links should now respect permissions
    • All tables showing historic data are now grouped by day
    • Property Modifiers, Sync Rules, Import Sources and more objects now offer description fields. This allows you to explain your colleagues all the magic going on behind the scenes

    Object Types

    • Service Sets got quite some tweaking and bug fixing
    • Groups of all kinds are now able to list their members, even when being applied based on filters
    • Command Argument handling has been improved
    • It is now possible to configure Dependencies through the Icinga Director
    • Cloning Hosts now allows to also optionally clone their Services and Service Sets

    Templates

    • The template resolver has been rewritten, is now easier to test, strict and faster
    • Template Tree has been re-written and now also immediately shows whether a template is in use
    • When navigating to a Template you'll notice a new usage summary page showing you where and how that specific template is being used. Therefor, many tables are now internally able to filter by inheritance

    Template Choices

    • While Host- and Service-Templates are powerful building blocks, having to choose from a single long list might become unintuitive as this list starts growing. That's where Template Choices jump in. They allow you to bundle related Templates together and offer your users to choose amongst them in a meaningful way.

    Apply rules

    • Various related issues have been addressed
    • A new virtual "is true / is set" operator is now available

    Permissions and Restrictions

    • It is now possible to limit access to Hosts belonging to a a list of Hostgroups. This works also for Hostgroups assigned through Apply Rules.
    • Data List entries can be made available based on Roles

    Data Types

    • SQL Query and Data List based Data Fields can now both be offered as Array fields, so that you can choose among specific options when filling such
    • New overview tables give admins a deep look into used Custom Variables, their distinct values and usage
    • Various issues related to Boolean values have been fixed

    Import and Synchronization

    • Many issues have been addressed. Merge behavior, handling of special fields and data types
    • Problems with Import Source deletion on PostgreSQL have been addressed
    • New Property Modifiers are available. When importing single Services you might love the "Combine" modifier
    • It is now possible to re-arrange execution order of Property Modifiers and Sync Properties
    • Preview rendering got some improvements
    • "Replace" policy on Custom Vars is now always respected
    • Using VMware/vSphere/ESX? There is now a new powerful module providing a dedicated Import Source

    REST API

    • A new Self Service API now allows to completely automate your Icinga Agent roll-out, especially (but not only) for Microsoft Windows
    • List views are now officially available. They are very fast and stream the result in a memory-efficient way
    • Documentation better explains how to deal with various objects, especially with different types of Services (!!!!!)

    Internal architecture

    • Many base components have been completely replaced and re-written, based on and early prototype of our upcoming Icinga PHP Library (ipl)
    Source code(tar.gz)
    Source code(zip)
  • v1.3.2(Jul 20, 2017)

    Fixed issues and related features

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

    Apply Rules

    • Slashes in Apply Rules have not been correctly escaped
    • Services applied based on Arrays (contains) did not show up in the Hosts Services list, and therefor it was not possible to override their vars
    • Some magic has been introduced to detect numbers in apply rules - not perfect yet

    Host Groups

    • It has not been possible to modify Host Groups without defining an apply rule
    • Hostgroups have not been sorted
    • It is now legal to have external HostGroup objects

    Rendered Config

    • Custom Endpoint objects are now rendered to their parent zone
    • (Rendering) issues with the in operator have been fixed
    • You are now allowed to put Notifications into specific Zones

    Usability and UI

    • Selecting multiple hosts at once and deleting them had no effect
    • Documentation got some little improvements
    • German translation has been refreshed
    • Header alignment has been improved
    • Escaping issues with the Inspect feture have been addressed

    Kickstart

    • Kickstart is more robust and now able to deal with renamed Icinga Masters and more

    CLI

    • It is not possible to list and show Service Sets on the CLI

    Import and Sync

    • Synchronizing Data List entries caused problems
    • A new Import Modifier has been added to deal with LConf specialities
    • Issues with special characters like spaces used in column names shipped by Import Sources have been addressed
    • A new Property Modifier allows to filter Arrays based on wildcards or regular expressions
    • A new Property Modifier allowing to "Combine multiple properties" has been introduced. It's main purpose is to provide reliable unique keys when importing single service objects.
    • A new warning hint informs you in case you created a Sync Rule without related properties
    • Synchronization filters failed when built with columns not used in any property mapping

    Auditing

    • The audit log now also carries IP address and username

    Generic bug fixes

    • Fixed erraneous loop detection under certain (rare) conditions
    • Various issues with PHP 5.3 have been fixed
    • Combination of multiple table filters might have failed (in very rare conditions)
    Source code(tar.gz)
    Source code(zip)
  • v1.3.1(Feb 17, 2017)

    Fixed issues and related features

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

    Service Sets

    • Various little issues have been fixed. You can now remove Sets from hosts, even when being empty. Services from Sets assigned to parents or via apply rule are now shown for every single host, and their custom vars can be overridden at a single host level
    • Sets assigned to single hosts have been shown, variable overrides have been offered - but rendering did not include the Director-generated template necessary to really put them into place. This has been fixed

    Usability

    • A nasty bug hindered fields inherited from Commands from being shown ad a Service level - works fine right now
    • There is now a pagination for Zones
    • Multiedit no longer showed custom fields, now it works again as it should

    Rendering

    • Disabling a host now also disables rendering of related objects (Endpoint, Zone) for hosts using the Icinga Agent

    REST API

    • Ticket creation through the REST API has been broken, is now fixed

    Performance, Internals

    • A data encoding inconsistency slowed down apply rule editing where a lot of host custom vars exists
    • Some internal changes have been made to make parts of the code easier to be used by other modules
    Source code(tar.gz)
    Source code(zip)
  • v1.3.0(Jan 18, 2017)

    Fixed issues and related features

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

    Service Sets

    • You are now allowed to create sets of services and assign all of them at once with an apply rule
    • Sets can be assigned to host templates or directly to single hosts

    Service Variable Overrides

    • When switching to a host view's services tab, you'll now not only see its very own services, but also ones that result from an apply rule
    • You can override those services custom field values for every single host
    • Same goes for services belonging to Service Sets

    Apply rules

    • A new "contains" operator gives more possibilities when working with arrays
    • Service vars are now also offered in the apply rule form wizard

    Custom Variables and Fields

    • Issues with special characters in custom variables have been fixed
    • In case mandatory fields should not have been enforced, this should work fine right now
    • Fields can now be shown based on filter rules. Example use case: show a Community String field in case SNMPv2 has been selected, but show five other fields for SNMPv3. This allows one to build powerful little wizard-like forms like shown here

    Agents and Satellites

    • It is now possible to set Agent and Zone settings on every single host. This means that you no longer need to provide dedicated Templates for Satellite nodes
    • The proposed Agent Deployment script has been improved for Windows and Linux
    • Infrastructure management got a dedicated dashboard
    • Kickstart Wizard helps when working with Satellites. This has formerly been a hidden, now it can be accessed through the Infrastructure dashboard

    Commands

    • Command arguments are now always appended when inheriting a template. This slightly changes the former behavior, but should mostly be what one would expect anyways.

    Testing

    • Testing instructions have been improved
    • Running the test suite has been simplified
    • While we keep running our own tests on software platforms, tests are now also visible on Travis-CI and triggered for all pull requests

    Compatibility

    • We worked around a bug in very old PHP 5.3 versions on CentOS 6

    Activity log

    • You can now search and filter in the Activity log
    • In case you have hundreds of thousands of changes you'll notice that pagination performance improve a lot
    • A quick-filter allows you to see just your very own changes with a single click

    Deployment

    • More performance tweaking took place. 1.2.0 was already very fast, 1.3.0 should beat it
    • Deployment log got better at detecting files and linking them directly from the log output, in case any error occured

    Work related to Icinga 1.x

    • Deploying to Icinga 1.x is completely unsupported. However, it works and a lot of effort has been put into this feature, so it should be mentioned here
    • Please note that the Icinga Director has not been designed to deploy legacy 1.x configuration. This is a sponsored feature for a larger migration project and has therefore been built in a very opinionated way. You shouldn't even try to use it. And if so, you're on your own. Nobody will help you when running into trouble

    Translation

    • German translation is now again at 100%

    REST API

    • Issues related to fetching object lists have been fixed

    Integrations

    • We now hook into the Cube module, this gives one more possibility to benefit from our multi-edit feature
    • Icinga Web 2.4 caused some minor issues for 1.2.0. It works, but an upgrade to Director 1.3.0 is strongly suggested
    Source code(tar.gz)
    Source code(zip)
  • v1.2.0(Nov 3, 2016)

    What's new in version 1.2.0

    Fixed a lot of issues and related features

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

    Permissions and restrictions

    • Permissions are now enforced. Please check your role definitions, permission names have changed and are now enforced everywhere
    • Configuration preview, Inspect action, Deployment and others can be granted independently

    Auditing

    • Director provides a nice activity log. Now it is also possible to additionally log to Syslog or File in case you want to archive all actions elsewhere. Access to the audit log in the Director can be controlled with a new permission

    Configuration kickstart

    • Now imports also existing notification commands
    • Kickstart can be re-triggered on demand at any time

    Performance

    • Config rendering got a huge performance boost. In large environments we managed it to deploy a real-world configuration 5 times as fast as before

    Import / Sync

    • Various improvements have been applied, mostly hidden small features that should make work easier. Better form field descriptions, more possibilities when it goes to syncing special fields like "imports"
    • Property modifiers can now generate new modified columns at import time
    • New property modifiers are available. There is a pretty flexible DNS lookup, you can cast to Integer or Boolean, JSON decoding and more is offered
    • Datalist entries can now be imported and synchronized, this was broken in 1.1

    Configuration possibilities

    • You can now define assign rules nested as deep as you want, based on all host and/or service properties
    • It is now possible to define "assign for" constructs, looping over hashes or dictionaries
    • Improved Icinga 2 DSL support in commands, implicit support for skip_key
    • More and more developers are contributing code. We therefore simplified the way to launch our unit tests and provided related documentation
    • Other objects can be referred as a dropdown or similar in custom variables

    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
    • Inheritance loops are now shown in a nice way and can be resolved in the GUI
    • A new hidden gem is the multiedit 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

    Agent setup

    • The Windows kickstart script got some small improvements and now enables all related ITL commands per default

    CLI

    • You can find a few new commands, with the ability to list or fetch all hosts at once in various ways being the most prominent one

    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!
    Source code(tar.gz)
    Source code(zip)
  • v1.1.0(Jun 30, 2016)

    What's new in version 1.1.0

    Fixed a lot of issues and related features

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

    Icinga Agent handling

    • A lot of effort has been put into making config deployment easier for environments with lots of Icinga Agents
    • Related bugs have been fixed, the generated configuration should now work fine in distributed environments
    • A customized Powershell Script for automatic Windows Agent setup is provided

    Apply Rules

    • It's now possible to work with apply rules in various places

    Notifications

    • All components required to deploy notifications are now available. ENV for commands is still missing, however it's pretty easy to work around this

    Automation

    • Job Scheduler and Job Runner have been introduced. Import, Sync, Deploy and run Housekeeping in the background with full control and feedback in the GUI
    • There is a new intelligent purge option allowing one to purge only those objects that vanished at involved Import Sources between multiple Import and Sync Runs.

    Data Types

    • Booleans, Integers and Arrays are now first-class citizens when dealing with custom variables
    Source code(tar.gz)
    Source code(zip)
Owner
Icinga
Icinga is a resilient, open source monitoring and metric solution system.
Icinga
Magento extension which makes it impossible for a customer to log in until the account has been activated by the administrator.

This Magento 1 extension is orphaned, unsupported and no longer maintained. If you use it, you are effectively adopting the code for your own project.

Vinai Kopp 120 Oct 10, 2022
EasyRdf is a PHP library designed to make it easy to consume and produce RDF.

EasyRdf EasyRdf is a PHP library designed to make it easy to consume and produce RDF. It was designed for use in mixed teams of experienced and inexpe

EasyRdf 578 Dec 23, 2022
Nagios/Icinga plugin for checking SATEON field network device status

check_sateon Nagios/Icinga plugin for checking SATEON field network device status Max.Fischer [email protected] Tested on CentOS GNU/Linux 6.5 with Ici

null 1 May 27, 2022
MOP is a php query handling and manipulation library providing easy and reliable way to manipulate query and get result in a fastest way

Mysql Optimizer mysql optimizer also known as MOP is a php query handling and manipulation library providing easy and reliable way to manipulate query

null 2 Nov 20, 2021
PocketMine-MP virion for easy handling of ScoreBoard packets

PocketMine-MP virion for easy handling of ScoreBoard packets

pocketmine virions of avas 3 Apr 9, 2022
Decimal handling as value object instead of plain strings.

Decimal Object Decimal value object for PHP. Background When working with monetary values, normal data types like int or float are not suitable for ex

Spryker 16 Oct 24, 2022
Composer script handling your ignored parameter file

Managing your ignored parameters with Composer This tool allows you to manage your ignored parameters when running a composer install or update. It wo

Incenteev 921 Nov 21, 2022
QueryHandler - Handling PDO ' s query with mySQL database

QueryHandler this class's method are static .... that mean you don't need to create an object to use it . All methodes will return an Exception if it

null 7 Aug 9, 2022
html-sanitizer is a library aiming at handling, cleaning and sanitizing HTML sent by external users

html-sanitizer html-sanitizer is a library aiming at handling, cleaning and sanitizing HTML sent by external users (who you cannot trust), allowing yo

Titouan Galopin 381 Dec 12, 2022
Firebird-PHP: A library created to meet a work need when handling a Firebird database

Firebird-PHP: A library created to meet a work need when handling a Firebird database

Philipe  Lima 3 Jun 27, 2022
A XOOPS module for handling events, including online registrations.

wgEvents A XOOPS module for handling events, including online registrations. Support If you like the wgEvents module and thanks to the long process fo

XOOPS 2.5.x Modules 6 Dec 15, 2022
An opinionated extension package for Laravel Orchid to extend its table handling capabilities, and some further useful helper methods.

OrchidTables An opinionated extension package for Laravel Orchid to extend its table handling capabilities, and some further useful helper methods. In

null 25 Dec 22, 2022
PHP library for handling sessions

Horizom Session PHP library for handling sessions. Requirements Installation Available Methods Quick Start Usage Tests TODO Changelog Contribution Spo

Horizom 1 Aug 29, 2022
Receiver is a drop-in webhook handling library for Laravel.

Receiver Receiver is a drop-in webhook handling library for Laravel. Webhooks are a powerful part of any API lifecycle. Receiver aims to make handling

Adam Campbell 270 Jan 6, 2023
Michael Pratt 307 Dec 23, 2022
Making multiple identical function calls has the same effect as making a single function call.

Making multiple identical function calls has the same effect as making a single function call.

李铭昕 4 Oct 16, 2021
this is a simple website about news and it has some features

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

a14z 2 Dec 11, 2022
This project has reached its end-of-life (EOL).

EOL Notice This project has reached its end-of-life (EOL). README Requirements The supported Magento version is 1.9.x Features ajax navigation using h

Catalin Ciobanu 136 Apr 2, 2022
Admidio is a free open source user management system for websites of organizations and groups. The system has a flexible role model so that it’s possible to reflect the structure and permissions of your organization.

Admidio Admidio is a free open source user management system for websites of organizations and groups. The system has a flexible role model so that it

Admidio 212 Dec 30, 2022