public XunitClusterConfiguration(
     ElasticsearchVersion version,
     ClusterFeatures features     = ClusterFeatures.None,
     ElasticsearchPlugins plugins = null,
     int numberOfNodes            = 1)
     : base(version, features, plugins, numberOfNodes)
 {
     this.AdditionalAfterStartedTasks.Add(new PrintXunitAfterStartedTask());
 }
Beispiel #2
0
        private static void ManualConfigRun()
        {
            ElasticVersion version = "latest";

            var plugins =
                new ElasticsearchPlugins(ElasticsearchPlugin.IngestGeoIp, ElasticsearchPlugin.IngestAttachment);
            var features = Security | XPack | SSL;
            var config   = new EphemeralClusterConfiguration(version, features, plugins, numberOfNodes: 1)
            {
                HttpFiddlerAware = true,
                ShowElasticsearchOutputAfterStarted = true,
                CacheEsHomeInstallation             = false,
                TrialMode = XPackTrialMode.Trial,
                NoCleanupAfterNodeStopped = false,
            };

            using (var cluster = new EphemeralCluster(config))
            {
                cluster.Start();

                var nodes          = cluster.NodesUris();
                var connectionPool = new StaticConnectionPool(nodes);
                var settings       = new ConnectionSettings(connectionPool).EnableDebugMode();
                if (config.EnableSecurity)
                {
                    settings = settings.BasicAuthentication(ClusterAuthentication.Admin.Username,
                                                            ClusterAuthentication.Admin.Password);
                }
                if (config.EnableSsl)
                {
                    settings = settings.ServerCertificateValidationCallback(CertificateValidations.AllowAll);
                }

                var client = new ElasticClient(settings);

                var clusterConfiguration = new Dictionary <string, object>()
                {
                    { "cluster.routing.use_adaptive_replica_selection", true },
                    { "cluster.remote.remote-cluster.seeds", "127.0.0.1:9300" }
                };


                var putSettingsResponse = client.ClusterPutSettings(new ClusterPutSettingsRequest
                {
                    Transient = clusterConfiguration
                });


                Console.Write(client.XPackInfo().DebugInformation);
                Console.WriteLine("Press any key to exit");
                Console.ReadKey();
                Console.WriteLine("Exitting..");
            }

            Console.WriteLine("Done!");
        }
        public EphemeralClusterConfiguration(ElasticVersion version, ClusterFeatures features,
                                             ElasticsearchPlugins plugins = null, int numberOfNodes = 1)
            : base(version, (v, s) => new EphemeralFileSystem(v, s), numberOfNodes, EphemeralClusterName)
        {
            TrialMode = XPackTrialMode.None;
            Features  = features;

            var pluginsList = plugins?.ToList() ?? new List <ElasticsearchPlugin>();

            if (Features.HasFlag(ClusterFeatures.XPack) && pluginsList.All(p => p.SubProductName != "x-pack"))
            {
                pluginsList.Add(ElasticsearchPlugin.XPack);
            }

            Plugins = new ElasticsearchPlugins(pluginsList);

            AddDefaultXPackSettings();
        }
        private static void ManualConfigRun()
        {
            ElasticVersion version = "latest-7";

            var plugins =
                new ElasticsearchPlugins(ElasticsearchPlugin.IngestGeoIp, ElasticsearchPlugin.AnalysisKuromoji);
            var features = Security | XPack | SSL;
            var config   = new EphemeralClusterConfiguration(version, features, null, numberOfNodes: 1)
            {
                HttpFiddlerAware = true,
                ShowElasticsearchOutputAfterStarted = true,
                CacheEsHomeInstallation             = true,
                TrialMode = XPackTrialMode.Trial,
                NoCleanupAfterNodeStopped = false,
            };

            using (var cluster = new EphemeralCluster(config))
            {
                cluster.Start();

                var nodes          = cluster.NodesUris();
                var connectionPool = new StaticConnectionPool(nodes);
                var settings       = new ConnectionSettings(connectionPool).EnableDebugMode();
                if (config.EnableSecurity)
                {
                    settings = settings.BasicAuthentication(ClusterAuthentication.Admin.Username,
                                                            ClusterAuthentication.Admin.Password);
                }
                if (config.EnableSsl)
                {
                    settings = settings.ServerCertificateValidationCallback(CertificateValidations.AllowAll);
                }

                var client = new ElasticClient(settings);

                Console.Write(client.XPackInfo().DebugInformation);
                Console.WriteLine("Press any key to exit");
                Console.ReadKey();
                Console.WriteLine("Exitting..");
            }

            Console.WriteLine("Done!");
        }
