Compare commits

..

No commits in common. "f5435e676495498824c20fbbcbd0c10d29a1be64" and "6915845104ce06bfb6b85a9f75b21aa3cce08c05" have entirely different histories.

7 changed files with 40 additions and 184 deletions

View File

@ -0,0 +1 @@
PSCHelpdesk

View File

@ -2,7 +2,6 @@
<project version="4">
<component name="RiderProjectSettingsUpdater">
<option name="singleClickDiffPreview" value="1" />
<option name="unhandledExceptionsIgnoreList" value="1" />
<option name="vcsConfiguration" value="3" />
</component>
</project>

View File

@ -11,13 +11,8 @@
</component>
<component name="ChangeListManager">
<list default="true" id="95257dc5-08bd-4c50-8726-85956b3c2c92" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/.name" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/projectSettingsUpdater.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/projectSettingsUpdater.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/.idea.PSCHelpdesk/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/HetznerServer/Service/CheckMKService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/Service/CheckMKService.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/HetznerServer/Service/ServerService.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/Service/ServerService.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/HetznerServer/ViewModels/ServerViewModel.cs" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/ViewModels/ServerViewModel.cs" afterDir="false" />
<change beforePath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml" beforeDir="false" afterPath="$PROJECT_DIR$/HetznerServer/Views/ServerView.axaml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -75,7 +70,7 @@
&quot;associatedIndex&quot;: 8
}</component>
<component name="ProjectId" id="2oALwzSyifDVjc3qbb4djsSPFwr" />
<component name="ProjectLevelVcsManager">
<component name="ProjectLevelVcsManager" settingsEditedManually="true">
<ConfirmationsSetting value="1" id="Add" />
</component>
<component name="ProjectViewState">
@ -123,13 +118,8 @@
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Browser/bin/Debug/net9.0-browser" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="USE_EXTERNAL_CONSOLE" value="0" />
<option name="ENV_FILE_PATHS" value="" />
<option name="REDIRECT_INPUT_PATH" value="" />
<option name="PTY_MODE" value="Auto" />
<option name="USE_MONO" value="0" />
<option name="RUNTIME_ARGUMENTS" value="" />
<option name="AUTO_ATTACH_CHILDREN" value="0" />
<option name="MIXED_MODE_DEBUG" value="0" />
<option name="PROJECT_PATH" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Browser/PSCHelpdesk.Browser.csproj" />
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
@ -146,13 +136,8 @@
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/bin/Debug/net9.0" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="USE_EXTERNAL_CONSOLE" value="0" />
<option name="ENV_FILE_PATHS" value="" />
<option name="REDIRECT_INPUT_PATH" value="" />
<option name="PTY_MODE" value="Auto" />
<option name="USE_MONO" value="0" />
<option name="RUNTIME_ARGUMENTS" value="" />
<option name="AUTO_ATTACH_CHILDREN" value="0" />
<option name="MIXED_MODE_DEBUG" value="0" />
<option name="PROJECT_PATH" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/PSCHelpdesk.Desktop.csproj" />
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
@ -169,13 +154,8 @@
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/bin/Debug/net9.0" />
<option name="PASS_PARENT_ENVS" value="1" />
<option name="USE_EXTERNAL_CONSOLE" value="0" />
<option name="ENV_FILE_PATHS" value="" />
<option name="REDIRECT_INPUT_PATH" value="" />
<option name="PTY_MODE" value="Auto" />
<option name="USE_MONO" value="0" />
<option name="RUNTIME_ARGUMENTS" value="" />
<option name="AUTO_ATTACH_CHILDREN" value="0" />
<option name="MIXED_MODE_DEBUG" value="0" />
<option name="RUNTIME_TYPE" value="coreclr" />
<option name="PROJECT_PATH" value="$PROJECT_DIR$/PSCHelpdesk/PSCHelpdesk.Desktop/PSCHelpdesk.Desktop.csproj" />
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
@ -267,36 +247,26 @@
<workItem from="1734440327643" duration="505000" />
<workItem from="1734440840094" duration="1461000" />
<workItem from="1734512891958" duration="8348000" />
<workItem from="1734681339447" duration="16737000" />
<workItem from="1735123214835" duration="1653000" />
<workItem from="1736948977011" duration="332000" />
<workItem from="1737038383441" duration="226000" />
<workItem from="1737039295949" duration="1236000" />
<workItem from="1743165836762" duration="2671000" />
<workItem from="1743501446532" duration="3592000" />
<workItem from="1743587565847" duration="1225000" />
<workItem from="1743604532742" duration="1994000" />
<workItem from="1743754990311" duration="1575000" />
<workItem from="1743767288057" duration="617000" />
<workItem from="1743782743398" duration="1871000" />
<workItem from="1744031357110" duration="1699000" />
<workItem from="1744285115795" duration="665000" />
<workItem from="1744631967068" duration="656000" />
<workItem from="1744702202799" duration="2323000" />
<workItem from="1744893226982" duration="632000" />
<workItem from="1745319131675" duration="7778000" />
<workItem from="1745841859983" duration="2375000" />
<workItem from="1745910444885" duration="4541000" />
<workItem from="1745942637758" duration="3099000" />
<workItem from="1746374007171" duration="9698000" />
<workItem from="1746781538550" duration="1342000" />
<workItem from="1747038399537" duration="42000" />
<workItem from="1747038853869" duration="112000" />
<workItem from="1747038981831" duration="5786000" />
<workItem from="1747490908831" duration="662000" />
<workItem from="1747575639007" duration="7581000" />
<workItem from="1747843509990" duration="143000" />
<workItem from="1747843668500" duration="750000" />
<workItem from="1734681339447" duration="25455000" />
<workItem from="1735825667995" duration="6639000" />
<workItem from="1736012348049" duration="5675000" />
<workItem from="1736245173247" duration="1723000" />
<workItem from="1736268018760" duration="1279000" />
<workItem from="1736272969135" duration="16118000" />
<workItem from="1736861862450" duration="6203000" />
<workItem from="1737048851006" duration="14459000" />
<workItem from="1737537909704" duration="3401000" />
<workItem from="1737646873757" duration="1252000" />
<workItem from="1737728621993" duration="12485000" />
<workItem from="1737966490104" duration="1235000" />
<workItem from="1737998140424" duration="2999000" />
<workItem from="1738271984376" duration="325000" />
<workItem from="1738310654132" duration="13826000" />
<workItem from="1739349147095" duration="24038000" />
<workItem from="1739867474147" duration="39725000" />
<workItem from="1740569707006" duration="11324000" />
<workItem from="1741601215219" duration="1811000" />
<workItem from="1741876162867" duration="16308000" />
</task>
<task id="LOCAL-00001" summary="Backup">
<option name="closed" value="true" />
@ -354,7 +324,15 @@
<option name="project" value="LOCAL" />
<updated>1734120730780</updated>
</task>
<option name="localTasksCounter" value="8" />
<task id="LOCAL-00008" summary="Fixes">
<option name="closed" value="true" />
<created>1735121726198</created>
<option name="number" value="00008" />
<option name="presentableId" value="LOCAL-00008" />
<option name="project" value="LOCAL" />
<updated>1735121726198</updated>
</task>
<option name="localTasksCounter" value="9" />
<servers />
</component>
<component name="TypeScriptGeneratedFilesManager">
@ -377,7 +355,8 @@
<option name="CLEAR_INITIAL_COMMIT_MESSAGE" value="true" />
<MESSAGE value="backup" />
<MESSAGE value="Backup" />
<option name="LAST_COMMIT_MESSAGE" value="Backup" />
<MESSAGE value="Fixes" />
<option name="LAST_COMMIT_MESSAGE" value="Fixes" />
</component>
<component name="XDebuggerManager">
<breakpoint-manager>
@ -479,18 +458,6 @@
</properties>
<option name="timeStamp" value="195" />
</line-breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.OperationCanceledException" breakIfHandledByOtherCode="false" displayValue="System.OperationCanceledException" />
<option name="timeStamp" value="196" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.Tasks.TaskCanceledException" breakIfHandledByOtherCode="false" displayValue="System.Threading.Tasks.TaskCanceledException" />
<option name="timeStamp" value="197" />
</breakpoint>
<breakpoint enabled="true" type="DotNet_Exception_Breakpoints">
<properties exception="System.Threading.ThreadAbortException" breakIfHandledByOtherCode="false" displayValue="System.Threading.ThreadAbortException" />
<option name="timeStamp" value="198" />
</breakpoint>
</breakpoints>
</breakpoint-manager>
<pin-to-top-manager>

