diff --git a/src/KiBoards/Models/Spaces/Space.cs b/src/KiBoards/Models/Spaces/Space.cs new file mode 100644 index 0000000..b802890 --- /dev/null +++ b/src/KiBoards/Models/Spaces/Space.cs @@ -0,0 +1,22 @@ +namespace KiBoards.Models.Spaces +{ + class Space + { + public string Id { get; set; } + public string Name { get; set; } + public string Color { get; set; } + public List DisabledFeatures { get; set; } + public string ImageUrl { get; set; } + public string Description { get; set; } + + public static Space KiBoards = new() + { + Id = "kiboards", + Name = "KiBoards", + Color = "#FFFFFF", + DisabledFeatures = new List() { "discover", "enterpriseSearch", "logs", "infrastructure", "apm", "uptime", "observabilityCases", "slo", "siem", "securitySolutionCases", "canvas", "maps", "ml", "visualize", "dev_tools", "advancedSettings", "indexPatterns", "filesManagement", "filesSharedImage", "savedObjectsManagement", "savedObjectsTagging", "osquery", "actions", "generalCases", "guidedOnboardingFeature", "rulesSettings", "maintenanceWindow", "stackAlerts", "fleetv2", "fleet", "monitoring" }, + ImageUrl = "data:image/png;base64," + "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", + Description = "KiBoards dashboards" + }; + } +} diff --git a/src/KiBoards/Services/KiBoardsKibanaClient.cs b/src/KiBoards/Services/KiBoardsKibanaClient.cs index 10baaa2..d1a5299 100644 --- a/src/KiBoards/Services/KiBoardsKibanaClient.cs +++ b/src/KiBoards/Services/KiBoardsKibanaClient.cs @@ -1,7 +1,9 @@ using System.Net.Http.Json; using System.Text.Json; +using System.Threading; using KiBoards.Models.Objects; using KiBoards.Models.Settings; +using KiBoards.Models.Spaces; using KiBoards.Models.Status; namespace KiBoards.Services @@ -43,5 +45,15 @@ public async Task ImportSavedObjectsAsync(string ndjsonFi public async Task GetStatus() => await GetStatus(CancellationToken.None); public async Task GetStatus(CancellationToken cancellationToken) => await _httpClient.GetFromJsonAsync("api/status", cancellationToken); + + + public async Task TryCreateSpaceAsync(Space space) => await TryCreateSpaceAsync(space, CancellationToken.None); + public async Task TryCreateSpaceAsync(Space space, CancellationToken cancellationToken) + { + var response = await _httpClient.PostAsJsonAsync("api/spaces/space", space, new JsonSerializerOptions() { PropertyNamingPolicy = JsonNamingPolicy.CamelCase }, cancellationToken ); + return response.IsSuccessStatusCode; + } + + public async Task GetSpaceAsync(string id) => await _httpClient.GetFromJsonAsync($"api/spaces/space/{id}", new JsonSerializerOptions() { PropertyNameCaseInsensitive = true }); } } diff --git a/src/KiBoards/Startup.cs b/src/KiBoards/Startup.cs index 3bd7cf8..e5bbb09 100644 --- a/src/KiBoards/Startup.cs +++ b/src/KiBoards/Startup.cs @@ -1,4 +1,5 @@ -using KiBoards.Services; +using KiBoards.Models.Spaces; +using KiBoards.Services; using System.Reflection; using Xunit.Abstractions; @@ -17,7 +18,7 @@ public Startup(IMessageSink messageSink) { var attribute = assembly.GetCustomAttribute(); - var task = Task.Factory.StartNew(async () => + var task = Task.Run(async () => { var httpClient = new HttpClient(); var kibanaUri = new Uri(Environment.GetEnvironmentVariable("KIB_KIBANA_HOST") ?? "http://localhost:5601"); @@ -46,6 +47,13 @@ public Startup(IMessageSink messageSink) } } + var result = await kibanaClient.TryCreateSpaceAsync(Space.KiBoards); + + if (result) + { + messageSink.WriteMessage($"KiBoards space created successfully."); + } + var ndjsonFiles = Directory.GetFiles(Directory.GetCurrentDirectory(), attribute.SearchPattern); messageSink.WriteMessage($"Found {ndjsonFiles.Length} ndjson file(s)");