From 74c44c4ef87bfd20558b01431b41632212814b14 Mon Sep 17 00:00:00 2001 From: ThatBen Date: Tue, 20 May 2025 14:41:33 +0200 Subject: [PATCH] wip setting up for packing and upload --- TraceContract/Config.cs | 34 ++++++++++++++++----- TraceContract/ElasticSearchLogDownloader.cs | 29 ++++++++++++------ TraceContract/Input.cs | 20 ++++++++---- 3 files changed, 60 insertions(+), 23 deletions(-) diff --git a/TraceContract/Config.cs b/TraceContract/Config.cs index 51c5e4d1..189beb5e 100644 --- a/TraceContract/Config.cs +++ b/TraceContract/Config.cs @@ -15,17 +15,18 @@ /// public TimeSpan LogStartBeforeStorageContractStarts { get; } = TimeSpan.FromMinutes(1.0); + public string ElasticSearchUrl { get; } = $"https://es.testnet.codex.storage"; public string StorageNodesKubernetesNamespace = "codex"; public string[] StorageNodesKubernetesContainerNames = [ "codex-1-1", - //"codex-2-1", - //"codex-3-1", - //"codex-4-1", - //"codex-5-1", - //"codex-6-1", - //"codex-7-1", - //"codex-8-1", - //"codex-9-1", + "codex-2-1", + "codex-3-1", + "codex-4-1", + "codex-5-1", + "codex-6-1", + "codex-7-1", + "codex-8-1", + "codex-9-1", "codex-10-1", // "codex-validator-1-1", ]; @@ -43,5 +44,22 @@ { "0xE7EEb996B3c817cEd03d10cd64A1325DA33D92e7", "codex 09" }, { "0xD25C7609e97F40b66E74c0FcEbeA06D09423CC7e", "codex 10" } }; + + public string GetElasticSearchUsername() + { + return GetEnvVar("ES_USERNAME", "username"); + } + + public string GetElasticSearchPassword() + { + return GetEnvVar("ES_PASSWORD", "password"); + } + + private string GetEnvVar(string name, string defaultValue) + { + var v = Environment.GetEnvironmentVariable(name); + if (string.IsNullOrEmpty(v)) return defaultValue; + return v; + } } } diff --git a/TraceContract/ElasticSearchLogDownloader.cs b/TraceContract/ElasticSearchLogDownloader.cs index 8b40ed0b..f1a76557 100644 --- a/TraceContract/ElasticSearchLogDownloader.cs +++ b/TraceContract/ElasticSearchLogDownloader.cs @@ -1,21 +1,22 @@ -using Core; +using System.Text; +using Core; using Logging; using Utils; using WebUtils; -namespace ContinuousTests +namespace TraceContract { public class ElasticSearchLogDownloader { private readonly ILog log; private readonly IPluginTools tools; - private readonly string k8SNamespace; + private readonly Config config; - public ElasticSearchLogDownloader(ILog log, IPluginTools tools, string k8sNamespace) + public ElasticSearchLogDownloader(ILog log, IPluginTools tools, Config config) { this.log = log; this.tools = tools; - k8SNamespace = k8sNamespace; + this.config = config; } public void Download(LogFile targetFile, string containerName, DateTime startUtc, DateTime endUtc) @@ -59,19 +60,29 @@ namespace ContinuousTests .Replace("", start) .Replace("", end) .Replace("", containerName) - .Replace("", k8SNamespace); + .Replace("", config.StorageNodesKubernetesNamespace); } private IEndpoint CreateElasticSearchEndpoint() { - var serviceName = "elasticsearch"; - var k8sNamespace = "monitoring"; - var address = new Address("ElasticSearchEndpoint", $"http://{serviceName}.{k8sNamespace}.svc.cluster.local", 9200); + //var serviceName = "elasticsearch"; + //var k8sNamespace = "monitoring"; + //var address = new Address("ElasticSearchEndpoint", $"http://{serviceName}.{k8sNamespace}.svc.cluster.local", 9200); + + var address = new Address("TestnetElasticSearchEndpoint", config.ElasticSearchUrl, 443); var baseUrl = ""; + var username = config.GetElasticSearchUsername(); + var password = config.GetElasticSearchPassword(); + + var base64Creds = Convert.ToBase64String( + Encoding.ASCII.GetBytes($"{username}:{password}") + ); + var http = tools.CreateHttp(address.ToString(), client => { client.DefaultRequestHeaders.Add("kbn-xsrf", "reporting"); + client.DefaultRequestHeaders.Add("Authorization", "Basic " + base64Creds); }); return http.CreateEndpoint(address, baseUrl); diff --git a/TraceContract/Input.cs b/TraceContract/Input.cs index 50a23ebb..a0c63a03 100644 --- a/TraceContract/Input.cs +++ b/TraceContract/Input.cs @@ -2,12 +2,20 @@ { public class Input { - public string PurchaseId { get; } = - // expired: - "a7fe97dc32216aba0cbe74b87beb3f919aa116090dd5e0d48085a1a6b0080e82"; + public string PurchaseId + { + get + { + var v = Environment.GetEnvironmentVariable("PURCHASE_ID"); + if (!string.IsNullOrEmpty(v)) return v; - // started: - //"066df09a3a2e2587cfd577a0e96186c915b113d02b331b06e56f808494cff2b4"; + return + // expired: + "a7fe97dc32216aba0cbe74b87beb3f919aa116090dd5e0d48085a1a6b0080e82"; + + // started: + //"066df09a3a2e2587cfd577a0e96186c915b113d02b331b06e56f808494cff2b4"; + } + } } - }