public ElasticCluster(ElasticSettings.Cluster cluster) : base(cluster.Name) { SettingsName = cluster.Name; SettingsNodes = cluster.Nodes.Select(n => new ElasticNode(n)).ToList(); // TODO: Profiler ConnectionManager = new ConnectionManager(SettingsNodes.Select(n => n.Url), new ElasticProfilerProvider()); }
public ElasticNode(string hostAndPort, ElasticSettings.Cluster clusterSettings) { ClusterSettings = clusterSettings; if (Uri.TryCreate(hostAndPort, UriKind.Absolute, out var uri)) { Url = uri.ToString(); Host = uri.Host; Port = uri.Port; return; } var parts = hostAndPort.Split(StringSplits.Colon); if (parts.Length == 2) { Host = parts[0]; if (int.TryParse(parts[1], out int port)) { Port = port; } else { new OpserverConfigException($"Invalid port specified for {parts[0]}: '{parts[1]}'") .AddLoggedData("Config Value", hostAndPort) .Log(); Port = DefaultElasticPort; } } else { Host = hostAndPort; Port = DefaultElasticPort; } Url = $"http://{Host}:{Port}/"; }
public ElasticCluster(ElasticSettings.Cluster cluster) : base(cluster.Name) { Settings = cluster; Credentials = null == cluster.Username ? null : new System.Net.NetworkCredential(cluster.Username, System.Text.Encoding.UTF8.GetString(Convert.FromBase64String(cluster.PasswordBase64))); KnownNodes = cluster.Nodes.Select(n => new ElasticNode(n, Credentials)).ToList(); }
public ElasticCluster(ElasticModule module, ElasticSettings.Cluster cluster) : base(module, cluster.Name) { Settings = cluster; KnownNodes = cluster.Nodes.Select(n => new ElasticNode(n, Settings)).ToList(); }
public ElasticCluster(ElasticSettings.Cluster cluster) : base(cluster.Name) { SettingsName = cluster.Name; SettingsNodes = cluster.Nodes.Select(n => new ElasticNode(n)).ToList(); }