Skip to content

Commit 5b5cba9

Browse files
committed
Testing initial swarm support
1 parent 0e61012 commit 5b5cba9

File tree

3 files changed

+20
-4
lines changed

3 files changed

+20
-4
lines changed

DevSpaceShared/Responses/AgentStatsResponse.cs

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
using DevSpaceShared.WebSocket;
1+
using DevSpaceShared.Responses;
2+
using DevSpaceShared.WebSocket;
23
using Docker.DotNet;
34
using Docker.DotNet.Models;
45

@@ -10,7 +11,7 @@ public AgentStatsResponse() : base(EventType.GetAgentStats)
1011

1112
}
1213

13-
public static async Task<AgentStatsResponse> Create(string? agentVersion, DockerClient client, SystemInfoResponse systemInfo)
14+
public static async Task<AgentStatsResponse> Create(string? agentVersion, DockerClient client, Docker.DotNet.Models.SystemInfoResponse systemInfo)
1415
{
1516
IList<ContainerListResponse> Containers = await client.Containers.ListContainersAsync(new ContainersListParameters
1617
{
@@ -34,7 +35,13 @@ public static async Task<AgentStatsResponse> Create(string? agentVersion, Docker
3435
ImagesCount = systemInfo.Images,
3536
AgentVersion = agentVersion,
3637
DockerVersion = systemInfo.ServerVersion,
37-
IsWindows = systemInfo.OperatingSystem == "Docker Desktop"
38+
IsWindows = systemInfo.OperatingSystem == "Docker Desktop",
39+
Swarm = !string.IsNullOrEmpty(systemInfo.Swarm.NodeID) ? new SystemInfoSwarmResponse
40+
{
41+
Managers = systemInfo.Swarm.Managers,
42+
Nodes = systemInfo.Swarm.Nodes,
43+
IsManager = systemInfo.Swarm.RemoteManagers.Any(x => x.NodeID == systemInfo.Swarm.NodeID)
44+
} : null,
3845
};
3946
}
4047
public long StacksCount { get; set; }
@@ -50,4 +57,5 @@ public static async Task<AgentStatsResponse> Create(string? agentVersion, Docker
5057
public string? AgentVersion { get; set; }
5158
public string DockerVersion { get; set; }
5259
public bool IsWindows { get; set; }
60+
public SystemInfoSwarmResponse? Swarm { get; set; }
5361
}

DevSpaceShared/Responses/SystemInfoResponse.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ public string GetUptimeText()
3838
}
3939
public class SystemInfoSwarmResponse
4040
{
41+
public bool IsManager { get; set; }
4142
public string NodeID { get; set; }
4243
public string NodeAddress { get; set; }
4344
public string NodeState { get; set; }

DevSpaceWeb/Components/Pages/Server/ServerList.razor

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,14 @@
8686
<RadzenText TextStyle="TextStyle.Body2" Style="color: var(--rz-text-tertiary-color);">@("Agent " + context.GetAgentVersion())</RadzenText>
8787
@if (context.TryGetWebSocket(out IAgent? agent) && agent.Stats != null)
8888
{
89-
<RadzenText TextStyle="TextStyle.Body2" Style="color: var(--rz-text-tertiary-color);">@("Docker v" + agent.Stats.DockerVersion)</RadzenText>
89+
if (agent.Stats.Swarm != null)
90+
{
91+
<RadzenText TextStyle="TextStyle.Body2" Style="color: var(--rz-text-tertiary-color);">@("Docker Swarm v" + agent.Stats.DockerVersion)</RadzenText>
92+
}
93+
else
94+
{
95+
<RadzenText TextStyle="TextStyle.Body2" Style="color: var(--rz-text-tertiary-color);">@("Docker Standalone v" + agent.Stats.DockerVersion)</RadzenText>
96+
}
9097
}
9198
@switch (context.AgentType)
9299
{

0 commit comments

Comments
 (0)