Feature: Adds support for new Director SelfService config arguments
Adds support for new Icinga Director SelfService config arguments which will now ensure the wizard will run without asking questions by using the Icinga Director configuration (requires Icinga Director 1.8 or later)
Fix: Fixes error while writing EventLog entries with too large message size
In rare cases it can happen that the EventLog writer will throw an error in case the message size for EventLog entries is too large. This mostly happens in case the debug mode is enabled which is writing plenty of content into the EventLog.
This fix will now split such message into multiple messages to resolve the issue and keeping the data.
Fix: Fixes release fetching of Agent with correct comparison and proper support for local sources
Fixes fetching of Icinga Agent MSI packages by correctly comparing versions to ensure we always use the latest version and fixes `release` usage for local/network drive sources.
Fix: Fixes fetching for Icinga Agent certificate for REST-Api daemon on upper/lower case hostname mismatch
Fixes fetching for Icinga Agent certificate for REST-Api daemon on upper/lower case hostname mismatch
Feature: Adds native Icinga config generation support and adds simple publish command
Adds native support for writing Icinga 2 configuration for plugins and allows to easy publish new configurations for modules with the new Cmdlet Publish-IcingaPluginConfiguration
Adds native support for writing Icinga 2 configuration for plugins and allows to easy publish new configurations for modules with the new Cmdlet Publish-IcingaPluginConfiguration
Feature: Adds support for adding a knowledge base id to exceptions
Adds support to add a knowledge base id to Exit-IcingaThrowException for easier referencing. This should mostly be used for custom messages, as we should track the main knowledge base id's inside the messages directly
Feature: Adds exit to Windows Terminal integration to close shell on exit
Adds exit after calling icinga on Windows Terminal integration to ensure the shell will close in case the Icinga shell is closed.
Feature: Adds error on config generator for 64 digit args
Adds feature to test the length of plugin custom variables during config generation and throws error in case the total length is bigger than 64 digits, as imports into the Icinga Director by using baskets is not possible otherwise
Feature: Add Proxy Server support for web calls
Also re-arranges web content by using old content from lib/web into lib/webserver, while new lib/web contains the proxy configuration.
Feature: Add debug output for Get-IcingaWindowsInformation calls to EventLog
Adds support to write all objects collected by `Get-IcingaWindowsInformation` into the Windows EventLog in case the debug output for the Icinga PowerShell Framework is enabled.
Experimental: Adds code caching for faster framework loading
## Current Situation
Currently the entire Framework is taking a huge amount of time to load the files. This causes several issues:
* Slow loading increases the runtime of checks
* High CPU usage for the initial loading of the Framework
* High CPU usage over a longer period of time, cause more impcact on the systems
## Possible solutions
### Add caching
To reduce the impact for the Framework loading, we could add a cache file containing all Cmdlets, Enums and Functions allowing us to import file on initialization instead of having of to search for all `.psm1` files and load them one by one
### Use Nested Modules for PowerShell Plugins
PowerShell plugins right now are using `Use-IcingaPlugins` which searchs for all `.psm1` files inside the plugin folder to load them. We should use `NestedModules` here, as the overall impact is lower. On Framework side we can't do this how ever without loading times to explode. Plugins are tracked [at issue #87 here](https://github.com/Icinga/icinga-powershell-plugins/pull/87)
## Current Status
**Mitigated**
## Usage
You can enable/disable this feature by using `Enable-IcingaFrameworkCodeCache` and `Disable-IcingaFrameworkCodeCache`. Updating the cache is done with `Write-IcingaFrameworkCodeCache`
Fix: Array handling for ValidateSet and array rendering for config generator
Empty arrays will now properly be rendered as empty array with @()instead of $null. In addition the config renderer now also supports ValidateSet for array entries
Empty arrays will now properly be rendered as empty array with @()
instead of $null. In addition the config renderer now also supports
ValidateSet for array entries
Feature: Adds support to add/remove/test Wmi permissions
You can now use 'Add-IcingaWmiPermissions' to add permissions for a specific user and namespace and remove them with
'Remove-IcingaWmiPermissions'
Fix: SSL creation on reconfigure might fail if naming changed from upper/lower case
Fixes an issue while changing the hostname between upper/lower case which might cause unwanted exceptions on one hand but also required manual signing of requests on the CA master as the signing process was not completed