From 2b16ca19d268a9b57ae116c1102f217306ca911e Mon Sep 17 00:00:00 2001 From: Jordan Dominion Date: Sun, 2 Jul 2023 03:57:41 -0400 Subject: [PATCH] Fix default Elasticsearch configuration --- .../ElasticsearchConfiguration.cs | 21 +++---------------- src/Tgstation.Server.Host/Core/Application.cs | 16 +++++++++++--- 2 files changed, 16 insertions(+), 21 deletions(-) diff --git a/src/Tgstation.Server.Host/Configuration/ElasticsearchConfiguration.cs b/src/Tgstation.Server.Host/Configuration/ElasticsearchConfiguration.cs index f3e9e92234..07a3afd8e0 100644 --- a/src/Tgstation.Server.Host/Configuration/ElasticsearchConfiguration.cs +++ b/src/Tgstation.Server.Host/Configuration/ElasticsearchConfiguration.cs @@ -10,21 +10,6 @@ /// public const string Section = "Elasticsearch"; - /// - /// Default value of . - /// - const string DefaultHost = "http://127.0.0.1:9200"; // localhost - - /// - /// Default value of . - /// - const string DefaultUsername = "my_username"; - - /// - /// Default value of . - /// - const string DefaultPassword = "my_password"; - /// /// Do we want to enable elasticsearch or not?. /// @@ -33,16 +18,16 @@ /// /// The host of the elasticsearch endpoint. /// - public string Host { get; set; } = DefaultHost; + public string Host { get; set; } /// /// Username for elasticsearch. /// - public string Username { get; set; } = DefaultUsername; + public string Username { get; set; } /// /// Password for elasticsearch. /// - public string Password { get; set; } = DefaultPassword; + public string Password { get; set; } } } diff --git a/src/Tgstation.Server.Host/Core/Application.cs b/src/Tgstation.Server.Host/Core/Application.cs index 213a55e02a..4a8bb4a152 100644 --- a/src/Tgstation.Server.Host/Core/Application.cs +++ b/src/Tgstation.Server.Host/Core/Application.cs @@ -196,11 +196,21 @@ namespace Tgstation.Server.Host.Core rollOnFileSizeLimit: true); }, elasticsearchConfiguration.Enable - ? new ElasticsearchSinkOptions(new Uri(elasticsearchConfiguration.Host ?? throw new InvalidOperationException())) + ? new ElasticsearchSinkOptions( + new Uri( + String.IsNullOrWhiteSpace(elasticsearchConfiguration.Host) + ? throw new InvalidOperationException($"Missing {ElasticsearchConfiguration.Section}:{nameof(elasticsearchConfiguration.Host)}!") + : elasticsearchConfiguration.Host)) { // Yes I know this means they cannot use a self signed cert unless they also have authentication, but lets be real here - // No one is going to be doing one of thsoe but not the other - ModifyConnectionSettings = connectionConfigration => (!string.IsNullOrEmpty(elasticsearchConfiguration.Username) && !string.IsNullOrEmpty(elasticsearchConfiguration.Password)) ? connectionConfigration.BasicAuthentication(elasticsearchConfiguration.Username, elasticsearchConfiguration.Password).ServerCertificateValidationCallback((o, certificate, arg3, arg4) => { return true; }) : null, + // No one is going to be doing one of those but not the other + ModifyConnectionSettings = connectionConfigration => (!String.IsNullOrWhiteSpace(elasticsearchConfiguration.Username) && !String.IsNullOrWhiteSpace(elasticsearchConfiguration.Password)) + ? connectionConfigration + .BasicAuthentication( + elasticsearchConfiguration.Username, + elasticsearchConfiguration.Password) + .ServerCertificateValidationCallback((o, certificate, chain, errors) => true) + : null, CustomFormatter = new EcsTextFormatter(), AutoRegisterTemplate = true, AutoRegisterTemplateVersion = AutoRegisterTemplateVersion.ESv7,