Skip to content

Commit a4a8143

Browse files
Report managed instance os and client details
1 parent 8322a58 commit a4a8143

File tree

3 files changed

+32
-5
lines changed

3 files changed

+32
-5
lines changed

src/Certify.Core/Management/CertifyManager/CertifyManager.ManagementHub.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@
88
using Certify.Models;
99
using Certify.Models.Config;
1010
using Certify.Shared.Core.Utils;
11+
using System.Runtime.InteropServices;
12+
using Certify.Locales;
1113

1214
namespace Certify.Management
1315
{
@@ -46,10 +48,16 @@ private async Task StartManagementHubConnection(string hubUri)
4648

4749
_serviceLog.Debug("Attempting connection to management hub {hubUri}", hubUri);
4850

51+
var appVersion = Util.GetAppVersion().ToString();
52+
4953
var instanceInfo = new ManagedInstanceInfo
5054
{
5155
InstanceId = $"{this.InstanceId}",
52-
Title = $"{Environment.MachineName} [{EnvironmentUtil.GetFriendlyOSName()}]",
56+
Title = $"{Environment.MachineName}",
57+
OS = EnvironmentUtil.GetFriendlyOSName(detailed: false),
58+
OSVersion = EnvironmentUtil.GetFriendlyOSName(),
59+
ClientVersion = appVersion,
60+
ClientName = ConfigResources.AppName
5361
};
5462

5563
if (_managementServerClient != null)

src/Certify.Models/Hub/ManagedInstanceInfo.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ public class ManagedInstanceInfo
88
{
99
public string InstanceId { get; set; } = string.Empty;
1010
public string Title { get; set; } = string.Empty;
11+
public string OS { get; set; } = string.Empty;
12+
public string OSVersion { get; set; } = string.Empty;
13+
public string ClientName { get; set; } = string.Empty;
14+
public string ClientVersion { get; set; } = string.Empty;
15+
1116
public List<string> Tags { get; set; } = new List<string>();
1217
public DateTimeOffset LastReported { get; set; }
1318
}

src/Certify.Models/Util/EnvironmentUtil.cs

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@ private static void CreateAndApplyRestrictedACL(string path)
8585
/// </summary>
8686
/// <param name="subDirectory">optional subfolder to include</param>
8787
/// <returns>full app data with with optional subdirectory</returns>
88-
public static string CreateAppDataPath(string? subDirectory = null, bool skipCreation=false)
88+
public static string CreateAppDataPath(string? subDirectory = null, bool skipCreation = false)
8989
{
9090
var parts = new List<string>()
9191
{
@@ -119,14 +119,19 @@ public static string CreateAppDataPath(string? subDirectory = null, bool skipCre
119119
return path;
120120
}
121121

122-
public static string GetFriendlyOSName()
122+
public static string GetFriendlyOSName(bool detailed = true)
123123
{
124124
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
125125
{
126-
return $"{RuntimeInformation.OSDescription}";
126+
return detailed ? $"{RuntimeInformation.OSDescription}" : "Windows";
127127
}
128128
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
129129
{
130+
if (!detailed)
131+
{
132+
return "Linux";
133+
}
134+
130135
var filePath = "/etc/os-release";
131136

132137
try
@@ -149,7 +154,16 @@ public static string GetFriendlyOSName()
149154
return $"Linux - {RuntimeInformation.OSDescription}";
150155
}
151156
}
152-
157+
else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX))
158+
{
159+
return detailed ? $"{RuntimeInformation.OSDescription}" : "macOS";
160+
}
161+
#if NET9_0_OR_GREATER
162+
else if (RuntimeInformation.IsOSPlatform(OSPlatform.FreeBSD))
163+
{
164+
return detailed ? $"{RuntimeInformation.OSDescription}" : "FreeBSD";
165+
}
166+
#endif
153167
return $"{RuntimeInformation.OSDescription}";
154168
}
155169
}

0 commit comments

Comments
 (0)