2023-10-24 08:06:07 +00:00
|
|
|
|
using KubernetesWorkflow;
|
2023-11-12 09:07:23 +00:00
|
|
|
|
using KubernetesWorkflow.Recipe;
|
2023-10-25 09:53:33 +00:00
|
|
|
|
using Utils;
|
2023-10-24 08:06:07 +00:00
|
|
|
|
|
|
|
|
|
namespace CodexDiscordBotPlugin
|
|
|
|
|
{
|
|
|
|
|
public class DiscordBotContainerRecipe : ContainerRecipeFactory
|
|
|
|
|
{
|
|
|
|
|
public override string AppName => "discordbot-bibliotech";
|
|
|
|
|
public override string Image => "thatbenbierens/codex-discordbot:initial";
|
|
|
|
|
|
|
|
|
|
protected override void Initialize(StartupConfig startupConfig)
|
|
|
|
|
{
|
|
|
|
|
var config = startupConfig.Get<DiscordBotStartupConfig>();
|
|
|
|
|
|
2023-11-27 17:06:04 +00:00
|
|
|
|
SetSchedulingAffinity(notIn: "false");
|
2023-11-14 09:16:00 +00:00
|
|
|
|
|
2023-10-24 08:06:07 +00:00
|
|
|
|
AddEnvVar("TOKEN", config.Token);
|
|
|
|
|
AddEnvVar("SERVERNAME", config.ServerName);
|
|
|
|
|
AddEnvVar("ADMINROLE", config.AdminRoleName);
|
2023-10-25 08:38:21 +00:00
|
|
|
|
AddEnvVar("ADMINCHANNELNAME", config.AdminChannelName);
|
2023-11-08 10:49:21 +00:00
|
|
|
|
AddEnvVar("KUBECONFIG", "/opt/kubeconfig.yaml");
|
|
|
|
|
AddEnvVar("KUBENAMESPACE", config.KubeNamespace);
|
2023-10-25 09:53:33 +00:00
|
|
|
|
|
2023-12-11 10:09:29 +00:00
|
|
|
|
var gethInfo = config.GethInfo;
|
|
|
|
|
AddEnvVar("GETH_HOST", gethInfo.Host);
|
|
|
|
|
AddEnvVar("GETH_HTTP_PORT", gethInfo.Port.ToString());
|
|
|
|
|
AddEnvVar("GETH_PRIVATE_KEY", gethInfo.PrivKey);
|
|
|
|
|
AddEnvVar("CODEXCONTRACTS_MARKETPLACEADDRESS", gethInfo.MarketplaceAddress);
|
|
|
|
|
AddEnvVar("CODEXCONTRACTS_TOKENADDRESS", gethInfo.TokenAddress);
|
|
|
|
|
AddEnvVar("CODEXCONTRACTS_ABI", gethInfo.Abi);
|
|
|
|
|
|
2023-10-25 12:33:47 +00:00
|
|
|
|
if (!string.IsNullOrEmpty(config.DataPath))
|
2023-10-25 09:53:33 +00:00
|
|
|
|
{
|
|
|
|
|
AddEnvVar("DATAPATH", config.DataPath);
|
|
|
|
|
AddVolume(config.DataPath, 1.GB());
|
|
|
|
|
}
|
2023-11-08 10:49:21 +00:00
|
|
|
|
|
2023-11-08 10:59:31 +00:00
|
|
|
|
AddVolume(name: "kubeconfig", mountPath: "/opt/kubeconfig.yaml", subPath: "kubeconfig.yaml", secret: "discordbot-sa-kubeconfig");
|
2023-10-24 08:06:07 +00:00
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|