Trying deploy replication

This commit is contained in:
benbierens 2023-10-05 08:55:13 +02:00
parent ffe762f860
commit 8fb63213bc
No known key found for this signature in database
GPG Key ID: FE44815D96D0A1AA
2 changed files with 25 additions and 4 deletions

View File

@ -68,6 +68,9 @@ namespace CodexNetDeployer
[Uniform("check-connect", "cc", "CHECKCONNECT", false, "If true, deployer check ensure peer-connectivity between all deployed nodes after deployment. Default is false.")] [Uniform("check-connect", "cc", "CHECKCONNECT", false, "If true, deployer check ensure peer-connectivity between all deployed nodes after deployment. Default is false.")]
public bool CheckPeerConnection { get; set; } = false; public bool CheckPeerConnection { get; set; } = false;
[Uniform("replication", "rep", "REPLICATION", false, "Number of times to repeat")]
public int Replication { get; set; } = 0;
public List<string> Validate() public List<string> Validate()
{ {
var errors = new List<string>(); var errors = new List<string>();

View File

@ -33,14 +33,32 @@ public class Program
Console.WriteLine("I think so too."); Console.WriteLine("I think so too.");
} }
if (config.Replication == 0)
{
var deployment = deployer.Deploy(); var deployment = deployer.Deploy();
Console.WriteLine($"Writing deployment file '{config.DeployFile}'..."); Console.WriteLine($"Writing deployment file '{config.DeployFile}'...");
File.WriteAllText(config.DeployFile, JsonConvert.SerializeObject(deployment, Formatting.Indented)); File.WriteAllText(config.DeployFile, JsonConvert.SerializeObject(deployment, Formatting.Indented));
Console.WriteLine("Done!");
}
else
{
var originalNamespace = config.KubeNamespace;
var originalDeployFile = config.DeployFile;
for (var i = 0; i < config.Replication; i++)
{
config.KubeNamespace = originalNamespace + "-" + i;
config.DeployFile = originalDeployFile.ToLowerInvariant().Replace(".json", $"-{i}.json");
var deployment = deployer.Deploy();
Console.WriteLine($"Writing deployment file '{config.DeployFile}'...");
File.WriteAllText(config.DeployFile, JsonConvert.SerializeObject(deployment, Formatting.Indented));
}
Console.WriteLine("Done!"); Console.WriteLine("Done!");
} }
}
private static void PrintHelp() private static void PrintHelp()
{ {