From e2d58ba182b4a0a187bddcb0d10efbbeb97166c7 Mon Sep 17 00:00:00 2001 From: Lord Hepipud Date: Fri, 28 Aug 2020 15:24:48 +0200 Subject: [PATCH] Adds Windows Terminal integration --- doc/05-Icinga-Integration.md | 3 +- doc/31-Changelog.md | 1 + doc/90-Roadmap.md | 1 - doc/icingaintegration/50-Windows-Terminal.md | 76 ++++++++++++++++++ .../03_windows_terminal/icinga_shell.png | Bin 0 -> 14802 bytes .../03_windows_terminal/icingawhite.png | Bin 0 -> 2037 bytes icinga-powershell-framework.psm1 | 9 ++- .../logging/Write-IcingaConsoleWarning.psm1 | 2 +- 8 files changed, 86 insertions(+), 6 deletions(-) create mode 100644 doc/icingaintegration/50-Windows-Terminal.md create mode 100644 doc/images/03_windows_terminal/icinga_shell.png create mode 100644 doc/images/03_windows_terminal/icingawhite.png diff --git a/doc/05-Icinga-Integration.md b/doc/05-Icinga-Integration.md index 8b54f8b..67d2916 100644 --- a/doc/05-Icinga-Integration.md +++ b/doc/05-Icinga-Integration.md @@ -18,4 +18,5 @@ To get started, there are two ways to configure check command objects: * [Automated configuration](icingaintegration/01-Director-Baskets.md) with Baskets * [Manual configuration](icingaintegration/02-Manual-Integration.md) of check commands -* [Using PowerShell Arrays in Icinga](icingaintegration/03-PowerShell-Arrays.md) \ No newline at end of file +* [Using PowerShell Arrays in Icinga](icingaintegration/03-PowerShell-Arrays.md) +* [Windows Terminal Integration](icingaintegration/50-Windows-Terminal.md) \ No newline at end of file diff --git a/doc/31-Changelog.md b/doc/31-Changelog.md index 9ca87d3..64bc1a1 100644 --- a/doc/31-Changelog.md +++ b/doc/31-Changelog.md @@ -28,6 +28,7 @@ Check Command configuration generated by Icinga for Windows 1.2.0 require Icinga ### Enhancements +* Adds configuration for [Windows Terminal integration](icingaintegration/50-Windows-Terminal.md) * Adds new Cmdlet `Show-IcingaPerformanceCounterInstances` to display all available instances for Performance Counters * [#76](https://github.com/Icinga/icinga-powershell-framework/issues/76) Adds support to test for required .NET Framework Version 4.6.0 or above before trying to install the Icinga Agent * [#87](https://github.com/Icinga/icinga-powershell-framework/issues/87) Adds wrapper command to test new code or functionality of Framework and/or plugins diff --git a/doc/90-Roadmap.md b/doc/90-Roadmap.md index bd91d0d..dfb5bea 100644 --- a/doc/90-Roadmap.md +++ b/doc/90-Roadmap.md @@ -46,7 +46,6 @@ The following list contains a bunch of features we are planning to implement int | 1 | Improve module caching | While running the Icinga for Windows solution as background daemon we should make sure that recurring tasks/events are properly cached. For this we will need to cache objects recursively, including arrays and hashtables

