Adds Api checks docs; Removes cmdlets
Adds documentation for new experimental feature to forward checks to API and removes Cmdlets for managing whitelist/blacklist entries as we add them inside the REST-Api module.
Feature: Adds support to uninstall Icinga for Windows
Adds feature to uninstall single components for Icinga for Windows or to uninstall everything and start entirely from new.
Feature: Adds experimental feature for internal API checks
Adds experimental feature to forward checks executed by the Icinga Agent to an internal REST-Api, to reduce the performance impact on systems with lower ressources available
Fixes DSL for building array elements escaped
Updates the Icinga DSL for building PowerShell arrays to ensure all string values are properly escaped with `'`. In case the user already wrapped commands with `'` by himself, this will not have an effect as we only add single quotes for escaping if they are not present already.
Fix: Plugin threshold conversion and adds % unit handling
Fixes `Convert-IcingaPluginThresholds` which sometimes did not return proper numeric usable values for our internal functions, causing issues on plugin calls. In addition the function now also supports the handling for % units.
Adds feature to customize label for checks
Adds new Argument `-LabelName` to `New-IcingaCheck`, allowing the developer to provide custom label names for checks and override the default based on the check name.
Fix: Background service check daemon data pool separation and memory leak
Improves the background daemon by separating each single configured check into an own data pool, preventing data of leaking from one thread to another which might cause a memory leak in long term with plenty of background checks defined.
This might also reduce CPU impact because lesser data has to be processed.
Feature: Ensure config.json is opened as read-only
In some cases it can happen that multiple processes access our config file. By default `Get-Content` is not thread save and might result in errors while reading the file content.
In general we should use a read-only attempt for the config.json and write it only if required.
Feature: Ensure thread results are separated from each other by default
In case multitple background daemons are running and executing check plugins, it can happen that results overlap from one thread to another. A CPU check might then include information from another service check for example.
We fix this by locking each check result data into an own thread, preventing other threads from accessing the data.
Adds code caching docs and removes experimental
Removes experimental state of the Icinga PowerShell Framework code caching and adds docs on how to use the feature
Fix: Disables PowerShell Progress bar while using Icinga for Windows
In some cases progress bar output for certain activities might be printed into the plugin output. The best option is to disable it entirely while using Icinga for Windows, as we have no use for it.
Fixes#185
Feature: Add optional support for adding milliseconds to Get-IcingaUnixTime
Adds support to add milliseconds to the result of `Get-IcingaUnixTime` which might come in handy for more time depending tasks.