View File

@ -78,9 +78,6 @@ public class CheckMKService: IServerService
if (serv.Services.Count == 0 && serv.BackupLastModified > DateTime.Today.AddDays(-3) && serv.Status == "running")
{
serv.ServerStatus = Brushes.Transparent;
}else
{
serv.ServerStatus = Brushes.Red;
}
}
}
@ -95,57 +92,11 @@ public class CheckMKService: IServerService
public void DoReScan(Server serv)
{
doScan();
doScan(serv);
}
async private void doScan()
async private void doScan(Server serv)
{
var settings = new CheckMKSettings();
_settingsManager.LoadPluginSettings("CheckMKSettings", settings);
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/ld+json"));
httpClient.DefaultRequestHeaders.Add("User-Agent", "PSC Client");
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Basic", Convert.ToBase64String(System.Text.Encoding.UTF8.GetBytes($"{settings.Username}:{settings.Password}")));
try
{
foreach (var serv in _server.SourceCache.Items)
{
serv.Services.Clear();
}
var stringPlugins =
httpClient.GetStringAsync("https://check.thomas-peterson.de/cmk/check_mk/view.py?view_name=svcproblems&output_format=json");
var msg = await stringPlugins;
JArray pluginMsg = JArray.Parse(msg);
foreach (var token in pluginMsg)
{
if (token[0].ToString() != "service_state")
{
var serv = _server.SourceCache.Items.FirstOrDefault(e => e.Name.ToLower().Contains(token[1].ToString().ToLower()));
if (serv != null)
{
serv.Services.Add(new Models.Service(token[0].ToString(), token[4].ToString()));
}
}
}
foreach (var serv in _server.SourceCache.Items)
{
if (serv.Services.Count == 0 && serv.BackupLastModified > DateTime.Today.AddDays(-3) && serv.Status == "running")
{
serv.ServerStatus = Brushes.Transparent;
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}

View File

@ -331,58 +331,6 @@ public class ServerService: IServerService
}
}
if (serv.Domains.Count == 0)
{
command = client.RunCommand("docker inspect psc-web-1");
if (command.ExitStatus == 0)
{
JArray web = JArray.Parse(command.Result);
var hostConfigArray = web[0]["HostConfig"];
if (hostConfigArray["RestartPolicy"]["Name"].ToString() == "always")
{
serv.IsRestartAlways = true;
}
var webEnvArray = web[0]["Config"]["Env"];
foreach (String entry in webEnvArray)
{
var webExploded = entry.Split("=");
if (webExploded[0] == "LETSENCRYPT_HOST")
{
var webHosts = webExploded[1].Split(",");
serv.Domains.Clear();
foreach (String dom in webHosts)
{
serv.Domains.Add(new Domain(dom));
}
var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Accept.Clear();
httpClient.DefaultRequestHeaders.Accept.Add(
new MediaTypeWithQualityHeaderValue("application/ld+json"));
httpClient.DefaultRequestHeaders.Add("User-Agent", "PSC Client");
try
{
var stringTask =
httpClient.GetStringAsync("https://" + webHosts[0] +
"/apps/api/system/version");
var msg = await stringTask;
JObject versionMSg = JObject.Parse(msg);
serv.Datum = versionMSg["datum"].ToString();
serv.Release = float.Parse(versionMSg["release"].ToString());
}
catch (Exception ex)
{
}
}
}
}
}
if (serv.PscApiKey != "" && serv.Domains.Count > 0)
{
var httpClient = new HttpClient();
@ -444,15 +392,6 @@ public class ServerService: IServerService
serv.IsGoodColor = Brushes.Green;
}
if (serv.Services.Count == 0 && serv.BackupLastModified > DateTime.Today.AddDays(-3) && serv.Status == "running")
{
serv.ServerStatus = Brushes.Transparent;
}
else
{
serv.ServerStatus = Brushes.Red;
}
client.Disconnect();
}
catch (Exception ex)