Issue: [#5] | 1 | Improve Performance Counter Cache | We should improve the Performance Counter cache to be able to recognize if certain counter/instances are no longer present or have been added. This will resolve an issue while using the background daemon for regular tasks

Issue: [#11] | 2 | Icinga Service Recovery | By default the Icinga Agent installer is not shipping with a service recovery solution in case the service crashes. We should allow the user to configure a custom rule set on what happens if Icinga crashes and how often a restart attempt is done for example

Issue: [#40] -| 2 | Windows Terminal Integration | We should add support for the new Windows Terminal for easier usage and integration | | 3 | Windows Update Installation | The idea behind this is for smaller customer environments to allow the installation of certain Windows updates by using Icinga for Windows. This was an initial requests and should be taken into consideration when nothing else is to do

Issue: [#7] | 3 | Hyper-V Monitoring | Add plugins for Hyper-V monitoring in an own separate module to cover this platform | | 3 | Exchange Server Monitoring | Add plugins for Exchange Server monitoring in an own separate module to cover this platform | diff --git a/doc/icingaintegration/50-Windows-Terminal.md b/doc/icingaintegration/50-Windows-Terminal.md new file mode 100644 index 0000000..0a0b167 --- /dev/null +++ b/doc/icingaintegration/50-Windows-Terminal.md @@ -0,0 +1,76 @@ +# Windows Terminal Integration + +The new [Windows Terminal](https://www.microsoft.com/en-US/p/windows-terminal/9n0dx20hk701?activetab=pivot:overviewtab) provided by Microsoft offers a huge flexibility when it comes to working with different kind of shells. Not only does it finally support tabs and to split the current view into separate shells, it also allows the integration of pre-defined commands to execute for loading shells or environments. + +In addition we can fully customize the apperance for our needs. + +## Install the Icinga Shell Configuration + +To install the Icinga Shell as native shell in your Windows Terminal dropdown, simply paste the following JSON under `profiles` -> `list` + +```json +{ + "fontFace" : "Consolas", + "fontSize" : 12, + "useAcrylic" : true, + + "guid": "{fcd7a805-a41b-49f9-afee-9d17a2b76d42}", + "name": "Icinga", + "commandline" : "powershell.exe -noe -c \"&{ icinga }\"", + "hidden": false, + "icon" : "ms-appdata:///roaming/icingawhite.png", + + "acrylicOpacity" : 0.85, + "backgroundImage" : "ms-appdata:///roaming/icingawhite.png", + "backgroundImageOpacity" : 0.50, + "backgroundImageStretchMode" : "none", + "backgroundImageAlignment" : "topRight", + "tabTitle": "Icinga for Windows - Loading", + "colorScheme": "Icinga-Default" +} +``` + +As we are using the the custom theme `Icinga-Default` we will have to add this as well directly under the `schemes` section: + +```json +{ + "name" : "Icinga-Default", + "cursorColor": "#FFFFFF", + "selectionBackground": "#61C2FF", + "background": "#04062A", + "foreground" : "#EED7AA", + // Arguments + "black" : "#CC88DD", + "brightBlack" : "#CC88DD", + // Debug messages + "blue" : "#A6A6A6", + "brightBlue" : "#A6A6A6", + // Strings + "cyan" : "#39B5C6", + "brightCyan" : "#39B5C6", + "green" : "#31BB6C", + "brightGreen" : "#31BB6C", + "purple" : "#00607A", + "brightPurple" : "#00607A", + "red" : "#FF6B7A", + "brightRed" : "#FF6B7A", + // Commands + "white" : "#FFFFFF", + "brightWhite" : "#FFFFFF", + // Commands/Console Input + "yellow" : "#FFAA44", + "brightYellow" : "#FFFFFF" +} +``` + +Last but not least we can setup our logo to appear on the top-right corner and as terminal icon. You can get the logo [here](..\images\03_windows_terminal\icingawhite.png). + +To install it, copy it directly into the following path: + +```text +%LOCALAPPDATA%\Packages\Microsoft.WindowsTerminal_8wekyb3d8bbwe\RoamingState +``` + +Now restart your Windows Terminal and enjoy the new look and the Icinga Shell integration! + +![Windows Terminal](..\images\03_windows_terminal\icinga_shell.png) diff --git a/doc/images/03_windows_terminal/icinga_shell.png b/doc/images/03_windows_terminal/icinga_shell.png new file mode 100644 index 0000000000000000000000000000000000000000..0b0fa1d200970fd098676eb8eea89ad98f88d487 GIT binary patch literal 14802 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 Qq!;L+mcAzPo zdx%v<9LK*`Q%g|GR?Ez?)Y$d0zJf&C&>re;1z8q8Dl5W*f+DmBy(|jCs0gVLqd+C7 z#EMK!QZu!PUOv(+&Fw)Yt8Hjm_Rxum@6vkr-h1wuGp}>*eBk`Cd*{r|IluFp^PAuN zesd5A1OkCTAP@)y0)apv5C{YUfk2?b$f;be5F)L2sR6(R0Q&OpodDk9;f!1^z8ES+ za9sh+0dOsV6Z3xC1KWnWA`}yeF5K z>Xa_BEVzCN&aKth47$M7o`#iz9-)QWI5wa|}R}-AOMq@vWkY&M1 zch*vc^L7B(WS~D<$@&DmCp{s@#5m_d0ILo5sSRN|(3U0uSH>uRmu;b`l6ApJUI#E6 zz@H_`tOqa=z+8*{N<<|s>wLiZ*#-c=0{E7`Nh!3=E<2_&RK^+m(@Yhe$L9g~BnuZ* zDH`_-fPnzUdC-?O1dS_92LNLMT;pTsRH+2xUdKKG1fu5 zu?`h55TkDeSN4+D7DVw={`DY!EM^ob}l*y6R_1mJm#?O8>q;L6c? zTUP938b-@3wPzijH*z=KNTt|g=>i`BFyB&JPS7bh869aGWT>!jnp{*!- z(!srgbIFweZg=MRh_INZ3n6y3vMmn@A?67o#t0$S2q9K0T3^QrA*xx=1R=yYA;b_N zM3203lIuON7N-g!nv2-j+k_CcEoD_O<*SqyW*wiboq0p3oZAiO1U)LYqZ`BQF6KF> z7AUiylYF^+Gl~XKP5i6U%0y~eDGt$p+Nk2IR6@hkc)t+hpb(K(xqiC$&4 z@x6>f%jI$(#_f|2E8w#%2u<>w!uzKf132BOX_e`^pW4&FN%yoe>XFwTTWIh=<2up} zc7m=7BN(O_(KUeK4^mJkag=DHo9|-)8#ym)%>n>7mZyI2#k0Nb?>p-KVhmOi(a5o>A2^5qZ`Z{sw+ewYs zXfuI7ZGx+H6hXX~X;gmz*vYF8^R1-HAx+SQ6n!EJSfb)>hVztOAwpHrxHUXj*a7iL;&XRePzQ^l85;)RAYM&*L# zX$I?0M4ESq&CzdIt-E3}B;np(MoIGqHG%=MO$O?&_gQGF_>==KSHeeY^lbdbrJI$S z>hlU8x66>u=Qk+CBuGp3Ym*(-MOOCm+Q*gR#hjp*yEn32PkS4{&0M;fXtl% zZleJ)%WymE8BQ+!p~8)LZbvTzy6EHhf};8sj$75IG<4TPoiay-bn znrWe-L}rZNc^Bt_iBF;(A%dV|yN#G}LW8--!VQR5h-SIb})N;laLJ z&atU+*J--gY9`bNVxlUzQ5tV_oyNK<235iJ)_8-W_HhmrKvi(ZYP^{)zDJOHR0XFq zJu3BSy)IA{oX!B8s13LS1yB{7&W|t@asUS+P@Tv1XL?jpwiw**Fg4hm$L-RzmSuVY zHM1n~Rd%JXvb*BVna`->ipRFE@&LWoqT2g$7IT=dd<4C>(!GP3{m`UShT%&8Oed#0M7y$nQ7cRV= Tx{|L^00000NkvXXu0mjf&BxAy literal 0 HcmV?d00001 diff --git a/icinga-powershell-framework.psm1 b/icinga-powershell-framework.psm1 index 6cb380f..118eee4 100644 --- a/icinga-powershell-framework.psm1 +++ b/icinga-powershell-framework.psm1 @@ -282,12 +282,15 @@ function Invoke-IcingaCommand() } powershell.exe -NoExit -Command { - $Script = $args[0]; - $RootPath = $args[1]; + $Script = $args[0]; + $RootPath = $args[1]; + $Version = $args[2]; # Load our Icinga Framework Use-Icinga; + $Host.UI.RawUI.WindowTitle = ([string]::Format('Icinga for Windows {0}', $Version)); + # Set the location to the Icinga Framework module folder Set-Location $RootPath; @@ -304,7 +307,7 @@ function Invoke-IcingaCommand() return "> " } - } -Args $ScriptBlock, $PSScriptRoot; + } -Args $ScriptBlock, $PSScriptRoot, $IcingaFrameworkData.PrivateData.Version; } Set-Alias icinga Invoke-IcingaCommand -Description "Execute Icinga Framework commands in a new PowerShell instance for testing or quick access to data"; diff --git a/lib/core/logging/Write-IcingaConsoleWarning.psm1 b/lib/core/logging/Write-IcingaConsoleWarning.psm1 index b7f7097..2dc3554 100644 --- a/lib/core/logging/Write-IcingaConsoleWarning.psm1 +++ b/lib/core/logging/Write-IcingaConsoleWarning.psm1 @@ -29,6 +29,6 @@ function Write-IcingaConsoleWarning() Write-IcingaConsoleOutput ` -Message $Message ` -Objects $Objects ` - -ForeColor 'Yellow' ` + -ForeColor 'DarkYellow' ` -Severity 'Warning'; }