private string GetConfig(InstallContainerArgs args) { Topology topology = args.Topology; string pathToCerts = @"C:\etc\traefik\certs"; switch (topology) { case Topology.Xm1: case Topology.Xp1: return($@"tls: certificates: - certFile: {pathToCerts}\{args.EnvModel.CmHost}.crt keyFile: {pathToCerts}\{args.EnvModel.CmHost}.key - certFile: {pathToCerts}\{args.EnvModel.CdHost}.crt keyFile: {pathToCerts}\{args.EnvModel.CdHost}.key - certFile: {pathToCerts}\{args.EnvModel.IdHost}.crt keyFile: {pathToCerts}\{args.EnvModel.IdHost}.key "); case Topology.Xp0: return($@"tls: certificates: - certFile: {pathToCerts}\{args.EnvModel.CmHost}.crt keyFile: {pathToCerts}\{args.EnvModel.CmHost}.key - certFile: {pathToCerts}\{args.EnvModel.IdHost}.crt keyFile: {pathToCerts}\{args.EnvModel.IdHost}.key "); default: throw new InvalidOperationException("Config is not defined for '" + topology.ToString() + "' topology."); } }
protected override void Process([NotNull] ProcessorArgs arguments) { Assert.ArgumentNotNull(arguments, "arguments"); InstallContainerArgs args = (InstallContainerArgs)arguments; args.EnvModel.TelerikKey = this._generator.Generate(); }
protected override void Process([NotNull] ProcessorArgs arguments) { InstallContainerArgs args = (InstallContainerArgs)arguments; string licensePath = Path.Combine(args.Destination, "license.xml"); if (FileSystem.FileSystem.Local.File.Exists(licensePath)) { args.EnvModel.SitecoreLicense = this.converter.Convert(licensePath); } }
protected override void Process([NotNull] ProcessorArgs arguments) { Assert.ArgumentNotNull(arguments, "arguments"); InstallContainerArgs args = (InstallContainerArgs)arguments; if (args.EnvModel.KeyExists(Key)) { args.EnvModel[Key] = this._generator.Generate(); } }
protected override void Process([NotNull] ProcessorArgs arguments) { InstallContainerArgs args = (InstallContainerArgs)arguments; SIM.FileSystem.FileSystem.Local.Directory.Copy(args.FilesRoot, args.Destination, true); if (FileSystem.FileSystem.Local.File.Exists(args.EnvModel.SitecoreLicense)) { string licensePath = Path.Combine(args.Destination, "license.xml"); FileSystem.FileSystem.Local.File.Copy(args.EnvModel.SitecoreLicense, licensePath); } }
protected override void Process([NotNull] ProcessorArgs arguments) { Assert.ArgumentNotNull(arguments, "arguments"); InstallContainerArgs args = (InstallContainerArgs)arguments; if (string.IsNullOrEmpty(args.EnvModel.SqlAdminPassword)) { args.EnvModel.SqlAdminPassword = this._generator.Generate(); } }
protected override void Process([NotNull] ProcessorArgs arguments) { Assert.ArgumentNotNull(arguments, nameof(arguments)); InstallContainerArgs args = (InstallContainerArgs)arguments; Assert.ArgumentNotNull(args, nameof(args)); IEnumerable <string> hosts = GetHostNames(args); DoUpdate(hosts); }
private void UpdateTlsDynamicConfig(InstallContainerArgs args) { string yamlContent = GetConfig(args); string yamlFileName = Path.Combine(args.Destination, PathToDynamicConfigFolder, CertsConfigFileName); try { UpdateConfigFile(yamlFileName, yamlContent); } catch (Exception ex) { args.Logger.Error($"Could not update the '{CertsConfigFileName}' file. Message: {ex.Message}"); throw; } }
protected virtual string GetScript(InstallContainerArgs args) { Topology topology = args.Topology; switch (topology) { case Topology.Xm1: return(GetXm1Script(args.EnvModel.CmHost, args.EnvModel.CdHost, args.EnvModel.IdHost)); case Topology.Xp0: return(GetXp0Script(args.EnvModel.CmHost, args.EnvModel.IdHost)); case Topology.Xp1: return(GetXp1Script(args.EnvModel.CmHost, args.EnvModel.CdHost, args.EnvModel.IdHost)); default: throw new InvalidOperationException("Generate certificates script cannot be resolved for '" + topology.ToString() + "'"); } }
protected override void Process([NotNull] ProcessorArgs arguments) { Assert.ArgumentNotNull(arguments, "arguments"); InstallContainerArgs args = (InstallContainerArgs)arguments; string idServerSecret; string idServerCert; string idServerCertPassword; this._generator.Generate(args.Destination, out idServerSecret, out idServerCert, out idServerCertPassword ); args.EnvModel.IdServerSecret = idServerSecret; args.EnvModel.IdServerCert = idServerCert; args.EnvModel.IdServerCertPassword = idServerCertPassword; }
protected override void Process([NotNull] ProcessorArgs arguments) { Assert.ArgumentNotNull(arguments, "ProcessorArgs:arguments"); InstallContainerArgs args = (InstallContainerArgs)arguments; string destinationFolder = args.Destination; Assert.ArgumentNotNullOrEmpty(destinationFolder, "destinationFolder"); if (!Directory.Exists(destinationFolder)) { throw new InvalidOperationException("'args.Destination' points to non-existing Folder."); } string environmentName = args.EnvModel.ProjectName; Assert.ArgumentNotNullOrEmpty(environmentName, "projectName"); this.AddEnvironment(this.CreateEnvironment(environmentName, destinationFolder)); }
protected override void Process([NotNull] ProcessorArgs arguments) { Assert.ArgumentNotNull(arguments, "arguments"); InstallContainerArgs args = (InstallContainerArgs)arguments; this._logger = args.Logger; Assert.ArgumentNotNull(args, "args"); string destinationFolder = args.Destination; Assert.ArgumentNotNullOrEmpty(destinationFolder, "destinationFolder"); UpdateTlsDynamicConfig(args); string script = GetScript(args); PSExecutor ps = new PSScriptExecutor(destinationFolder, script); ExecuteScript(() => ps.Execute()); }
protected override ILogger GetLogger(ProcessorArgs procArgs) { InstallContainerArgs args = (InstallContainerArgs)procArgs; return(args.Logger); }
protected override string GetExecutionFolder(ProcessorArgs procArgs) { InstallContainerArgs args = (InstallContainerArgs)procArgs; return(args.Destination); }
protected override void Process([NotNull] ProcessorArgs arguments) { InstallContainerArgs args = (InstallContainerArgs)arguments; args.EnvModel.SaveToFile(Path.Combine(args.Destination, ".env")); }
protected virtual IEnumerable <string> GetHostNames(InstallContainerArgs args) { IEnumerable <string> hosts = args.EnvModel.Where(nvp => nvp.Name.EndsWith("_HOST")).Select(nvp => nvp.Value); return(hosts); }