View File

@ -180,7 +180,6 @@ public partial class ServerViewModel : ViewModelBase, IViewModelBase
if (serv.IsChecked)
{
ServerService.DoReScan(serv);
CheckMKService.DoReScan(serv);
}
}
}

View File

@ -18,7 +18,7 @@
<converter:DateTimeConverter x:Key="DateTimeConverter"></converter:DateTimeConverter>
</UserControl.Resources>
<Grid ColumnDefinitions="*,4,*">
<Grid Grid.Column="0" Margin="20" RowDefinitions="Auto,Auto,Auto,*">
<Grid Grid.Column="0" Margin="20" RowDefinitions="Auto,Auto,*">
<StackPanel Grid.Row="0" Margin="0 0 0 5">
<TextBlock Margin="0 5" >Suchtext</TextBlock>
<TextBox Text="{Binding SearchText}"></TextBox>
@ -29,10 +29,10 @@
<Button Content="Reboot" Command="{Binding Reboot}"></Button>
<Button Content="Select ALL" Command="{Binding SelectAll}"></Button>
<Button Content="DeSelect ALL" Command="{Binding DeSelectAll}"></Button>
<!-- <TextBox Grid.Row="1" Text="{Binding Json}"></TextBox>-->
</StackPanel>
<TextBox Grid.Row="2" Text="{Binding Json}"></TextBox>
<DataGrid Grid.Row="3" ItemsSource="{Binding Server}"
<DataGrid Grid.Row="2" ItemsSource="{Binding Server}"
AutoGenerateColumns="False" IsReadOnly="True"
GridLinesVisibility="All" CanUserReorderColumns="True"
CanUserResizeColumns="True"