示例#1
0
        public static void Start(this IStartEnvironmentPipeline startEnvironmentPipeline, NodeContext node, IConfigurationRoot configuration)
        {
            // Starting the environment to register Minion policies and run Minions
            var environmentName = configuration.GetSection("AppSettings:EnvironmentName").Value;

            node.AddDataMessage("EnvironmentStartup", $"StartEnvironment={environmentName}");

            startEnvironmentPipeline.Run(environmentName, node.GetPipelineContextOptions()).Wait();
        }
        public static void ConfigureCommerceNode(this IServiceCollection services, IConfigurationRoot configuration, string nodeInstanceId, CommerceEnvironment environment, NodeContext node)
        {
            node.Environment           = environment;
            node.GlobalEnvironmentName = environment.Name;

            node.AddDataMessage("NodeStartup", $"Status='Started',GlobalEnvironmentName='{node.GlobalEnvironmentName}'");

            if (!string.IsNullOrEmpty(environment.GetPolicy <DeploymentPolicy>().DeploymentId))
            {
                node.ContactId = $"{environment.GetPolicy<DeploymentPolicy>().DeploymentId}_{nodeInstanceId}";
            }
            else if (configuration.GetSection("AppSettings:BootStrapFile").Value != null)
            {
                node.ContactId = configuration.GetSection("AppSettings:NodeId").Value;
            }

            node.Objects.Add(services);

            services.AddSingleton(node);
        }
示例#3
0
        public static CommerceEnvironment ConfigureCommerceEnvironment(this IServiceCollection services, IConfigurationRoot configuration, NodeContext node)
        {
            var logger = ApplicationLogging.CreateLogger("ConfigEnvironment");

            logger.LogInformation($"Loading Global Environment using Filesystem Provider from: {node.BootStrapProviderPath}");
            var bootstrapProvider = new FileSystemEntityProvider(node.BootStrapProviderPath);

            var appSettingBootstrapFileValue = configuration.GetSection("AppSettings:BootStrapFile").Value;

            if (!string.IsNullOrEmpty(appSettingBootstrapFileValue))
            {
                node.BootStrapEnvironmentPath = appSettingBootstrapFileValue;
            }

            node.AddDataMessage("NodeStartup", $"GlobalEnvironmentFrom='{node.BootStrapEnvironmentPath}.json'");

            var environment = bootstrapProvider.Find <CommerceEnvironment>(node, node.BootStrapEnvironmentPath, false).Result;

            services.AddSingleton(environment);

            return(environment);
        }