Fix: Service locking and error handling
Fixes service locking during Icinga Agent upgrade and ensures errors on service management are caught and printed with internal error handling
Fix: Exceptions while removing temp files from repository download
Fixes possible exceptions while trying to remove downloaded repository temp files which might still contain a file lock from virusscanners or other tasks
Fix: Option "Connecting from parent system" is not asking for ca.crt
While using the IMC with the connection option "Connecting from parent system", the wizard is not asking for the location of the ca.crt, which is required in order to complete the Icinga Agent process and ensure the API feature can be enabled afterwards.
Before, the user had to manually configure this step, which required knowledge on how this process works for Icinga.
Fix: Errors while dynamically compiling Add-Type
Icinga for Windows is using `Add-Type` in some small cases, to properly fetch UNC Path values for plugins or disk attribute information.
While in most cases this works without problems, sometimes the on-the-fly compilation fails because of out-of-memory exceptions or different errors.
This fix will now compile the DLL required inside the `cache/dll` folder if not present and load the compiled DLL's if required and available.
Feature: Improves plugin doc generator for better docs
Adds table view for plugins with short summary of what the plugin is for and allows multi-lines in example docs
Feature: Rework IMC menu and extend feature set
Reworks the menu structure of the Icinga for Windows Management Console and makes it the default when running the command `icinga`.
For developers you can use `icinga -Shell` to receive the Icinga shell as before. In addition improves error handling of IMC, by caching all `Errors` and `Warnings` during action execution, printing them afterwards.
Fix: Add-IcingaRepository removes and adds repository with -Force
Fixes `Add-IcingaRepository` which now only overrides the `RemotePath` by using `-Force` instead of removing and adding the repository again, causing problems with installation orders over IMC for example
Fix: Icinga Agent not configured properly if not installed over IMC and installation disabled there
Fixes Icinga Agent installation over IMC and Director Self-Service, in case the Self-Service is configured to not install the Icinga Agent or the user manually set `Do not install Icinga Agent` inside the IMC, which results in most configurations not being applied to the Agent, in case it is already installed
Fix: Update-Icinga not working between snapshot/stable
Fixes `Update-Icinga` which now supports to update from a snapshot branch and to downgrade properly from snapshot to stable to the latest release packages again.
**NOTE:** It is still **not** entirely supported to downgrade from snapshot to stable, as possible migrations for later versions will **not** be rolled back.
Fix: Install-IcingaSecurity should only run in administrative shell
We have to ensure that `Install-IcingaSecurity` is only allowed to be excuted from an administrative shell to not cause any errors.
Fix: JEA service error count not resetting itself
While running the Icinga for Windows service in JEA context, it can happen that the corresponding WinRM service is restarted or terminated. The service daemon will keep an eye on that and restart the JEA session up to 5 times, before terminating the service and printing an error.
This fix will not add a grace period, which will reset the failure counter in case the service was running for more than 3 minutes. Which is more then enough runtime to not asume a faulty service behavior.
Feature: Adds support for check_by_icingaforwindows.ps1
Adds support for the remote execution plugin [check_by_icingaforwindows](https://github.com/LordHepipud/check_by_icingaforwindows), allowing to check from a Linux or Windows remote host by using WinRM to a target Windows machine.
Fully supports JEA profiles, but requires powershell installed on the Linux machine.
Fix: Background daemon not working in JEA context
The current implementation of the Icinga for Windows background daemon was not working entirely by using JEa profiles.
We fixed the behavior by resolving a problem within our JEA profile catalog builder as well as other factors causing issues. All background daemons will now work properly inside the JEA context.