Files
123123/ZA.CoreService.ESBCertificateManager/Services/SonicContainerDiscovery.cs
T
GizzlerandCursor c73f53d740 Slim MfApi stack to restart-only path.
Drop ping/list discovery, WinRM scripts, and heavy Java probing so only KnownContainers + MBean restart remain.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-24 12:32:05 +02:00

49 lines
1.6 KiB
C#

using ZA.CoreService.ESBCertificateManager.Models;
namespace ZA.CoreService.ESBCertificateManager.Services;
/// <summary>
/// Liefert Ziele nur aus appsettings KnownContainers (kein Live-Ping/List).
/// </summary>
public sealed class SonicContainerDiscovery
{
private readonly IReadOnlyList<SonicConnection> _connections;
public SonicContainerDiscovery(IReadOnlyList<SonicConnection> connections)
{
_connections = connections;
}
public bool HasConnections => _connections.Count > 0;
public IReadOnlyList<SonicConnection> Connections => _connections;
public IReadOnlyList<DeploymentTarget> BuildTargetsFromConfig()
{
List<DeploymentTarget> result = [];
int id = 1;
foreach (SonicConnection connection in _connections)
{
foreach (string containerName in connection.KnownContainers
.Where(n => !string.IsNullOrWhiteSpace(n)))
{
result.Add(new DeploymentTarget
{
Id = id++,
Name = $"{connection.Name} / {containerName}",
Environment = connection.DomainName,
IsActive = true,
TargetDirectory = string.Empty,
CertificateFileName = string.Empty,
ContainerName = containerName.Trim(),
RestartType = RestartType.SonicContainer,
SonicConnectionName = connection.Name,
SortOrder = id * 10
});
}
}
return result;
}
}