Beispiel #5
0
        public static void Run()
        {
            var plugins  = new ElasticsearchPlugins(ElasticsearchPlugin.IngestGeoIp, ElasticsearchPlugin.AnalysisKuromoji);
            var versions = new string[] { "7.0.0-beta1", "latest", "latest-7", "latest-6", "957e3089:7.2.0", "6.6.1", "5.6.15" };
            var features = new[]
            {
                ClusterFeatures.None,
//				ClusterFeatures.XPack,
//				ClusterFeatures.XPack | ClusterFeatures.Security,
                ClusterFeatures.XPack | ClusterFeatures.SSL | ClusterFeatures.Security
            };

            foreach (var v in versions)
            {
                foreach (var f in features)
                {
                    Console.Clear();
                    var reset = Console.ForegroundColor;
                    Console.ForegroundColor = ConsoleColor.Cyan;
                    Console.WriteLine($"{v} {f}");

                    Console.ForegroundColor = reset;
                    var config = new EphemeralClusterConfiguration(v, f, plugins, numberOfNodes: 1)
                    {
                        HttpFiddlerAware = true,
                    };

                    using (var cluster = new EphemeralCluster(config))
                    {
                        try
                        {
                            cluster.Start();

                            var nodes          = cluster.NodesUris();
                            var connectionPool = new StaticConnectionPool(nodes);
                            var settings       = new ConnectionSettings(connectionPool).EnableDebugMode();
                            if (config.EnableSecurity)
                            {
                                settings = settings.BasicAuthentication(ClusterAuthentication.Admin.Username, ClusterAuthentication.Admin.Password);
                            }
                            if (config.EnableSsl)
                            {
                                settings = settings.ServerCertificateValidationCallback(CertificateValidations.AllowAll);
                            }

                            var client = new ElasticClient(settings);
                            Console.WriteLine(client.RootNodeInfo().Version.Number);
                            cluster.Dispose();
                            cluster.WaitForExit(TimeSpan.FromMinutes(1));
                        }
                        catch (Exception e)
                        {
                            Console.WriteLine(e);
                            Console.ForegroundColor = ConsoleColor.Cyan;
                            Console.WriteLine($"{v} {f}");

                            Console.ForegroundColor = reset;

                            throw;
                        }
                    }
                }
            }
            Console.WriteLine("Done!");
        }
        public EphemeralClusterConfiguration(ElasticsearchVersion version, ClusterFeatures features = ClusterFeatures.None, ElasticsearchPlugins plugins = null, int numberOfNodes = 1)
            : base(version, (v, s) => new EphemeralFileSystem(v, s), numberOfNodes, EphemeralClusterName)
        {
            this.Features = features;

            var pluginsList = plugins?.ToList() ?? new List <ElasticsearchPlugin>();

            if (this.Features.HasFlag(ClusterFeatures.XPack) && !pluginsList.Any(p => p.Moniker == "x-pack"))
            {
                pluginsList.Add(ElasticsearchPlugin.XPack);
            }

            this.Plugins = new ElasticsearchPlugins(pluginsList);

            AddDefaultXPackSettings();
        }
 public EphemeralClusterConfiguration(ElasticsearchVersion version, ElasticsearchPlugins plugins = null, int numberOfNodes = 1)
     : this(version, ClusterFeatures.None, plugins, numberOfNodes)
 {
 }
        public static int Main()
        {
            ElasticsearchVersion version = "6.3.0";


//			var clusterConfiguration = new EphemeralClusterConfiguration("6.0.0", numberOfNodes: 2);
//			var ephemeralCluster = new EphemeralCluster(clusterConfiguration);
//			var nodeConfiguration = new NodeConfiguration(clusterConfiguration, 9200);
//			var elasticsearchNode = new ElasticsearchNode(nodeConfiguration);
////

//			using (var node = new ElasticsearchNode("5.5.1"))
//			{
//				node.Subscribe(new ConsoleOutColorWriter());
//				node.WaitForStarted(TimeSpan.FromMinutes(2));
//			}
//
//			using (var node = new ElasticsearchNode("6.0.0-beta2", @"c:\Data\elasticsearch-6.0.0-beta2"))
//			{
//				node.Subscribe();
//				node.WaitForStarted(TimeSpan.FromMinutes(2));
//				Console.ReadKey();
//			}

//			using (var cluster = new EphemeralCluster("6.0.0"))
//			{
//				cluster.Start();
//			}

            var plugins = new ElasticsearchPlugins(ElasticsearchPlugin.IngestGeoIp);
            var config  = new EphemeralClusterConfiguration(version, XPack | Security | SSL, plugins, 1)
            {
                ShowElasticsearchOutputAfterStarted = true,
                PrintYamlFilesInConfigFolder        = true,
                CacheEsHomeInstallation             = true,
            };

            using (var cluster = new EphemeralCluster(config))
            {
                cluster.Start();

                var nodes          = cluster.NodesUris();
                var connectionPool = new StaticConnectionPool(nodes);
                var settings       = new ConnectionSettings(connectionPool).EnableDebugMode();
                if (config.EnableSecurity)
                {
                    settings = settings.BasicAuthentication(ClusterAuthentication.Admin.Username, ClusterAuthentication.Admin.Password);
                }
                if (config.EnableSsl)
                {
                    settings = settings.ServerCertificateValidationCallback(CertificateValidations.AllowAll);
                }

                var client = new ElasticClient(settings);

                Console.Write(client.XPackInfo().DebugInformation);
                Console.ReadKey();
            }
//
//			Console.WriteLine($".. DONE ...");
            return(0);
        }
Beispiel #9
0
 public XunitClusterConfiguration(
     ElasticVersion version,
     ClusterFeatures features     = ClusterFeatures.None,
     ElasticsearchPlugins plugins = null,
     int numberOfNodes            = 1)
     : base(version, features, plugins, numberOfNodes) =>