cs-codex-dist-tests/KubernetesWorkflow/RunningContainers.cs

56 lines
1.8 KiB
C#
Raw Normal View History

using Utils;
namespace KubernetesWorkflow
2023-04-12 11:53:55 +00:00
{
public class RunningContainers
{
public RunningContainers(StartupConfig startupConfig, RunningPod runningPod, RunningContainer[] containers)
{
StartupConfig = startupConfig;
RunningPod = runningPod;
Containers = containers;
}
public StartupConfig StartupConfig { get; }
public RunningPod RunningPod { get; }
public RunningContainer[] Containers { get; }
2023-04-13 12:36:17 +00:00
public string Describe()
{
return string.Join(",", Containers.Select(c => c.Name));
2023-04-13 12:36:17 +00:00
}
2023-04-12 11:53:55 +00:00
}
public class RunningContainer
{
public RunningContainer(RunningPod pod, ContainerRecipe recipe, Port[] servicePorts, StartupConfig startupConfig, Address clusterExternalAddress, Address clusterInternalAddress)
2023-04-12 11:53:55 +00:00
{
Pod = pod;
Recipe = recipe;
ServicePorts = servicePorts;
Name = GetContainerName(recipe, startupConfig);
ClusterExternalAddress = clusterExternalAddress;
ClusterInternalAddress = clusterInternalAddress;
2023-04-12 11:53:55 +00:00
}
public string Name { get; }
2023-04-12 11:53:55 +00:00
public RunningPod Pod { get; }
public ContainerRecipe Recipe { get; }
public Port[] ServicePorts { get; }
public Address ClusterExternalAddress { get; }
public Address ClusterInternalAddress { get; }
private string GetContainerName(ContainerRecipe recipe, StartupConfig startupConfig)
{
if (!string.IsNullOrEmpty(startupConfig.NameOverride))
{
return $"<{startupConfig.NameOverride}{recipe.Number}>";
}
else
{
return $"<{recipe.Name}>";
}
}
2023-04-12 11:53:55 +00:00
}
}