From d3a867747b2eaef9d8de8c9bbc886c24f7ba3b39 Mon Sep 17 00:00:00 2001 From: Stuart Ferguson Date: Thu, 28 Mar 2024 06:53:52 +0000 Subject: [PATCH 1/3] Update ES registrations --- .../Bootstrapper/MiddlewareRegistry.cs | 8 ++++-- .../Bootstrapper/RepositoryRegistry.cs | 28 +++---------------- MessagingService/Common/Extensions.cs | 18 +++--------- MessagingService/Startup.cs | 20 +------------ 4 files changed, 15 insertions(+), 59 deletions(-) diff --git a/MessagingService/Bootstrapper/MiddlewareRegistry.cs b/MessagingService/Bootstrapper/MiddlewareRegistry.cs index 6a6c81b..1f2d8ee 100644 --- a/MessagingService/Bootstrapper/MiddlewareRegistry.cs +++ b/MessagingService/Bootstrapper/MiddlewareRegistry.cs @@ -16,20 +16,24 @@ using Microsoft.OpenApi.Models; using Newtonsoft.Json; using Newtonsoft.Json.Serialization; - using Shared.EventStore.EventStore; using Shared.EventStore.Extensions; using Shared.General; using Swashbuckle.AspNetCore.Filters; using System.Collections.Generic; using System.Linq; using System.Diagnostics.CodeAnalysis; + using Microsoft.Extensions.Configuration; [ExcludeFromCodeCoverage] public class MiddlewareRegistry : ServiceRegistry { public MiddlewareRegistry() { + + String connectionString = Startup.Configuration.GetValue("EventStoreSettings:ConnectionString"); + EventStoreClientSettings eventStoreConnectionSettings = EventStoreClientSettings.Create(connectionString); + this.AddHealthChecks() - .AddEventStore(Startup.EventStoreClientSettings, + .AddEventStore(eventStoreConnectionSettings, name: "Eventstore", failureStatus: HealthStatus.Unhealthy, tags: new string[] { "db", "eventstore" }); diff --git a/MessagingService/Bootstrapper/RepositoryRegistry.cs b/MessagingService/Bootstrapper/RepositoryRegistry.cs index 9072344..3937d3e 100644 --- a/MessagingService/Bootstrapper/RepositoryRegistry.cs +++ b/MessagingService/Bootstrapper/RepositoryRegistry.cs @@ -39,32 +39,12 @@ public RepositoryRegistry() } else { - Boolean insecureES = Startup.Configuration.GetValue("EventStoreSettings:Insecure"); + String connectionString = Startup.Configuration.GetValue("EventStoreSettings:ConnectionString"); - Func CreateHttpMessageHandler = () => new SocketsHttpHandler - { - SslOptions = new SslClientAuthenticationOptions - { - RemoteCertificateValidationCallback = (sender, - certificate, - chain, - errors) => { - return true; - } - } - }; + this.AddEventStoreProjectionManagementClient(connectionString); + this.AddEventStorePersistentSubscriptionsClient(connectionString); - this.AddEventStoreProjectionManagementClient(Startup.ConfigureEventStoreSettings); - this.AddEventStorePersistentSubscriptionsClient(Startup.ConfigureEventStoreSettings); - - if (insecureES) - { - this.AddInSecureEventStoreClient(Startup.EventStoreClientSettings.ConnectivitySettings.Address, CreateHttpMessageHandler); - } - else - { - this.AddEventStoreClient(Startup.EventStoreClientSettings.ConnectivitySettings.Address, CreateHttpMessageHandler); - } + this.AddEventStoreClient(connectionString); this.AddSingleton(); } diff --git a/MessagingService/Common/Extensions.cs b/MessagingService/Common/Extensions.cs index a816425..46ec8e0 100644 --- a/MessagingService/Common/Extensions.cs +++ b/MessagingService/Common/Extensions.cs @@ -19,19 +19,6 @@ [ExcludeFromCodeCoverage] public static class Extensions { - public static IServiceCollection AddInSecureEventStoreClient( - this IServiceCollection services, - Uri address, - Func? createHttpMessageHandler = null) - { - return services.AddEventStoreClient((Action)(options => - { - options.ConnectivitySettings.Address = address; - options.ConnectivitySettings.Insecure = true; - options.CreateHttpMessageHandler = createHttpMessageHandler; - })); - } - static Action log = (tt, subType, message) => { @@ -74,9 +61,12 @@ public static void PreWarm(this IApplicationBuilder applicationBuilder) Func subscriptionRepositoryResolver = Startup.Container.GetInstance>(); + + String connectionString = Startup.Configuration.GetValue("EventStoreSettings:ConnectionString"); + EventStoreClientSettings eventStoreConnectionSettings = EventStoreClientSettings.Create(connectionString); applicationBuilder.ConfigureSubscriptionService(subscriptionWorkersRoot, eventStoreConnectionString, - Startup.EventStoreClientSettings, + eventStoreConnectionSettings, eventHandlerResolvers, Extensions.log, subscriptionRepositoryResolver, diff --git a/MessagingService/Startup.cs b/MessagingService/Startup.cs index b0d8791..8663f78 100644 --- a/MessagingService/Startup.cs +++ b/MessagingService/Startup.cs @@ -48,26 +48,12 @@ public Startup(IWebHostEnvironment webHostEnvironment) public static IConfigurationRoot Configuration { get; set; } public static IWebHostEnvironment WebHostEnvironment { get; set; } - - internal static EventStoreClientSettings EventStoreClientSettings; - + public static void LoadTypes() { - RequestSentToEmailProviderEvent e = new RequestSentToEmailProviderEvent(Guid.Parse("2AA2D43B-5E24-4327-8029-1135B20F35CE"), "", new List(), - "", "", true); - - RequestSentToSMSProviderEvent s = new RequestSentToSMSProviderEvent(Guid.NewGuid(), "", "", ""); - TypeProvider.LoadDomainEventsTypeDynamically(); } - public static void ConfigureEventStoreSettings(EventStoreClientSettings settings) - { - String connectionString = Startup.Configuration.GetValue("EventStoreSettings:ConnectionString"); - - Startup.EventStoreClientSettings = EventStoreClientSettings.Create(connectionString); ; - } - public static Container Container; public void ConfigureContainer(ServiceRegistry services) @@ -82,11 +68,7 @@ public void ConfigureContainer(ServiceRegistry services) services.IncludeRegistry(); Startup.Container = new Container(services); - - //Startup.ServiceProvider = services.BuildServiceProvider(); } - - //public static IServiceProvider ServiceProvider { get; set; } // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory) From fee44eeb8da91622e38daa0b2349ba3d02fe7de9 Mon Sep 17 00:00:00 2001 From: Stuart Ferguson Date: Thu, 28 Mar 2024 06:55:34 +0000 Subject: [PATCH 2/3] fix release workflow --- .github/workflows/createrelease.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/createrelease.yml b/.github/workflows/createrelease.yml index 7d3e4ff..9d8fefe 100644 --- a/.github/workflows/createrelease.yml +++ b/.github/workflows/createrelease.yml @@ -128,7 +128,7 @@ jobs: dotnet nuget push Nugets/MessagingService.Client.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }} dotnet pack "MessagingService.EmailMessage.DomainEvents\MessagingService.EmailMessage.DomainEvents.csproj" /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} --output Nugets -c Release dotnet nuget push Nugets/MessagingService.EmailMessage.DomainEvents.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }} - dotnet pack "MessagingService.EmailMessage.DomainEvents\MessagingService.EmailMessage.DomainEvents.csproj" /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} --output Nugets -c Release - dotnet nuget push Nugets/MessagingService.EmailMessage.DomainEvents.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }} + dotnet pack "MessagingService.SMSMessage.DomainEvents\MessagingService.SMSMessage.DomainEvents.csproj" /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} --output Nugets -c Release + dotnet nuget push Nugets/MessagingService.SMSMessage.DomainEvents.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }} dotnet pack "MessagingService.IntegrationTesting.Helpers\MessagingService.IntegrationTesting.Helpers.csproj" /p:PackageVersion=${{ steps.get_version.outputs.VERSION }} --output Nugets -c Release dotnet nuget push Nugets/MessagingService.IntegrationTesting.Helpers.${{ steps.get_version.outputs.VERSION }}.nupkg --api-key ${{ secrets.PRIVATEFEED_APIKEY }} --source ${{ secrets.PRIVATEFEED_URL }} \ No newline at end of file From a117d3e8ec9b0daf204bb6685ff20b2962cfbe27 Mon Sep 17 00:00:00 2001 From: Stuart Ferguson Date: Thu, 28 Mar 2024 07:22:08 +0000 Subject: [PATCH 3/3] Update shared nugets --- MessagingService.Client/MessagingService.Client.csproj | 2 +- .../MessagingService.EmailAggregate.Tests.csproj | 2 +- .../MessagingService.EmailMessage.DomainEvents.csproj | 4 ++-- .../MessagingService.EmailMessageAggregate.csproj | 4 ++-- .../MessagingService.IntegrationTesting.Helpers.csproj | 2 +- .../MessagingService.IntegrationTests.csproj | 5 ++--- .../MessagingService.SMSMessage.DomainEvents.csproj | 2 +- .../MessagingService.SMSMessageAggregate.csproj | 2 +- MessagingService/Common/Extensions.cs | 3 ++- MessagingService/MessagingService.csproj | 2 +- MessagingService/Startup.cs | 5 ----- 11 files changed, 14 insertions(+), 19 deletions(-) diff --git a/MessagingService.Client/MessagingService.Client.csproj b/MessagingService.Client/MessagingService.Client.csproj index 1e15c2d..a7d1b9d 100644 --- a/MessagingService.Client/MessagingService.Client.csproj +++ b/MessagingService.Client/MessagingService.Client.csproj @@ -6,7 +6,7 @@ - + diff --git a/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj b/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj index 5afb34e..cc596e9 100644 --- a/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj +++ b/MessagingService.EmailAggregate.Tests/MessagingService.EmailAggregate.Tests.csproj @@ -8,7 +8,7 @@ - + diff --git a/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj b/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj index 4ccd324..f4bfe4e 100644 --- a/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj +++ b/MessagingService.EmailMessage.DomainEvents/MessagingService.EmailMessage.DomainEvents.csproj @@ -5,8 +5,8 @@ - - + + diff --git a/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj b/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj index 8a46e81..a5253ad 100644 --- a/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj +++ b/MessagingService.EmailMessageAggregate/MessagingService.EmailMessageAggregate.csproj @@ -6,8 +6,8 @@ - - + + diff --git a/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj b/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj index 39eabad..891daf6 100644 --- a/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj +++ b/MessagingService.IntegrationTesting.Helpers/MessagingService.IntegrationTesting.Helpers.csproj @@ -7,7 +7,7 @@ - + diff --git a/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj b/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj index b01fb00..a51f34e 100644 --- a/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj +++ b/MessagingService.IntegrationTests/MessagingService.IntegrationTests.csproj @@ -6,14 +6,14 @@ - + - + @@ -27,7 +27,6 @@ - diff --git a/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj b/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj index 976fb59..e687bce 100644 --- a/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj +++ b/MessagingService.SMSMessage.DomainEvents/MessagingService.SMSMessage.DomainEvents.csproj @@ -5,7 +5,7 @@ - + diff --git a/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj b/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj index dc1bfa0..e2f7862 100644 --- a/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj +++ b/MessagingService.SMSMessageAggregate/MessagingService.SMSMessageAggregate.csproj @@ -6,7 +6,7 @@ - + diff --git a/MessagingService/Common/Extensions.cs b/MessagingService/Common/Extensions.cs index 46ec8e0..4a81ce1 100644 --- a/MessagingService/Common/Extensions.cs +++ b/MessagingService/Common/Extensions.cs @@ -10,6 +10,7 @@ using Microsoft.AspNetCore.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; +using Shared.EventStore.Aggregate; using Shared.EventStore.EventHandling; using Shared.EventStore.Extensions; using Shared.EventStore.SubscriptionWorker; @@ -45,7 +46,7 @@ public static class Extensions public static void PreWarm(this IApplicationBuilder applicationBuilder) { - Startup.LoadTypes(); + TypeProvider.LoadDomainEventsTypeDynamically(); IConfigurationSection subscriptionConfigSection = Startup.Configuration.GetSection("AppSettings:SubscriptionConfiguration"); SubscriptionWorkersRoot subscriptionWorkersRoot = new SubscriptionWorkersRoot(); diff --git a/MessagingService/MessagingService.csproj b/MessagingService/MessagingService.csproj index 4de5c13..0829162 100644 --- a/MessagingService/MessagingService.csproj +++ b/MessagingService/MessagingService.csproj @@ -18,7 +18,7 @@ - + diff --git a/MessagingService/Startup.cs b/MessagingService/Startup.cs index 8663f78..8797d24 100644 --- a/MessagingService/Startup.cs +++ b/MessagingService/Startup.cs @@ -49,11 +49,6 @@ public Startup(IWebHostEnvironment webHostEnvironment) public static IWebHostEnvironment WebHostEnvironment { get; set; } - public static void LoadTypes() - { - TypeProvider.LoadDomainEventsTypeDynamically(); - } - public static Container Container; public void ConfigureContainer(ServiceRegistry services)