2
0
mirror of synced 2025-02-12 00:16:39 +00:00

66 lines
2.1 KiB
C#
Raw Normal View History

2023-03-19 11:18:56 +01:00
using k8s.Models;
namespace CodexDistTestCore.Config
2023-03-19 11:18:56 +01:00
{
public class CodexDockerImage
{
public string GetImageTag()
{
return "thatbenbierens/nim-codex:sha-b204837";
}
public string GetExpectedImageRevision()
{
return "b20483";
2023-03-19 11:18:56 +01:00
}
2023-03-21 15:17:48 +01:00
public List<V1EnvVar> CreateEnvironmentVariables(OfflineCodexNodes node, CodexNodeContainer environment)
2023-03-19 11:18:56 +01:00
{
var formatter = new EnvFormatter();
2023-03-21 15:17:48 +01:00
formatter.Create(node, environment);
2023-03-19 11:18:56 +01:00
return formatter.Result;
}
private class EnvFormatter
{
public List<V1EnvVar> Result { get; } = new List<V1EnvVar>();
public void Create(OfflineCodexNodes node, CodexNodeContainer container)
2023-03-19 11:18:56 +01:00
{
AddVar("API_PORT", container.ApiPort.ToString());
AddVar("DATA_DIR", container.DataDir);
AddVar("DISC_PORT", container.DiscoveryPort.ToString());
AddVar("LISTEN_ADDRS", $"/ip4/0.0.0.0/tcp/{container.ListenPort}");
2023-03-21 15:17:48 +01:00
2023-03-19 11:18:56 +01:00
if (node.BootstrapNode != null)
{
var debugInfo = node.BootstrapNode.GetDebugInfo();
AddVar("BOOTSTRAP_SPR", debugInfo.spr);
}
if (node.LogLevel != null)
{
AddVar("LOG_LEVEL", node.LogLevel.ToString()!.ToUpperInvariant());
}
if (node.StorageQuota != null)
{
AddVar("STORAGE_QUOTA", node.StorageQuota.SizeInBytes.ToString()!);
2023-03-19 11:18:56 +01:00
}
if (node.MetricsEnabled)
{
AddVar("METRICS_ADDR", "0.0.0.0");
AddVar("METRICS_PORT", container.MetricsPort.ToString());
}
2023-03-19 11:18:56 +01:00
}
private void AddVar(string key, string value)
{
Result.Add(new V1EnvVar
{
Name = key,
Value = value
});
}
}
}
}