Exemplo n.º 1
0
        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();
        }
Exemplo n.º 3
0
        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);
            }
        }
Exemplo n.º 4
0
        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();
            }
        }
Exemplo n.º 7
0
        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);
        }
Exemplo n.º 8
0
        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;
            }
        }
Exemplo n.º 9
0
        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));
        }
Exemplo n.º 12
0
        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"));
        }
Exemplo n.º 16
0
        protected virtual IEnumerable <string> GetHostNames(InstallContainerArgs args)
        {
            IEnumerable <string> hosts = args.EnvModel.Where(nvp => nvp.Name.EndsWith("_HOST")).Select(nvp => nvp.Value);

            return(hosts);
        }