From ff7fa8e8124e614d38c2ed4c224a706e3d6c526c Mon Sep 17 00:00:00 2001 From: amadzarak Date: Sun, 26 Apr 2026 16:15:05 -0400 Subject: [PATCH] OPC # 0009: Fix Worker gitea HttpClient missing token and base URL --- ControlPlane.Worker/BuildConsumer.cs | 9 ++------- ControlPlane.Worker/Program.cs | 10 ++++++++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/ControlPlane.Worker/BuildConsumer.cs b/ControlPlane.Worker/BuildConsumer.cs index ecbdff6..02d697e 100644 --- a/ControlPlane.Worker/BuildConsumer.cs +++ b/ControlPlane.Worker/BuildConsumer.cs @@ -1,5 +1,4 @@ using System.Diagnostics; -using System.Net.Http.Headers; using System.Net.Http.Json; using System.Text; using System.Text.Json; @@ -210,15 +209,11 @@ public sealed class BuildConsumer( { try { - var baseUrl = (config["Gitea:BaseUrl"] ?? "https://opc.clarity.test").TrimEnd('/'); - var owner = config["Gitea:Owner"] ?? "ClarityStack"; - var token = config["Gitea:Token"] ?? string.Empty; + var owner = config["Gitea:Owner"] ?? "ClarityStack"; using var http = httpFactory.CreateClient("gitea"); - http.DefaultRequestHeaders.Authorization = - new AuthenticationHeaderValue("token", token); - var url = $"{baseUrl}/api/v1/repos/{owner}/{repoName}/statuses/{sha}"; + var url = $"api/v1/repos/{owner}/{repoName}/statuses/{sha}"; var body = JsonSerializer.Serialize(new { state, diff --git a/ControlPlane.Worker/Program.cs b/ControlPlane.Worker/Program.cs index 5b86b47..5584fa7 100644 --- a/ControlPlane.Worker/Program.cs +++ b/ControlPlane.Worker/Program.cs @@ -27,8 +27,14 @@ builder.Services.AddKeycloakAdminHttpClient(o => // Custom admin client - handles realm creation, roles, role assignment (not in SDK) builder.Services.AddSingleton(); -// Named HttpClient for Gitea commit status API (self-signed cert) -builder.Services.AddHttpClient("gitea").ConfigurePrimaryHttpMessageHandler(() => +// Named HttpClient for Gitea commit status API (self-signed cert + token auth) +builder.Services.AddHttpClient("gitea", (sp, client) => +{ + var cfg = sp.GetRequiredService(); + client.BaseAddress = new Uri(cfg["Gitea:BaseUrl"] ?? "https://opc.clarity.test"); + client.DefaultRequestHeaders.Authorization = + new System.Net.Http.Headers.AuthenticationHeaderValue("token", cfg["Gitea:Token"]); +}).ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler { ServerCertificateCustomValidationCallback = HttpClientHandler.DangerousAcceptAnyServerCertificateValidator }); // opcdb for build/release history tracking