From 283824fcfd6087ef7c1a2eedad2c7e5b5fae1873 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Fri, 19 Jul 2024 20:23:32 +0200 Subject: [PATCH] Enable Proto Actor Tracing for TraceLens (#5800) * Add database initialization script and update dependencies Added a script to initialize the 'tracelens' database and modified the Docker setup to include this script. Refactored and improved the ProtoActorFeature class, added OpenTelemetry dependencies, and updated project settings. * Enable OpenTelemetry integration for Proto.Actor Added OpenTelemetry environment configuration details to the README and included the Proto.OpenTelemetry package in the project file. Updated the ProtoActorFeature to apply tracing with OpenTelemetry to WorkflowInstanceActor. * Refactor VariablePersistenceManager to use primary constructor This refactor simplifies the VariablePersistenceManager by moving the storageDriverManager initialization into the primary constructor. It removes the redundant field and constructor, aligning with the concise nature of modern C# syntax, and ensures consistency in accessing the storageDriverManager throughout the class. * Remove unused Open Telemetry code from Program.cs The code for configuring Open Telemetry was commented out but not removed, cluttering the file. This commit cleans up Program.cs by deleting these unused lines, maintaining a cleaner and more readable codebase. * Add metrics and tracing configurations for ProtoActorFeature Introduced methods to enable metrics and tracing in ProtoActorFeature. Removed redundant properties and updated the workflow runtime to utilize the new configurations. * Add Directory.Build.props for shared project settings Introduce Directory.Build.props to centralize common project settings and dependencies. Consolidate target framework, language version, and package references to reduce duplication. Remove redundant property definitions from Elsa.Server.Web.csproj. * Move apps from bundles to apps folder and Elsa module to modules folder --- Directory.Packages.props | 8 +- Elsa.sln | 91 ++++++++------- Elsa.sln.DotSettings | 3 +- docker/docker-compose.yml | 17 +++ docker/init-db.sh | 9 ++ ...es.AspNet.AzureServiceBusActivities.csproj | 2 +- ...Elsa.Samples.AspNet.BatchProcessing.csproj | 2 +- .../Elsa.Samples.AspNet.ChildWorkflows.csproj | 2 +- ...Elsa.Samples.AspNet.CustomUIHandler.csproj | 2 +- ...sa.Samples.AspNet.DapperPersistence.csproj | 2 +- ...lsa.Samples.AspNet.DocumentApproval.csproj | 2 +- ....Samples.AspNet.DslWorkflowProvider.csproj | 2 +- ...ples.AspNet.DynamicActivityProvider.csproj | 2 +- ...Samples.AspNet.ElasticsearchStorage.csproj | 2 +- ...Net.EntityFrameworkCore.PostgresSql.csproj | 2 +- ....Samples.AspNet.HangfireIntegration.csproj | 2 +- .../Elsa.Samples.AspNet.Heartbeats.csproj | 2 +- .../Elsa.Samples.AspNet.HelloWorld.csproj | 2 +- .../Elsa.Samples.AspNet.HttpEndpoints.csproj | 2 +- ...Samples.AspNet.JsonWorkflowProvider.csproj | 2 +- ...amples.AspNet.MassTransitActivities.csproj | 2 +- ....Samples.AspNet.MassTransitWorkflow.csproj | 2 +- ...a.Samples.AspNet.MongoDbPersistence.csproj | 2 +- .../Elsa.Samples.AspNet.MyBackendApi.csproj | 2 +- ...es.AspNet.Onboarding.WorkflowServer.csproj | 2 +- ...rotoActorRuntime.AzureContainerApps.csproj | 2 +- .../Program.cs | 6 +- ...sa.Samples.AspNet.ProtoActorRuntime.csproj | 2 +- ...sa.Samples.AspNet.QuartzIntegration.csproj | 2 +- ...a.Samples.AspNet.RunTaskIntegration.csproj | 2 +- ...sa.Samples.AspNet.TelnyxIntegration.csproj | 2 +- ...lsa.Samples.AspNet.Tenants.External.csproj | 2 +- .../Elsa.Samples.AspNet.Tenants.csproj | 2 +- ...ples.AspNet.Webhooks.WorkflowServer.csproj | 2 +- ...lsa.Samples.AspNet.WorkflowContexts.csproj | 2 +- .../Elsa.Samples.AspNet.WorkflowServer.csproj | 2 +- ...a.Samples.ConsoleApp.ActivityOutput.csproj | 2 +- .../Elsa.Samples.ConsoleApp.Bookmarks.csproj | 2 +- ...Elsa.Samples.ConsoleApp.Composition.csproj | 2 +- ...les.ConsoleApp.ConditionalWorkflows.csproj | 2 +- ...Samples.ConsoleApp.CustomActivities.csproj | 2 +- ...mples.ConsoleApp.FlowchartWorkflows.csproj | 2 +- .../Elsa.Samples.ConsoleApp.HelloWorld.csproj | 2 +- ...sa.Samples.ConsoleApp.JsonWorkflows.csproj | 2 +- ...Samples.ConsoleApp.LoopingWorkflows.csproj | 2 +- ...les.ConsoleApp.OutboundHttpRequests.csproj | 2 +- ...ples.ConsoleApp.SequentialWorkflows.csproj | 2 +- ...amples.ConsoleApp.WorkflowFunctions.csproj | 2 +- ...ples.ConsoleApp.WorkflowInputOutput.csproj | 2 +- src/apps/Directory.Build.props | 16 +++ .../Elsa.Server.LoadBalancer.csproj | 0 .../Elsa.Server.LoadBalancer/FodyWeavers.xml | 0 .../Elsa.Server.LoadBalancer/Program.cs | 0 .../Properties/launchSettings.json | 0 .../appsettings.Development.json | 0 .../Elsa.Server.LoadBalancer/appsettings.json | 0 .../Activities/SlowActivity.cs | 0 .../Elsa.Server.Web/Elsa.Server.Web.csproj | 13 +-- .../Elsa.Server.Web.csproj.DotSettings | 0 .../Elsa.Server.Web/Enums/ApplicationRole.cs | 0 .../Enums/DistributedCachingTransport.cs | 0 .../Enums/MassTransitBroker.cs | 0 .../Enums/PersistenceProvider.cs | 0 .../Enums/SqlDatabaseProvider.cs | 0 .../Elsa.Server.Web/Enums/WorkflowRuntime.cs | 0 .../Elsa.Server.Web/FodyWeavers.xml | 0 .../Middleware/SimulatedLatencyMiddleware.cs | 0 .../Elsa.Server.Web/Program.cs | 26 +++-- .../Properties/launchSettings.json | 0 src/apps/Elsa.Server.Web/README.md | 29 +++++ .../Elsa.Server.Web/appsettings.json | 0 .../Elsa.ServerAndStudio.Web.csproj | 2 +- .../Enums/DistributedCachingTransport.cs | 0 .../Enums/MassTransitBroker.cs | 0 .../Extensions/CorsOptionsExtensions.cs | 0 .../Elsa.ServerAndStudio.Web/FodyWeavers.xml | 0 .../Pages/_Host.cshtml | 0 .../Elsa.ServerAndStudio.Web/Program.cs | 0 .../Properties/launchSettings.json | 0 .../Elsa.ServerAndStudio.Web/README.md | 0 .../Elsa.ServerAndStudio.Web/appsettings.json | 0 .../Elsa.Studio.Web/Elsa.Studio.Web.csproj | 0 .../Elsa.Studio.Web/FodyWeavers.xml | 0 .../Elsa.Studio.Web/Pages/_Host.cshtml | 0 .../Elsa.Studio.Web/Program.cs | 0 .../Properties/launchSettings.json | 0 .../ElsaStudioWebAssembly.csproj | 0 .../ElsaStudioWebAssembly}/FodyWeavers.xml | 0 .../ElsaStudioWebAssembly/MainLayout.razor | 0 .../ElsaStudioWebAssembly/Program.cs | 0 .../Properties/launchSettings.json | 0 .../ElsaStudioWebAssembly/README.md | 0 .../ElsaStudioWebAssembly/_Imports.razor | 0 src/bundles/Elsa.Server.Web/README.md | 10 -- .../Elsa.Testing.Shared.Integration.csproj | 2 +- .../Elsa.ProtoActor/Elsa.ProtoActor.csproj | 5 +- .../Features/ProtoActorFeature.cs | 104 ++++++++++-------- .../Services/VariablePersistenceManager.cs | 26 ++--- src/{bundles => modules}/Elsa/Elsa.csproj | 0 .../DependencyInjectionExtensions.cs | 0 .../Extensions/ServiceProviderExtensions.cs | 0 .../Elsa/Features/AppFeature.cs | 0 .../Elsa/Features/ElsaFeature.cs | 0 .../Elsa}/FodyWeavers.xml | 0 ...Elsa.AzureServiceBus.ComponentTests.csproj | 2 +- .../Elsa.Workflows.ComponentTests.csproj | 2 +- 106 files changed, 268 insertions(+), 189 deletions(-) create mode 100755 docker/init-db.sh create mode 100644 src/apps/Directory.Build.props rename src/{bundles => apps}/Elsa.Server.LoadBalancer/Elsa.Server.LoadBalancer.csproj (100%) rename src/{bundles => apps}/Elsa.Server.LoadBalancer/FodyWeavers.xml (100%) rename src/{bundles => apps}/Elsa.Server.LoadBalancer/Program.cs (100%) rename src/{bundles => apps}/Elsa.Server.LoadBalancer/Properties/launchSettings.json (100%) rename src/{bundles => apps}/Elsa.Server.LoadBalancer/appsettings.Development.json (100%) rename src/{bundles => apps}/Elsa.Server.LoadBalancer/appsettings.json (100%) rename src/{bundles => apps}/Elsa.Server.Web/Activities/SlowActivity.cs (100%) rename src/{bundles => apps}/Elsa.Server.Web/Elsa.Server.Web.csproj (91%) rename src/{bundles => apps}/Elsa.Server.Web/Elsa.Server.Web.csproj.DotSettings (100%) rename src/{bundles => apps}/Elsa.Server.Web/Enums/ApplicationRole.cs (100%) rename src/{bundles => apps}/Elsa.Server.Web/Enums/DistributedCachingTransport.cs (100%) rename src/{bundles => apps}/Elsa.Server.Web/Enums/MassTransitBroker.cs (100%) rename src/{bundles => apps}/Elsa.Server.Web/Enums/PersistenceProvider.cs (100%) rename src/{bundles => apps}/Elsa.Server.Web/Enums/SqlDatabaseProvider.cs (100%) rename src/{bundles => apps}/Elsa.Server.Web/Enums/WorkflowRuntime.cs (100%) rename src/{bundles => apps}/Elsa.Server.Web/FodyWeavers.xml (100%) rename src/{bundles => apps}/Elsa.Server.Web/Middleware/SimulatedLatencyMiddleware.cs (100%) rename src/{bundles => apps}/Elsa.Server.Web/Program.cs (96%) rename src/{bundles => apps}/Elsa.Server.Web/Properties/launchSettings.json (100%) create mode 100644 src/apps/Elsa.Server.Web/README.md rename src/{bundles => apps}/Elsa.Server.Web/appsettings.json (100%) rename src/{bundles => apps}/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj (97%) rename src/{bundles => apps}/Elsa.ServerAndStudio.Web/Enums/DistributedCachingTransport.cs (100%) rename src/{bundles => apps}/Elsa.ServerAndStudio.Web/Enums/MassTransitBroker.cs (100%) rename src/{bundles => apps}/Elsa.ServerAndStudio.Web/Extensions/CorsOptionsExtensions.cs (100%) rename src/{bundles => apps}/Elsa.ServerAndStudio.Web/FodyWeavers.xml (100%) rename src/{bundles => apps}/Elsa.ServerAndStudio.Web/Pages/_Host.cshtml (100%) rename src/{bundles => apps}/Elsa.ServerAndStudio.Web/Program.cs (100%) rename src/{bundles => apps}/Elsa.ServerAndStudio.Web/Properties/launchSettings.json (100%) rename src/{bundles => apps}/Elsa.ServerAndStudio.Web/README.md (100%) rename src/{bundles => apps}/Elsa.ServerAndStudio.Web/appsettings.json (100%) rename src/{bundles => apps}/Elsa.Studio.Web/Elsa.Studio.Web.csproj (100%) rename src/{bundles => apps}/Elsa.Studio.Web/FodyWeavers.xml (100%) rename src/{bundles => apps}/Elsa.Studio.Web/Pages/_Host.cshtml (100%) rename src/{bundles => apps}/Elsa.Studio.Web/Program.cs (100%) rename src/{bundles => apps}/Elsa.Studio.Web/Properties/launchSettings.json (100%) rename src/{bundles => apps}/ElsaStudioWebAssembly/ElsaStudioWebAssembly.csproj (100%) rename src/{bundles/Elsa => apps/ElsaStudioWebAssembly}/FodyWeavers.xml (100%) rename src/{bundles => apps}/ElsaStudioWebAssembly/MainLayout.razor (100%) rename src/{bundles => apps}/ElsaStudioWebAssembly/Program.cs (100%) rename src/{bundles => apps}/ElsaStudioWebAssembly/Properties/launchSettings.json (100%) rename src/{bundles => apps}/ElsaStudioWebAssembly/README.md (100%) rename src/{bundles => apps}/ElsaStudioWebAssembly/_Imports.razor (100%) delete mode 100644 src/bundles/Elsa.Server.Web/README.md rename src/{bundles => modules}/Elsa/Elsa.csproj (100%) rename src/{bundles => modules}/Elsa/Extensions/DependencyInjectionExtensions.cs (100%) rename src/{bundles => modules}/Elsa/Extensions/ServiceProviderExtensions.cs (100%) rename src/{bundles => modules}/Elsa/Features/AppFeature.cs (100%) rename src/{bundles => modules}/Elsa/Features/ElsaFeature.cs (100%) rename src/{bundles/ElsaStudioWebAssembly => modules/Elsa}/FodyWeavers.xml (100%) diff --git a/Directory.Packages.props b/Directory.Packages.props index 68c68bcf0..9fa854ac7 100644 --- a/Directory.Packages.props +++ b/Directory.Packages.props @@ -72,6 +72,7 @@ + @@ -105,7 +106,6 @@ - @@ -170,7 +170,9 @@ - - + + + + \ No newline at end of file diff --git a/Elsa.sln b/Elsa.sln index 9cb076af1..de7cd82fb 100644 --- a/Elsa.sln +++ b/Elsa.sln @@ -60,18 +60,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Labels", "src\modules\ EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "bundles", "bundles", "{F06B9573-DF68-4606-866C-A7546A10A05A}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa", "src\bundles\Elsa\Elsa.csproj", "{FC5D2CE9-FFB0-478D-8D54-E4109D1FD202}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Liquid", "src\modules\Elsa.Liquid\Elsa.Liquid.csproj", "{8E5BD3D9-3529-48BC-B741-CFB7A69DB233}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.ProtoActor", "src\modules\Elsa.ProtoActor\Elsa.ProtoActor.csproj", "{B2049499-D384-46DF-8837-F1180107DD54}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Dsl", "src\modules\Elsa.Dsl\Elsa.Dsl.csproj", "{78DAB791-8595-4612-8E9E-2248AF5B1862}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.ServerAndStudio.Web", "src\bundles\Elsa.ServerAndStudio.Web\Elsa.ServerAndStudio.Web.csproj", "{E31F8955-B221-48AA-B301-6EE317D6F5B1}" -EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Server.Web", "src\bundles\Elsa.Server.Web\Elsa.Server.Web.csproj", "{3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Workflows.Api", "src\modules\Elsa.Workflows.Api\Elsa.Workflows.Api.csproj", "{C9539BD8-D2AE-4A8D-8281-71A05B3FBF31}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Workflows.Core", "src\modules\Elsa.Workflows.Core\Elsa.Workflows.Core.csproj", "{169E2C9B-6687-427F-A278-30BF849BFEDC}" @@ -127,6 +121,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docker", "docker", "{986E54 docker\docker-compose.yml = docker\docker-compose.yml docker\docker-compose-datadog.yml = docker\docker-compose-datadog.yml docker\ElsaServer-Datadog.Dockerfile = docker\ElsaServer-Datadog.Dockerfile + docker\init-db.sh = docker\init-db.sh EndProjectSection EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.RunTaskIntegration", "samples\aspnet\Elsa.Samples.AspNet.RunTaskIntegration\Elsa.Samples.AspNet.RunTaskIntegration.csproj", "{51050209-EC2F-4DC7-8F46-07E22B7811CD}" @@ -260,8 +255,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.EntityFrameworkCore.Po EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Alterations.MassTransit", "src\modules\Elsa.Alterations.MassTransit\Elsa.Alterations.MassTransit.csproj", "{1F621382-08FB-45EA-B94C-96A7FECB9489}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ElsaStudioWebAssembly", "src\bundles\ElsaStudioWebAssembly\ElsaStudioWebAssembly.csproj", "{E12A1BDF-5D65-493B-835D-AFBC480A5650}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.EntityFrameworkCore.Common", "src\modules\Elsa.EntityFrameworkCore.Common\Elsa.EntityFrameworkCore.Common.csproj", "{FBA14F8A-9F14-4364-ABDB-B8AE81A0D755}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Quartz.EntityFrameworkCore.Sqlite", "src\modules\Elsa.Quartz.EntityFrameworkCore.Sqlite\Elsa.Quartz.EntityFrameworkCore.Sqlite.csproj", "{A71557F2-D5FB-4772-9391-F7D18A3B6C44}" @@ -301,8 +294,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "_build", "build\_build.cspr EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.BatchProcessing", "samples\aspnet\Elsa.Samples.AspNet.BatchProcessing\Elsa.Samples.AspNet.BatchProcessing.csproj", "{0AAF5EF6-02E5-44F9-B2CB-B1401FC5EF66}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Studio.Web", "src\bundles\Elsa.Studio.Web\Elsa.Studio.Web.csproj", "{F0385327-CEDE-4CD4-88A5-B66E73E75B28}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.CustomUIHandler", "samples\aspnet\Elsa.Samples.AspNet.CustomUIHandler\Elsa.Samples.AspNet.CustomUIHandler.csproj", "{E4BF9791-4086-41EB-8EF0-02686A5F3F65}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.Heartbeats", "samples\aspnet\Elsa.Samples.AspNet.Heartbeats\Elsa.Samples.AspNet.Heartbeats.csproj", "{73852FEC-9847-4C6C-B1F5-1BB014C50A79}" @@ -328,8 +319,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.KeyValues", "src\modul EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Workflows.Runtime.UnitTests", "test\unit\Elsa.Workflows.Runtime.UnitTests\Elsa.Workflows.Runtime.UnitTests.csproj", "{B0946844-DE0E-4C59-9391-C0EB649DBF4E}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Server.LoadBalancer", "src\bundles\Elsa.Server.LoadBalancer\Elsa.Server.LoadBalancer.csproj", "{7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Caching", "src\modules\Elsa.Caching\Elsa.Caching.csproj", "{A1FE2CA0-8EF3-4EDB-9055-DD282E374E16}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "caching", "caching", "{EB3A7401-0DE3-476F-9E6F-057F1F4590FB}" @@ -367,6 +356,23 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.Tenants EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.AspNet.Tenants.External", "samples\aspnet\Elsa.Samples.AspNet.Tenants.External\Elsa.Samples.AspNet.Tenants.External.csproj", "{1B9E55EB-4379-4B95-9F84-EEEB5AA20987}" EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "apps", "apps", "{D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1}" + ProjectSection(SolutionItems) = preProject + src\apps\Directory.Build.props = src\apps\Directory.Build.props + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Server.Web", "src\apps\Elsa.Server.Web\Elsa.Server.Web.csproj", "{5ADDDFB1-E59B-4097-97B7-8C24E2D60463}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa", "src\modules\Elsa\Elsa.csproj", "{97C7E531-9D5F-43FD-AA19-BF24DA13B612}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Server.LoadBalancer", "src\apps\Elsa.Server.LoadBalancer\Elsa.Server.LoadBalancer.csproj", "{65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ElsaStudioWebAssembly", "src\apps\ElsaStudioWebAssembly\ElsaStudioWebAssembly.csproj", "{690B0274-291F-4D9E-BA76-54EFF7D3E4BC}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.ServerAndStudio.Web", "src\apps\Elsa.ServerAndStudio.Web\Elsa.ServerAndStudio.Web.csproj", "{060FD0BA-BD78-48E1-A8A7-4906A5AD5E39}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Studio.Web", "src\apps\Elsa.Studio.Web\Elsa.Studio.Web.csproj", "{169A82A5-2DB3-40EA-801E-14C08D743DF7}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -409,10 +415,6 @@ Global {80FF5821-E831-450D-AA0C-C76D07D878F4}.Debug|Any CPU.Build.0 = Debug|Any CPU {80FF5821-E831-450D-AA0C-C76D07D878F4}.Release|Any CPU.ActiveCfg = Release|Any CPU {80FF5821-E831-450D-AA0C-C76D07D878F4}.Release|Any CPU.Build.0 = Release|Any CPU - {FC5D2CE9-FFB0-478D-8D54-E4109D1FD202}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {FC5D2CE9-FFB0-478D-8D54-E4109D1FD202}.Debug|Any CPU.Build.0 = Debug|Any CPU - {FC5D2CE9-FFB0-478D-8D54-E4109D1FD202}.Release|Any CPU.ActiveCfg = Release|Any CPU - {FC5D2CE9-FFB0-478D-8D54-E4109D1FD202}.Release|Any CPU.Build.0 = Release|Any CPU {8E5BD3D9-3529-48BC-B741-CFB7A69DB233}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {8E5BD3D9-3529-48BC-B741-CFB7A69DB233}.Debug|Any CPU.Build.0 = Debug|Any CPU {8E5BD3D9-3529-48BC-B741-CFB7A69DB233}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -425,14 +427,6 @@ Global {78DAB791-8595-4612-8E9E-2248AF5B1862}.Debug|Any CPU.Build.0 = Debug|Any CPU {78DAB791-8595-4612-8E9E-2248AF5B1862}.Release|Any CPU.ActiveCfg = Release|Any CPU {78DAB791-8595-4612-8E9E-2248AF5B1862}.Release|Any CPU.Build.0 = Release|Any CPU - {E31F8955-B221-48AA-B301-6EE317D6F5B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E31F8955-B221-48AA-B301-6EE317D6F5B1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E31F8955-B221-48AA-B301-6EE317D6F5B1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E31F8955-B221-48AA-B301-6EE317D6F5B1}.Release|Any CPU.Build.0 = Release|Any CPU - {3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2}.Release|Any CPU.Build.0 = Release|Any CPU {C9539BD8-D2AE-4A8D-8281-71A05B3FBF31}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {C9539BD8-D2AE-4A8D-8281-71A05B3FBF31}.Debug|Any CPU.Build.0 = Debug|Any CPU {C9539BD8-D2AE-4A8D-8281-71A05B3FBF31}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -725,10 +719,6 @@ Global {1F621382-08FB-45EA-B94C-96A7FECB9489}.Debug|Any CPU.Build.0 = Debug|Any CPU {1F621382-08FB-45EA-B94C-96A7FECB9489}.Release|Any CPU.ActiveCfg = Release|Any CPU {1F621382-08FB-45EA-B94C-96A7FECB9489}.Release|Any CPU.Build.0 = Release|Any CPU - {E12A1BDF-5D65-493B-835D-AFBC480A5650}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {E12A1BDF-5D65-493B-835D-AFBC480A5650}.Debug|Any CPU.Build.0 = Debug|Any CPU - {E12A1BDF-5D65-493B-835D-AFBC480A5650}.Release|Any CPU.ActiveCfg = Release|Any CPU - {E12A1BDF-5D65-493B-835D-AFBC480A5650}.Release|Any CPU.Build.0 = Release|Any CPU {FBA14F8A-9F14-4364-ABDB-B8AE81A0D755}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {FBA14F8A-9F14-4364-ABDB-B8AE81A0D755}.Debug|Any CPU.Build.0 = Debug|Any CPU {FBA14F8A-9F14-4364-ABDB-B8AE81A0D755}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -779,10 +769,6 @@ Global {0AAF5EF6-02E5-44F9-B2CB-B1401FC5EF66}.Debug|Any CPU.Build.0 = Debug|Any CPU {0AAF5EF6-02E5-44F9-B2CB-B1401FC5EF66}.Release|Any CPU.ActiveCfg = Release|Any CPU {0AAF5EF6-02E5-44F9-B2CB-B1401FC5EF66}.Release|Any CPU.Build.0 = Release|Any CPU - {F0385327-CEDE-4CD4-88A5-B66E73E75B28}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {F0385327-CEDE-4CD4-88A5-B66E73E75B28}.Debug|Any CPU.Build.0 = Debug|Any CPU - {F0385327-CEDE-4CD4-88A5-B66E73E75B28}.Release|Any CPU.ActiveCfg = Release|Any CPU - {F0385327-CEDE-4CD4-88A5-B66E73E75B28}.Release|Any CPU.Build.0 = Release|Any CPU {E4BF9791-4086-41EB-8EF0-02686A5F3F65}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {E4BF9791-4086-41EB-8EF0-02686A5F3F65}.Debug|Any CPU.Build.0 = Debug|Any CPU {E4BF9791-4086-41EB-8EF0-02686A5F3F65}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -815,10 +801,6 @@ Global {B0946844-DE0E-4C59-9391-C0EB649DBF4E}.Debug|Any CPU.Build.0 = Debug|Any CPU {B0946844-DE0E-4C59-9391-C0EB649DBF4E}.Release|Any CPU.ActiveCfg = Release|Any CPU {B0946844-DE0E-4C59-9391-C0EB649DBF4E}.Release|Any CPU.Build.0 = Release|Any CPU - {7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Debug|Any CPU.Build.0 = Debug|Any CPU - {7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Release|Any CPU.ActiveCfg = Release|Any CPU - {7C1E6DD9-C7DE-4686-AA73-D67A15D005A1}.Release|Any CPU.Build.0 = Release|Any CPU {A1FE2CA0-8EF3-4EDB-9055-DD282E374E16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {A1FE2CA0-8EF3-4EDB-9055-DD282E374E16}.Debug|Any CPU.Build.0 = Debug|Any CPU {A1FE2CA0-8EF3-4EDB-9055-DD282E374E16}.Release|Any CPU.ActiveCfg = Release|Any CPU @@ -879,6 +861,30 @@ Global {1B9E55EB-4379-4B95-9F84-EEEB5AA20987}.Debug|Any CPU.Build.0 = Debug|Any CPU {1B9E55EB-4379-4B95-9F84-EEEB5AA20987}.Release|Any CPU.ActiveCfg = Release|Any CPU {1B9E55EB-4379-4B95-9F84-EEEB5AA20987}.Release|Any CPU.Build.0 = Release|Any CPU + {5ADDDFB1-E59B-4097-97B7-8C24E2D60463}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {5ADDDFB1-E59B-4097-97B7-8C24E2D60463}.Debug|Any CPU.Build.0 = Debug|Any CPU + {5ADDDFB1-E59B-4097-97B7-8C24E2D60463}.Release|Any CPU.ActiveCfg = Release|Any CPU + {5ADDDFB1-E59B-4097-97B7-8C24E2D60463}.Release|Any CPU.Build.0 = Release|Any CPU + {97C7E531-9D5F-43FD-AA19-BF24DA13B612}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {97C7E531-9D5F-43FD-AA19-BF24DA13B612}.Debug|Any CPU.Build.0 = Debug|Any CPU + {97C7E531-9D5F-43FD-AA19-BF24DA13B612}.Release|Any CPU.ActiveCfg = Release|Any CPU + {97C7E531-9D5F-43FD-AA19-BF24DA13B612}.Release|Any CPU.Build.0 = Release|Any CPU + {65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68}.Debug|Any CPU.Build.0 = Debug|Any CPU + {65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68}.Release|Any CPU.ActiveCfg = Release|Any CPU + {65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68}.Release|Any CPU.Build.0 = Release|Any CPU + {690B0274-291F-4D9E-BA76-54EFF7D3E4BC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {690B0274-291F-4D9E-BA76-54EFF7D3E4BC}.Debug|Any CPU.Build.0 = Debug|Any CPU + {690B0274-291F-4D9E-BA76-54EFF7D3E4BC}.Release|Any CPU.ActiveCfg = Release|Any CPU + {690B0274-291F-4D9E-BA76-54EFF7D3E4BC}.Release|Any CPU.Build.0 = Release|Any CPU + {060FD0BA-BD78-48E1-A8A7-4906A5AD5E39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {060FD0BA-BD78-48E1-A8A7-4906A5AD5E39}.Debug|Any CPU.Build.0 = Debug|Any CPU + {060FD0BA-BD78-48E1-A8A7-4906A5AD5E39}.Release|Any CPU.ActiveCfg = Release|Any CPU + {060FD0BA-BD78-48E1-A8A7-4906A5AD5E39}.Release|Any CPU.Build.0 = Release|Any CPU + {169A82A5-2DB3-40EA-801E-14C08D743DF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {169A82A5-2DB3-40EA-801E-14C08D743DF7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {169A82A5-2DB3-40EA-801E-14C08D743DF7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {169A82A5-2DB3-40EA-801E-14C08D743DF7}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -898,12 +904,9 @@ Global {BB983D0B-A939-4008-B9E3-C7C172BCF83A} = {DD089B8B-DA73-492A-9010-F772D1C178DA} {80FF5821-E831-450D-AA0C-C76D07D878F4} = {5BA4A8FA-F7F4-45B3-AEC8-8886D35AAC79} {F06B9573-DF68-4606-866C-A7546A10A05A} = {61017E64-6D00-49CB-9E81-5002DC8F7D5F} - {FC5D2CE9-FFB0-478D-8D54-E4109D1FD202} = {F06B9573-DF68-4606-866C-A7546A10A05A} {8E5BD3D9-3529-48BC-B741-CFB7A69DB233} = {6EF07978-A6D2-40EB-891D-7D70C5F37E76} {B2049499-D384-46DF-8837-F1180107DD54} = {58C59255-281C-4595-8732-808158F1DC6E} {78DAB791-8595-4612-8E9E-2248AF5B1862} = {6EF07978-A6D2-40EB-891D-7D70C5F37E76} - {E31F8955-B221-48AA-B301-6EE317D6F5B1} = {F06B9573-DF68-4606-866C-A7546A10A05A} - {3C2752A7-EEBC-4ED4-B1BF-0FCF6E071BC2} = {F06B9573-DF68-4606-866C-A7546A10A05A} {C9539BD8-D2AE-4A8D-8281-71A05B3FBF31} = {B08B4E00-C2AB-48F3-8389-449F42AEF179} {169E2C9B-6687-427F-A278-30BF849BFEDC} = {B08B4E00-C2AB-48F3-8389-449F42AEF179} {2DD5D66B-85E9-4AF9-911C-C9F963234159} = {B08B4E00-C2AB-48F3-8389-449F42AEF179} @@ -990,7 +993,6 @@ Global {E4300D97-1D53-4029-9435-483FB7EC9621} = {9B4F139F-7D26-435C-A561-89E65A67A8E5} {84AB9951-3DBF-43A4-8F5D-AEED1102CE88} = {9B4F139F-7D26-435C-A561-89E65A67A8E5} {1F621382-08FB-45EA-B94C-96A7FECB9489} = {CF3DA5F1-F98D-49C9-A980-27E570B38B8D} - {E12A1BDF-5D65-493B-835D-AFBC480A5650} = {F06B9573-DF68-4606-866C-A7546A10A05A} {FBA14F8A-9F14-4364-ABDB-B8AE81A0D755} = {9B4F139F-7D26-435C-A561-89E65A67A8E5} {A71557F2-D5FB-4772-9391-F7D18A3B6C44} = {AB797AF0-C12C-46DE-A157-7E25625C6200} {05F3B23E-CF28-467B-AD3C-595EA4ED6B96} = {AB797AF0-C12C-46DE-A157-7E25625C6200} @@ -1004,7 +1006,6 @@ Global {790E94F2-5393-47DF-AC52-D9247F5B243A} = {6EF07978-A6D2-40EB-891D-7D70C5F37E76} {169BEA3D-2A81-47EE-A6C1-3F8719EEC1F6} = {DD089B8B-DA73-492A-9010-F772D1C178DA} {0AAF5EF6-02E5-44F9-B2CB-B1401FC5EF66} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5} - {F0385327-CEDE-4CD4-88A5-B66E73E75B28} = {F06B9573-DF68-4606-866C-A7546A10A05A} {E4BF9791-4086-41EB-8EF0-02686A5F3F65} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5} {73852FEC-9847-4C6C-B1F5-1BB014C50A79} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5} {AFEB799E-82C3-4D02-9D5C-766BB8DEF004} = {DD089B8B-DA73-492A-9010-F772D1C178DA} @@ -1014,7 +1015,6 @@ Global {73BBB1E3-AEEC-44E8-83D7-6DD9CD687FE3} = {5BA4A8FA-F7F4-45B3-AEC8-8886D35AAC79} {086A7E2A-6CE7-41DA-927B-C033638060B1} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5} {B0946844-DE0E-4C59-9391-C0EB649DBF4E} = {18453B51-25EB-4317-A4B3-B10518252E92} - {7C1E6DD9-C7DE-4686-AA73-D67A15D005A1} = {F06B9573-DF68-4606-866C-A7546A10A05A} {EB3A7401-0DE3-476F-9E6F-057F1F4590FB} = {5BA4A8FA-F7F4-45B3-AEC8-8886D35AAC79} {A1FE2CA0-8EF3-4EDB-9055-DD282E374E16} = {EB3A7401-0DE3-476F-9E6F-057F1F4590FB} {BF4CDE28-F0CC-482D-8392-C1C9BB4C368F} = {EB3A7401-0DE3-476F-9E6F-057F1F4590FB} @@ -1032,6 +1032,13 @@ Global {7F5A304F-7DD9-4A64-8FCD-9B1FF06735B9} = {08B41FFA-CEE3-46A7-B5C0-3EB65D37A16C} {9A6395A7-9F82-4F82-BFCB-1EBC38F0A86D} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5} {1B9E55EB-4379-4B95-9F84-EEEB5AA20987} = {56C2FFB8-EA54-45B5-A095-4A78142EB4B5} + {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1} = {61017E64-6D00-49CB-9E81-5002DC8F7D5F} + {5ADDDFB1-E59B-4097-97B7-8C24E2D60463} = {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1} + {97C7E531-9D5F-43FD-AA19-BF24DA13B612} = {5BA4A8FA-F7F4-45B3-AEC8-8886D35AAC79} + {65F2AD97-3ECF-4BA6-8AAA-1E5882FDCE68} = {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1} + {690B0274-291F-4D9E-BA76-54EFF7D3E4BC} = {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1} + {060FD0BA-BD78-48E1-A8A7-4906A5AD5E39} = {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1} + {169A82A5-2DB3-40EA-801E-14C08D743DF7} = {D92BEAB2-60D6-4BB4-885A-6BA681C6CCF1} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {D4B5CEAA-7D70-4FCB-A68E-B03FBE5E0E5E} diff --git a/Elsa.sln.DotSettings b/Elsa.sln.DotSettings index fcce66d42..eb308f604 100644 --- a/Elsa.sln.DotSettings +++ b/Elsa.sln.DotSettings @@ -1,4 +1,4 @@ - + False 1000 1 @@ -14,6 +14,7 @@ True True True + True True True True diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml index 057ba4b50..da41c142f 100644 --- a/docker/docker-compose.yml +++ b/docker/docker-compose.yml @@ -10,6 +10,7 @@ services: POSTGRES_DB: elsa volumes: - postgres-data:/var/lib/postgresql/data + - ./init-db.sh:/docker-entrypoint-initdb.d/init-db.sh # This will initialize the 'tracelens' database ports: - "5432:5432" @@ -41,6 +42,22 @@ services: image: redis:latest ports: - "127.0.0.1:6379:6379" + + plantuml-server: + image: plantuml/plantuml-server:tomcat + container_name: plantuml-server + ports: + - 7080:8080 + + trace-lens: + image: docker.io/rogeralsing/tracelens:latest + pull_policy: always + ports: + - 7001:5001 + - 4317:4317 + environment: + - PlantUml__RemoteUrl= + - ConnectionStrings__DefaultConnection=USER ID=tracelens;PASSWORD=tracelenspass;HOST=postgres;PORT=5432;DATABASE=tracelens;POOLING=true; elsa-server: build: diff --git a/docker/init-db.sh b/docker/init-db.sh new file mode 100755 index 000000000..5185802ba --- /dev/null +++ b/docker/init-db.sh @@ -0,0 +1,9 @@ +echo "Starting database initialization" + +psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" --dbname "$POSTGRES_DB" <<-EOSQL + CREATE USER tracelens WITH PASSWORD 'tracelenspass'; + CREATE DATABASE tracelens; + GRANT ALL PRIVILEGES ON DATABASE tracelens TO tracelens; +EOSQL + +echo "Database initialization completed" \ No newline at end of file diff --git a/samples/aspnet/Elsa.Samples.AspNet.AzureServiceBusActivities/Elsa.Samples.AspNet.AzureServiceBusActivities.csproj b/samples/aspnet/Elsa.Samples.AspNet.AzureServiceBusActivities/Elsa.Samples.AspNet.AzureServiceBusActivities.csproj index 169107f35..11bf6c9fd 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.AzureServiceBusActivities/Elsa.Samples.AspNet.AzureServiceBusActivities.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.AzureServiceBusActivities/Elsa.Samples.AspNet.AzureServiceBusActivities.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.BatchProcessing/Elsa.Samples.AspNet.BatchProcessing.csproj b/samples/aspnet/Elsa.Samples.AspNet.BatchProcessing/Elsa.Samples.AspNet.BatchProcessing.csproj index a07fd8c94..d71c5c367 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.BatchProcessing/Elsa.Samples.AspNet.BatchProcessing.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.BatchProcessing/Elsa.Samples.AspNet.BatchProcessing.csproj @@ -7,7 +7,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.ChildWorkflows/Elsa.Samples.AspNet.ChildWorkflows.csproj b/samples/aspnet/Elsa.Samples.AspNet.ChildWorkflows/Elsa.Samples.AspNet.ChildWorkflows.csproj index b0c82c759..96af37ee9 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.ChildWorkflows/Elsa.Samples.AspNet.ChildWorkflows.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.ChildWorkflows/Elsa.Samples.AspNet.ChildWorkflows.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.CustomUIHandler/Elsa.Samples.AspNet.CustomUIHandler.csproj b/samples/aspnet/Elsa.Samples.AspNet.CustomUIHandler/Elsa.Samples.AspNet.CustomUIHandler.csproj index bfb5c6320..5050ffce1 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.CustomUIHandler/Elsa.Samples.AspNet.CustomUIHandler.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.CustomUIHandler/Elsa.Samples.AspNet.CustomUIHandler.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.DapperPersistence/Elsa.Samples.AspNet.DapperPersistence.csproj b/samples/aspnet/Elsa.Samples.AspNet.DapperPersistence/Elsa.Samples.AspNet.DapperPersistence.csproj index c752002b2..726a632d0 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.DapperPersistence/Elsa.Samples.AspNet.DapperPersistence.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.DapperPersistence/Elsa.Samples.AspNet.DapperPersistence.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.DocumentApproval/Elsa.Samples.AspNet.DocumentApproval.csproj b/samples/aspnet/Elsa.Samples.AspNet.DocumentApproval/Elsa.Samples.AspNet.DocumentApproval.csproj index f58f2ff09..fd40331b1 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.DocumentApproval/Elsa.Samples.AspNet.DocumentApproval.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.DocumentApproval/Elsa.Samples.AspNet.DocumentApproval.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.DslWorkflowProvider/Elsa.Samples.AspNet.DslWorkflowProvider.csproj b/samples/aspnet/Elsa.Samples.AspNet.DslWorkflowProvider/Elsa.Samples.AspNet.DslWorkflowProvider.csproj index 60c4b3021..688d60df7 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.DslWorkflowProvider/Elsa.Samples.AspNet.DslWorkflowProvider.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.DslWorkflowProvider/Elsa.Samples.AspNet.DslWorkflowProvider.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.DynamicActivityProvider/Elsa.Samples.AspNet.DynamicActivityProvider.csproj b/samples/aspnet/Elsa.Samples.AspNet.DynamicActivityProvider/Elsa.Samples.AspNet.DynamicActivityProvider.csproj index 13497c81c..cc37db3bf 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.DynamicActivityProvider/Elsa.Samples.AspNet.DynamicActivityProvider.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.DynamicActivityProvider/Elsa.Samples.AspNet.DynamicActivityProvider.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.ElasticsearchStorage/Elsa.Samples.AspNet.ElasticsearchStorage.csproj b/samples/aspnet/Elsa.Samples.AspNet.ElasticsearchStorage/Elsa.Samples.AspNet.ElasticsearchStorage.csproj index 174ad9bc8..50d21cbe0 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.ElasticsearchStorage/Elsa.Samples.AspNet.ElasticsearchStorage.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.ElasticsearchStorage/Elsa.Samples.AspNet.ElasticsearchStorage.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql.csproj b/samples/aspnet/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql.csproj index b0593ffb9..d92cb6726 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql/Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.HangfireIntegration/Elsa.Samples.AspNet.HangfireIntegration.csproj b/samples/aspnet/Elsa.Samples.AspNet.HangfireIntegration/Elsa.Samples.AspNet.HangfireIntegration.csproj index 45561ff63..00ecc0b8b 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.HangfireIntegration/Elsa.Samples.AspNet.HangfireIntegration.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.HangfireIntegration/Elsa.Samples.AspNet.HangfireIntegration.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.Heartbeats/Elsa.Samples.AspNet.Heartbeats.csproj b/samples/aspnet/Elsa.Samples.AspNet.Heartbeats/Elsa.Samples.AspNet.Heartbeats.csproj index 5054debab..c9da5e31e 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.Heartbeats/Elsa.Samples.AspNet.Heartbeats.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.Heartbeats/Elsa.Samples.AspNet.Heartbeats.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.HelloWorld/Elsa.Samples.AspNet.HelloWorld.csproj b/samples/aspnet/Elsa.Samples.AspNet.HelloWorld/Elsa.Samples.AspNet.HelloWorld.csproj index d3ed39be5..965626433 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.HelloWorld/Elsa.Samples.AspNet.HelloWorld.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.HelloWorld/Elsa.Samples.AspNet.HelloWorld.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.HttpEndpoints/Elsa.Samples.AspNet.HttpEndpoints.csproj b/samples/aspnet/Elsa.Samples.AspNet.HttpEndpoints/Elsa.Samples.AspNet.HttpEndpoints.csproj index ff6e9d5f7..bdf966a67 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.HttpEndpoints/Elsa.Samples.AspNet.HttpEndpoints.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.HttpEndpoints/Elsa.Samples.AspNet.HttpEndpoints.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.JsonWorkflowProvider/Elsa.Samples.AspNet.JsonWorkflowProvider.csproj b/samples/aspnet/Elsa.Samples.AspNet.JsonWorkflowProvider/Elsa.Samples.AspNet.JsonWorkflowProvider.csproj index 86e9940a6..19ebd959b 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.JsonWorkflowProvider/Elsa.Samples.AspNet.JsonWorkflowProvider.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.JsonWorkflowProvider/Elsa.Samples.AspNet.JsonWorkflowProvider.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.MassTransitActivities/Elsa.Samples.AspNet.MassTransitActivities.csproj b/samples/aspnet/Elsa.Samples.AspNet.MassTransitActivities/Elsa.Samples.AspNet.MassTransitActivities.csproj index 9de912f82..578277034 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.MassTransitActivities/Elsa.Samples.AspNet.MassTransitActivities.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.MassTransitActivities/Elsa.Samples.AspNet.MassTransitActivities.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.MassTransitWorkflow/Elsa.Samples.AspNet.MassTransitWorkflow.csproj b/samples/aspnet/Elsa.Samples.AspNet.MassTransitWorkflow/Elsa.Samples.AspNet.MassTransitWorkflow.csproj index 9de912f82..578277034 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.MassTransitWorkflow/Elsa.Samples.AspNet.MassTransitWorkflow.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.MassTransitWorkflow/Elsa.Samples.AspNet.MassTransitWorkflow.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.MongoDbPersistence/Elsa.Samples.AspNet.MongoDbPersistence.csproj b/samples/aspnet/Elsa.Samples.AspNet.MongoDbPersistence/Elsa.Samples.AspNet.MongoDbPersistence.csproj index debf81bfe..4c9b9ddbb 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.MongoDbPersistence/Elsa.Samples.AspNet.MongoDbPersistence.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.MongoDbPersistence/Elsa.Samples.AspNet.MongoDbPersistence.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.MyBackendApi/Elsa.Samples.AspNet.MyBackendApi.csproj b/samples/aspnet/Elsa.Samples.AspNet.MyBackendApi/Elsa.Samples.AspNet.MyBackendApi.csproj index 90288d4b0..018e9f96f 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.MyBackendApi/Elsa.Samples.AspNet.MyBackendApi.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.MyBackendApi/Elsa.Samples.AspNet.MyBackendApi.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.Onboarding.WorkflowServer/Elsa.Samples.AspNet.Onboarding.WorkflowServer.csproj b/samples/aspnet/Elsa.Samples.AspNet.Onboarding.WorkflowServer/Elsa.Samples.AspNet.Onboarding.WorkflowServer.csproj index e36e42033..3d79a3360 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.Onboarding.WorkflowServer/Elsa.Samples.AspNet.Onboarding.WorkflowServer.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.Onboarding.WorkflowServer/Elsa.Samples.AspNet.Onboarding.WorkflowServer.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps.csproj b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps.csproj index 1d2b12563..3c143843c 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps.csproj @@ -12,7 +12,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Program.cs b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Program.cs index 88545bbaa..1bf4a41f5 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Program.cs +++ b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps/Program.cs @@ -26,7 +26,7 @@ var protoActorClusterSection = protoActorSection.GetSection("Cluster"); // Configure Proto Actor cluster provider services. services.AddAzureContainerAppsProvider( - ArmClientProviders.DefaultAzureCredential, + ArmClientProviders.DefaultAzureCredential, sc => sc.AddRedisClusterMemberStore(redisConnectionString), options => protoActorClusterSection.GetSection("AzureContainerApps").Bind(options)); @@ -57,9 +57,9 @@ services { var advertisedHost = IPUtils.FindSmallestIpAddress().ToString(); - protoActor.ClusterProvider = sp => sp.GetRequiredService(); + protoActor.CreateClusterProvider = sp => sp.GetRequiredService(); - protoActor.RemoteConfig = _ => GrpcNetRemoteConfig + protoActor.ConfigureRemoteConfig = _ => GrpcNetRemoteConfig .BindTo(advertisedHost) .WithProtoMessages(EmptyReflection.Descriptor) .WithProtoMessages(SharedReflection.Descriptor) diff --git a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime/Elsa.Samples.AspNet.ProtoActorRuntime.csproj b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime/Elsa.Samples.AspNet.ProtoActorRuntime.csproj index fa11cdcb6..8b29c3296 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime/Elsa.Samples.AspNet.ProtoActorRuntime.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.ProtoActorRuntime/Elsa.Samples.AspNet.ProtoActorRuntime.csproj @@ -12,7 +12,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.QuartzIntegration/Elsa.Samples.AspNet.QuartzIntegration.csproj b/samples/aspnet/Elsa.Samples.AspNet.QuartzIntegration/Elsa.Samples.AspNet.QuartzIntegration.csproj index 605e36ada..e353d44fb 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.QuartzIntegration/Elsa.Samples.AspNet.QuartzIntegration.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.QuartzIntegration/Elsa.Samples.AspNet.QuartzIntegration.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.RunTaskIntegration/Elsa.Samples.AspNet.RunTaskIntegration.csproj b/samples/aspnet/Elsa.Samples.AspNet.RunTaskIntegration/Elsa.Samples.AspNet.RunTaskIntegration.csproj index 44649fe2f..b8b644ef9 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.RunTaskIntegration/Elsa.Samples.AspNet.RunTaskIntegration.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.RunTaskIntegration/Elsa.Samples.AspNet.RunTaskIntegration.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.TelnyxIntegration/Elsa.Samples.AspNet.TelnyxIntegration.csproj b/samples/aspnet/Elsa.Samples.AspNet.TelnyxIntegration/Elsa.Samples.AspNet.TelnyxIntegration.csproj index 12c1a9223..810872248 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.TelnyxIntegration/Elsa.Samples.AspNet.TelnyxIntegration.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.TelnyxIntegration/Elsa.Samples.AspNet.TelnyxIntegration.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.Tenants.External/Elsa.Samples.AspNet.Tenants.External.csproj b/samples/aspnet/Elsa.Samples.AspNet.Tenants.External/Elsa.Samples.AspNet.Tenants.External.csproj index 2005a848e..814650fb2 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.Tenants.External/Elsa.Samples.AspNet.Tenants.External.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.Tenants.External/Elsa.Samples.AspNet.Tenants.External.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.Tenants/Elsa.Samples.AspNet.Tenants.csproj b/samples/aspnet/Elsa.Samples.AspNet.Tenants/Elsa.Samples.AspNet.Tenants.csproj index e3341cc47..582fabdaa 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.Tenants/Elsa.Samples.AspNet.Tenants.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.Tenants/Elsa.Samples.AspNet.Tenants.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.Webhooks.WorkflowServer/Elsa.Samples.AspNet.Webhooks.WorkflowServer.csproj b/samples/aspnet/Elsa.Samples.AspNet.Webhooks.WorkflowServer/Elsa.Samples.AspNet.Webhooks.WorkflowServer.csproj index 25deea382..90bb78df3 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.Webhooks.WorkflowServer/Elsa.Samples.AspNet.Webhooks.WorkflowServer.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.Webhooks.WorkflowServer/Elsa.Samples.AspNet.Webhooks.WorkflowServer.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.WorkflowContexts/Elsa.Samples.AspNet.WorkflowContexts.csproj b/samples/aspnet/Elsa.Samples.AspNet.WorkflowContexts/Elsa.Samples.AspNet.WorkflowContexts.csproj index 6c4c0f953..7ddd4a3df 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.WorkflowContexts/Elsa.Samples.AspNet.WorkflowContexts.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.WorkflowContexts/Elsa.Samples.AspNet.WorkflowContexts.csproj @@ -12,7 +12,7 @@ - + diff --git a/samples/aspnet/Elsa.Samples.AspNet.WorkflowServer/Elsa.Samples.AspNet.WorkflowServer.csproj b/samples/aspnet/Elsa.Samples.AspNet.WorkflowServer/Elsa.Samples.AspNet.WorkflowServer.csproj index 4a446863f..25c7cbcea 100644 --- a/samples/aspnet/Elsa.Samples.AspNet.WorkflowServer/Elsa.Samples.AspNet.WorkflowServer.csproj +++ b/samples/aspnet/Elsa.Samples.AspNet.WorkflowServer/Elsa.Samples.AspNet.WorkflowServer.csproj @@ -5,7 +5,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.ActivityOutput/Elsa.Samples.ConsoleApp.ActivityOutput.csproj b/samples/console/Elsa.Samples.ConsoleApp.ActivityOutput/Elsa.Samples.ConsoleApp.ActivityOutput.csproj index 0aac4da11..fda785228 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.ActivityOutput/Elsa.Samples.ConsoleApp.ActivityOutput.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.ActivityOutput/Elsa.Samples.ConsoleApp.ActivityOutput.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.Bookmarks/Elsa.Samples.ConsoleApp.Bookmarks.csproj b/samples/console/Elsa.Samples.ConsoleApp.Bookmarks/Elsa.Samples.ConsoleApp.Bookmarks.csproj index 0aac4da11..fda785228 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.Bookmarks/Elsa.Samples.ConsoleApp.Bookmarks.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.Bookmarks/Elsa.Samples.ConsoleApp.Bookmarks.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.Composition/Elsa.Samples.ConsoleApp.Composition.csproj b/samples/console/Elsa.Samples.ConsoleApp.Composition/Elsa.Samples.ConsoleApp.Composition.csproj index 0aac4da11..fda785228 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.Composition/Elsa.Samples.ConsoleApp.Composition.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.Composition/Elsa.Samples.ConsoleApp.Composition.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.ConditionalWorkflows/Elsa.Samples.ConsoleApp.ConditionalWorkflows.csproj b/samples/console/Elsa.Samples.ConsoleApp.ConditionalWorkflows/Elsa.Samples.ConsoleApp.ConditionalWorkflows.csproj index 0aac4da11..fda785228 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.ConditionalWorkflows/Elsa.Samples.ConsoleApp.ConditionalWorkflows.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.ConditionalWorkflows/Elsa.Samples.ConsoleApp.ConditionalWorkflows.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.CustomActivities/Elsa.Samples.ConsoleApp.CustomActivities.csproj b/samples/console/Elsa.Samples.ConsoleApp.CustomActivities/Elsa.Samples.ConsoleApp.CustomActivities.csproj index 0aac4da11..fda785228 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.CustomActivities/Elsa.Samples.ConsoleApp.CustomActivities.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.CustomActivities/Elsa.Samples.ConsoleApp.CustomActivities.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.FlowchartWorkflows/Elsa.Samples.ConsoleApp.FlowchartWorkflows.csproj b/samples/console/Elsa.Samples.ConsoleApp.FlowchartWorkflows/Elsa.Samples.ConsoleApp.FlowchartWorkflows.csproj index 0aac4da11..fda785228 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.FlowchartWorkflows/Elsa.Samples.ConsoleApp.FlowchartWorkflows.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.FlowchartWorkflows/Elsa.Samples.ConsoleApp.FlowchartWorkflows.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.HelloWorld/Elsa.Samples.ConsoleApp.HelloWorld.csproj b/samples/console/Elsa.Samples.ConsoleApp.HelloWorld/Elsa.Samples.ConsoleApp.HelloWorld.csproj index 5512d2695..08d14ecf2 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.HelloWorld/Elsa.Samples.ConsoleApp.HelloWorld.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.HelloWorld/Elsa.Samples.ConsoleApp.HelloWorld.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.JsonWorkflows/Elsa.Samples.ConsoleApp.JsonWorkflows.csproj b/samples/console/Elsa.Samples.ConsoleApp.JsonWorkflows/Elsa.Samples.ConsoleApp.JsonWorkflows.csproj index b9d21ed15..0df6205cd 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.JsonWorkflows/Elsa.Samples.ConsoleApp.JsonWorkflows.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.JsonWorkflows/Elsa.Samples.ConsoleApp.JsonWorkflows.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.LoopingWorkflows/Elsa.Samples.ConsoleApp.LoopingWorkflows.csproj b/samples/console/Elsa.Samples.ConsoleApp.LoopingWorkflows/Elsa.Samples.ConsoleApp.LoopingWorkflows.csproj index 3badef87f..ddbe7eb9b 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.LoopingWorkflows/Elsa.Samples.ConsoleApp.LoopingWorkflows.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.LoopingWorkflows/Elsa.Samples.ConsoleApp.LoopingWorkflows.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.OutboundHttpRequests/Elsa.Samples.ConsoleApp.OutboundHttpRequests.csproj b/samples/console/Elsa.Samples.ConsoleApp.OutboundHttpRequests/Elsa.Samples.ConsoleApp.OutboundHttpRequests.csproj index f4807011c..904363b8a 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.OutboundHttpRequests/Elsa.Samples.ConsoleApp.OutboundHttpRequests.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.OutboundHttpRequests/Elsa.Samples.ConsoleApp.OutboundHttpRequests.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.SequentialWorkflows/Elsa.Samples.ConsoleApp.SequentialWorkflows.csproj b/samples/console/Elsa.Samples.ConsoleApp.SequentialWorkflows/Elsa.Samples.ConsoleApp.SequentialWorkflows.csproj index 0aac4da11..fda785228 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.SequentialWorkflows/Elsa.Samples.ConsoleApp.SequentialWorkflows.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.SequentialWorkflows/Elsa.Samples.ConsoleApp.SequentialWorkflows.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.WorkflowFunctions/Elsa.Samples.ConsoleApp.WorkflowFunctions.csproj b/samples/console/Elsa.Samples.ConsoleApp.WorkflowFunctions/Elsa.Samples.ConsoleApp.WorkflowFunctions.csproj index 0aac4da11..fda785228 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.WorkflowFunctions/Elsa.Samples.ConsoleApp.WorkflowFunctions.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.WorkflowFunctions/Elsa.Samples.ConsoleApp.WorkflowFunctions.csproj @@ -6,7 +6,7 @@ - + diff --git a/samples/console/Elsa.Samples.ConsoleApp.WorkflowInputOutput/Elsa.Samples.ConsoleApp.WorkflowInputOutput.csproj b/samples/console/Elsa.Samples.ConsoleApp.WorkflowInputOutput/Elsa.Samples.ConsoleApp.WorkflowInputOutput.csproj index 0aac4da11..fda785228 100644 --- a/samples/console/Elsa.Samples.ConsoleApp.WorkflowInputOutput/Elsa.Samples.ConsoleApp.WorkflowInputOutput.csproj +++ b/samples/console/Elsa.Samples.ConsoleApp.WorkflowInputOutput/Elsa.Samples.ConsoleApp.WorkflowInputOutput.csproj @@ -6,7 +6,7 @@ - + diff --git a/src/apps/Directory.Build.props b/src/apps/Directory.Build.props new file mode 100644 index 000000000..1ead41344 --- /dev/null +++ b/src/apps/Directory.Build.props @@ -0,0 +1,16 @@ + + + net8.0 + latest + enable + enable + $(NoWarn);CS0162;CS1591 + + + + + + + + + \ No newline at end of file diff --git a/src/bundles/Elsa.Server.LoadBalancer/Elsa.Server.LoadBalancer.csproj b/src/apps/Elsa.Server.LoadBalancer/Elsa.Server.LoadBalancer.csproj similarity index 100% rename from src/bundles/Elsa.Server.LoadBalancer/Elsa.Server.LoadBalancer.csproj rename to src/apps/Elsa.Server.LoadBalancer/Elsa.Server.LoadBalancer.csproj diff --git a/src/bundles/Elsa.Server.LoadBalancer/FodyWeavers.xml b/src/apps/Elsa.Server.LoadBalancer/FodyWeavers.xml similarity index 100% rename from src/bundles/Elsa.Server.LoadBalancer/FodyWeavers.xml rename to src/apps/Elsa.Server.LoadBalancer/FodyWeavers.xml diff --git a/src/bundles/Elsa.Server.LoadBalancer/Program.cs b/src/apps/Elsa.Server.LoadBalancer/Program.cs similarity index 100% rename from src/bundles/Elsa.Server.LoadBalancer/Program.cs rename to src/apps/Elsa.Server.LoadBalancer/Program.cs diff --git a/src/bundles/Elsa.Server.LoadBalancer/Properties/launchSettings.json b/src/apps/Elsa.Server.LoadBalancer/Properties/launchSettings.json similarity index 100% rename from src/bundles/Elsa.Server.LoadBalancer/Properties/launchSettings.json rename to src/apps/Elsa.Server.LoadBalancer/Properties/launchSettings.json diff --git a/src/bundles/Elsa.Server.LoadBalancer/appsettings.Development.json b/src/apps/Elsa.Server.LoadBalancer/appsettings.Development.json similarity index 100% rename from src/bundles/Elsa.Server.LoadBalancer/appsettings.Development.json rename to src/apps/Elsa.Server.LoadBalancer/appsettings.Development.json diff --git a/src/bundles/Elsa.Server.LoadBalancer/appsettings.json b/src/apps/Elsa.Server.LoadBalancer/appsettings.json similarity index 100% rename from src/bundles/Elsa.Server.LoadBalancer/appsettings.json rename to src/apps/Elsa.Server.LoadBalancer/appsettings.json diff --git a/src/bundles/Elsa.Server.Web/Activities/SlowActivity.cs b/src/apps/Elsa.Server.Web/Activities/SlowActivity.cs similarity index 100% rename from src/bundles/Elsa.Server.Web/Activities/SlowActivity.cs rename to src/apps/Elsa.Server.Web/Activities/SlowActivity.cs diff --git a/src/bundles/Elsa.Server.Web/Elsa.Server.Web.csproj b/src/apps/Elsa.Server.Web/Elsa.Server.Web.csproj similarity index 91% rename from src/bundles/Elsa.Server.Web/Elsa.Server.Web.csproj rename to src/apps/Elsa.Server.Web/Elsa.Server.Web.csproj index eb5be7ffe..7622f41c1 100644 --- a/src/bundles/Elsa.Server.Web/Elsa.Server.Web.csproj +++ b/src/apps/Elsa.Server.Web/Elsa.Server.Web.csproj @@ -1,18 +1,11 @@ - - net7.0;net8.0 - Linux - false - latest - - - + @@ -51,6 +44,10 @@ + + + + diff --git a/src/bundles/Elsa.Server.Web/Elsa.Server.Web.csproj.DotSettings b/src/apps/Elsa.Server.Web/Elsa.Server.Web.csproj.DotSettings similarity index 100% rename from src/bundles/Elsa.Server.Web/Elsa.Server.Web.csproj.DotSettings rename to src/apps/Elsa.Server.Web/Elsa.Server.Web.csproj.DotSettings diff --git a/src/bundles/Elsa.Server.Web/Enums/ApplicationRole.cs b/src/apps/Elsa.Server.Web/Enums/ApplicationRole.cs similarity index 100% rename from src/bundles/Elsa.Server.Web/Enums/ApplicationRole.cs rename to src/apps/Elsa.Server.Web/Enums/ApplicationRole.cs diff --git a/src/bundles/Elsa.Server.Web/Enums/DistributedCachingTransport.cs b/src/apps/Elsa.Server.Web/Enums/DistributedCachingTransport.cs similarity index 100% rename from src/bundles/Elsa.Server.Web/Enums/DistributedCachingTransport.cs rename to src/apps/Elsa.Server.Web/Enums/DistributedCachingTransport.cs diff --git a/src/bundles/Elsa.Server.Web/Enums/MassTransitBroker.cs b/src/apps/Elsa.Server.Web/Enums/MassTransitBroker.cs similarity index 100% rename from src/bundles/Elsa.Server.Web/Enums/MassTransitBroker.cs rename to src/apps/Elsa.Server.Web/Enums/MassTransitBroker.cs diff --git a/src/bundles/Elsa.Server.Web/Enums/PersistenceProvider.cs b/src/apps/Elsa.Server.Web/Enums/PersistenceProvider.cs similarity index 100% rename from src/bundles/Elsa.Server.Web/Enums/PersistenceProvider.cs rename to src/apps/Elsa.Server.Web/Enums/PersistenceProvider.cs diff --git a/src/bundles/Elsa.Server.Web/Enums/SqlDatabaseProvider.cs b/src/apps/Elsa.Server.Web/Enums/SqlDatabaseProvider.cs similarity index 100% rename from src/bundles/Elsa.Server.Web/Enums/SqlDatabaseProvider.cs rename to src/apps/Elsa.Server.Web/Enums/SqlDatabaseProvider.cs diff --git a/src/bundles/Elsa.Server.Web/Enums/WorkflowRuntime.cs b/src/apps/Elsa.Server.Web/Enums/WorkflowRuntime.cs similarity index 100% rename from src/bundles/Elsa.Server.Web/Enums/WorkflowRuntime.cs rename to src/apps/Elsa.Server.Web/Enums/WorkflowRuntime.cs diff --git a/src/bundles/Elsa.Server.Web/FodyWeavers.xml b/src/apps/Elsa.Server.Web/FodyWeavers.xml similarity index 100% rename from src/bundles/Elsa.Server.Web/FodyWeavers.xml rename to src/apps/Elsa.Server.Web/FodyWeavers.xml diff --git a/src/bundles/Elsa.Server.Web/Middleware/SimulatedLatencyMiddleware.cs b/src/apps/Elsa.Server.Web/Middleware/SimulatedLatencyMiddleware.cs similarity index 100% rename from src/bundles/Elsa.Server.Web/Middleware/SimulatedLatencyMiddleware.cs rename to src/apps/Elsa.Server.Web/Middleware/SimulatedLatencyMiddleware.cs diff --git a/src/bundles/Elsa.Server.Web/Program.cs b/src/apps/Elsa.Server.Web/Program.cs similarity index 96% rename from src/bundles/Elsa.Server.Web/Program.cs rename to src/apps/Elsa.Server.Web/Program.cs index 450d71301..3ea373136 100644 --- a/src/bundles/Elsa.Server.Web/Program.cs +++ b/src/apps/Elsa.Server.Web/Program.cs @@ -14,16 +14,16 @@ using Elsa.EntityFrameworkCore.Modules.Runtime; using Elsa.Extensions; using Elsa.Features.Services; using Elsa.Http.MultiTenancy; -using Elsa.MassTransit.Extensions; using Elsa.Identity.MultiTenancy; +using Elsa.MassTransit.Extensions; using Elsa.MongoDb.Extensions; using Elsa.MongoDb.Modules.Alterations; using Elsa.MongoDb.Modules.Identity; using Elsa.MongoDb.Modules.Management; using Elsa.MongoDb.Modules.Runtime; using Elsa.Server.Web; -using Elsa.Workflows; using Elsa.Tenants.Extensions; +using Elsa.Workflows; using Elsa.Workflows.Api; using Elsa.Workflows.Management.Compression; using Elsa.Workflows.Management.Stores; @@ -37,6 +37,7 @@ using Microsoft.Data.Sqlite; using Microsoft.Extensions.Options; using Proto.Persistence.Sqlite; using Proto.Persistence.SqlServer; +using StackExchange.Redis; const PersistenceProvider persistenceProvider = PersistenceProvider.EntityFrameworkCore; const SqlDatabaseProvider sqlDatabaseProvider = SqlDatabaseProvider.Sqlite; @@ -125,7 +126,7 @@ services ef.RunMigrations = runEFCoreMigrations; }); - + identity.TokenOptions = options => identityTokenSection.Bind(options); identity.UseConfigurationBasedUserProvider(options => identitySection.Bind(options)); identity.UseConfigurationBasedApplicationProvider(options => identitySection.Bind(options)); @@ -196,12 +197,18 @@ services if (workflowRuntime == WorkflowRuntime.ProtoActor) { - runtime.UseProtoActor(proto => proto.PersistenceProvider = _ => + runtime.UseProtoActor(proto => { - if (sqlDatabaseProvider == SqlDatabaseProvider.SqlServer) - return new SqlServerProvider(sqlServerConnectionString!, true, "", "proto_actor"); - else + proto + .EnableMetrics() + .EnableTracing(); + + proto.PersistenceProvider = _ => + { + if (sqlDatabaseProvider == SqlDatabaseProvider.SqlServer) + return new SqlServerProvider(sqlServerConnectionString!, true, "", "proto_actor"); return new SqliteProvider(new SqliteConnectionStringBuilder(sqliteConnectionString)); + }; }); } @@ -221,7 +228,7 @@ services runtime.UseCache(); runtime.DistributedLockingOptions = options => configuration.GetSection("Runtime:DistributedLocking").Bind(options); - + runtime.DistributedLockProvider = _ => { switch (distributedLockProviderName) @@ -234,7 +241,7 @@ services }); case "Redis": { - var connectionMultiplexer = StackExchange.Redis.ConnectionMultiplexer.Connect(redisConnectionString); + var connectionMultiplexer = ConnectionMultiplexer.Connect(redisConnectionString); var database = connectionMultiplexer.GetDatabase(); return new RedisDistributedSynchronizationProvider(database); } @@ -404,7 +411,6 @@ services }); services.Configure(options => options.CacheDuration = TimeSpan.FromDays(1)); - services.AddHealthChecks(); services.AddControllers(); services.AddCors(cors => cors.AddDefaultPolicy(policy => policy.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin().WithExposedHeaders("*"))); diff --git a/src/bundles/Elsa.Server.Web/Properties/launchSettings.json b/src/apps/Elsa.Server.Web/Properties/launchSettings.json similarity index 100% rename from src/bundles/Elsa.Server.Web/Properties/launchSettings.json rename to src/apps/Elsa.Server.Web/Properties/launchSettings.json diff --git a/src/apps/Elsa.Server.Web/README.md b/src/apps/Elsa.Server.Web/README.md new file mode 100644 index 000000000..cade2408c --- /dev/null +++ b/src/apps/Elsa.Server.Web/README.md @@ -0,0 +1,29 @@ +# Server + +This project represents an Elsa application that hosts workflows and exposes API endpoints to manage & execute workflows. + +## Secrets +The following are the secrets stored in hashed form in appsettings.json: + +**API key**: `48587230567A646D394B435A6277734A-4802fa49-e91e-45e8-b00f-b5492377e20b` +**Admin user**: `admin` +**Admin password**: `password` + +## OpenTelemetry (MacOS) + +COR_ENABLE_PROFILING=1 +COR_PROFILER={918728DD-259F-4A6A-AC2B-B85E1B658318} +CORECLR_PROFILER_PATH=$INSTALL_DIR/osx-x64/OpenTelemetry.AutoInstrumentation.Native.dylib +DOTNET_ADDITIONAL_DEPS=$INSTALL_DIR/AdditionalDeps +DOTNET_EnableDiagnostics=1 +DOTNET_SHARED_STORE=$INSTALL_DIR/store +DOTNET_STARTUP_HOOKS=OpenTelemetry.AutoInstrumentation.StartupHook +OTEL_DOTNET_AUTO_HOME=$INSTALL_DIR +OTEL_DOTNET_AUTO_LOGS_CONSOLE_EXPORTER_ENABLED=true +OTEL_DOTNET_AUTO_METRICS_CONSOLE_EXPORTER_ENABLED=true +OTEL_DOTNET_AUTO_TRACES_ADDITIONAL_SOURCES=Proto.Actor +OTEL_DOTNET_AUTO_TRACES_CONSOLE_EXPORTER_ENABLED=true +OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317 +OTEL_EXPORTER_OTLP_PROTOCOL=grpc +OTEL_RESOURCE_ATTRIBUTES=service.name=Elsa +Server,service.version=3.3.0,service.instance.id=instance-123,deployment.environment=development \ No newline at end of file diff --git a/src/bundles/Elsa.Server.Web/appsettings.json b/src/apps/Elsa.Server.Web/appsettings.json similarity index 100% rename from src/bundles/Elsa.Server.Web/appsettings.json rename to src/apps/Elsa.Server.Web/appsettings.json diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj b/src/apps/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj similarity index 97% rename from src/bundles/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj rename to src/apps/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj index 23d188639..82ae19ecf 100644 --- a/src/bundles/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj +++ b/src/apps/Elsa.ServerAndStudio.Web/Elsa.ServerAndStudio.Web.csproj @@ -7,7 +7,7 @@ - + diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Enums/DistributedCachingTransport.cs b/src/apps/Elsa.ServerAndStudio.Web/Enums/DistributedCachingTransport.cs similarity index 100% rename from src/bundles/Elsa.ServerAndStudio.Web/Enums/DistributedCachingTransport.cs rename to src/apps/Elsa.ServerAndStudio.Web/Enums/DistributedCachingTransport.cs diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Enums/MassTransitBroker.cs b/src/apps/Elsa.ServerAndStudio.Web/Enums/MassTransitBroker.cs similarity index 100% rename from src/bundles/Elsa.ServerAndStudio.Web/Enums/MassTransitBroker.cs rename to src/apps/Elsa.ServerAndStudio.Web/Enums/MassTransitBroker.cs diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Extensions/CorsOptionsExtensions.cs b/src/apps/Elsa.ServerAndStudio.Web/Extensions/CorsOptionsExtensions.cs similarity index 100% rename from src/bundles/Elsa.ServerAndStudio.Web/Extensions/CorsOptionsExtensions.cs rename to src/apps/Elsa.ServerAndStudio.Web/Extensions/CorsOptionsExtensions.cs diff --git a/src/bundles/Elsa.ServerAndStudio.Web/FodyWeavers.xml b/src/apps/Elsa.ServerAndStudio.Web/FodyWeavers.xml similarity index 100% rename from src/bundles/Elsa.ServerAndStudio.Web/FodyWeavers.xml rename to src/apps/Elsa.ServerAndStudio.Web/FodyWeavers.xml diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Pages/_Host.cshtml b/src/apps/Elsa.ServerAndStudio.Web/Pages/_Host.cshtml similarity index 100% rename from src/bundles/Elsa.ServerAndStudio.Web/Pages/_Host.cshtml rename to src/apps/Elsa.ServerAndStudio.Web/Pages/_Host.cshtml diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Program.cs b/src/apps/Elsa.ServerAndStudio.Web/Program.cs similarity index 100% rename from src/bundles/Elsa.ServerAndStudio.Web/Program.cs rename to src/apps/Elsa.ServerAndStudio.Web/Program.cs diff --git a/src/bundles/Elsa.ServerAndStudio.Web/Properties/launchSettings.json b/src/apps/Elsa.ServerAndStudio.Web/Properties/launchSettings.json similarity index 100% rename from src/bundles/Elsa.ServerAndStudio.Web/Properties/launchSettings.json rename to src/apps/Elsa.ServerAndStudio.Web/Properties/launchSettings.json diff --git a/src/bundles/Elsa.ServerAndStudio.Web/README.md b/src/apps/Elsa.ServerAndStudio.Web/README.md similarity index 100% rename from src/bundles/Elsa.ServerAndStudio.Web/README.md rename to src/apps/Elsa.ServerAndStudio.Web/README.md diff --git a/src/bundles/Elsa.ServerAndStudio.Web/appsettings.json b/src/apps/Elsa.ServerAndStudio.Web/appsettings.json similarity index 100% rename from src/bundles/Elsa.ServerAndStudio.Web/appsettings.json rename to src/apps/Elsa.ServerAndStudio.Web/appsettings.json diff --git a/src/bundles/Elsa.Studio.Web/Elsa.Studio.Web.csproj b/src/apps/Elsa.Studio.Web/Elsa.Studio.Web.csproj similarity index 100% rename from src/bundles/Elsa.Studio.Web/Elsa.Studio.Web.csproj rename to src/apps/Elsa.Studio.Web/Elsa.Studio.Web.csproj diff --git a/src/bundles/Elsa.Studio.Web/FodyWeavers.xml b/src/apps/Elsa.Studio.Web/FodyWeavers.xml similarity index 100% rename from src/bundles/Elsa.Studio.Web/FodyWeavers.xml rename to src/apps/Elsa.Studio.Web/FodyWeavers.xml diff --git a/src/bundles/Elsa.Studio.Web/Pages/_Host.cshtml b/src/apps/Elsa.Studio.Web/Pages/_Host.cshtml similarity index 100% rename from src/bundles/Elsa.Studio.Web/Pages/_Host.cshtml rename to src/apps/Elsa.Studio.Web/Pages/_Host.cshtml diff --git a/src/bundles/Elsa.Studio.Web/Program.cs b/src/apps/Elsa.Studio.Web/Program.cs similarity index 100% rename from src/bundles/Elsa.Studio.Web/Program.cs rename to src/apps/Elsa.Studio.Web/Program.cs diff --git a/src/bundles/Elsa.Studio.Web/Properties/launchSettings.json b/src/apps/Elsa.Studio.Web/Properties/launchSettings.json similarity index 100% rename from src/bundles/Elsa.Studio.Web/Properties/launchSettings.json rename to src/apps/Elsa.Studio.Web/Properties/launchSettings.json diff --git a/src/bundles/ElsaStudioWebAssembly/ElsaStudioWebAssembly.csproj b/src/apps/ElsaStudioWebAssembly/ElsaStudioWebAssembly.csproj similarity index 100% rename from src/bundles/ElsaStudioWebAssembly/ElsaStudioWebAssembly.csproj rename to src/apps/ElsaStudioWebAssembly/ElsaStudioWebAssembly.csproj diff --git a/src/bundles/Elsa/FodyWeavers.xml b/src/apps/ElsaStudioWebAssembly/FodyWeavers.xml similarity index 100% rename from src/bundles/Elsa/FodyWeavers.xml rename to src/apps/ElsaStudioWebAssembly/FodyWeavers.xml diff --git a/src/bundles/ElsaStudioWebAssembly/MainLayout.razor b/src/apps/ElsaStudioWebAssembly/MainLayout.razor similarity index 100% rename from src/bundles/ElsaStudioWebAssembly/MainLayout.razor rename to src/apps/ElsaStudioWebAssembly/MainLayout.razor diff --git a/src/bundles/ElsaStudioWebAssembly/Program.cs b/src/apps/ElsaStudioWebAssembly/Program.cs similarity index 100% rename from src/bundles/ElsaStudioWebAssembly/Program.cs rename to src/apps/ElsaStudioWebAssembly/Program.cs diff --git a/src/bundles/ElsaStudioWebAssembly/Properties/launchSettings.json b/src/apps/ElsaStudioWebAssembly/Properties/launchSettings.json similarity index 100% rename from src/bundles/ElsaStudioWebAssembly/Properties/launchSettings.json rename to src/apps/ElsaStudioWebAssembly/Properties/launchSettings.json diff --git a/src/bundles/ElsaStudioWebAssembly/README.md b/src/apps/ElsaStudioWebAssembly/README.md similarity index 100% rename from src/bundles/ElsaStudioWebAssembly/README.md rename to src/apps/ElsaStudioWebAssembly/README.md diff --git a/src/bundles/ElsaStudioWebAssembly/_Imports.razor b/src/apps/ElsaStudioWebAssembly/_Imports.razor similarity index 100% rename from src/bundles/ElsaStudioWebAssembly/_Imports.razor rename to src/apps/ElsaStudioWebAssembly/_Imports.razor diff --git a/src/bundles/Elsa.Server.Web/README.md b/src/bundles/Elsa.Server.Web/README.md deleted file mode 100644 index eea64e806..000000000 --- a/src/bundles/Elsa.Server.Web/README.md +++ /dev/null @@ -1,10 +0,0 @@ -# Server - -This project represents an Elsa application that hosts workflows and exposes API endpoints to manage & execute workflows. - -## Secrets -The following are the secrets stored in hashed form in appsettings.json: - -**API key**: `48587230567A646D394B435A6277734A-4802fa49-e91e-45e8-b00f-b5492377e20b` -**Admin user**: `admin` -**Admin password**: `password` \ No newline at end of file diff --git a/src/common/Elsa.Testing.Shared.Integration/Elsa.Testing.Shared.Integration.csproj b/src/common/Elsa.Testing.Shared.Integration/Elsa.Testing.Shared.Integration.csproj index cdfbb29c6..06b02b196 100644 --- a/src/common/Elsa.Testing.Shared.Integration/Elsa.Testing.Shared.Integration.csproj +++ b/src/common/Elsa.Testing.Shared.Integration/Elsa.Testing.Shared.Integration.csproj @@ -14,7 +14,7 @@ - + diff --git a/src/modules/Elsa.ProtoActor/Elsa.ProtoActor.csproj b/src/modules/Elsa.ProtoActor/Elsa.ProtoActor.csproj index 647bf8842..b90469f88 100644 --- a/src/modules/Elsa.ProtoActor/Elsa.ProtoActor.csproj +++ b/src/modules/Elsa.ProtoActor/Elsa.ProtoActor.csproj @@ -18,6 +18,7 @@ + @@ -32,8 +33,4 @@ - - - - diff --git a/src/modules/Elsa.ProtoActor/Features/ProtoActorFeature.cs b/src/modules/Elsa.ProtoActor/Features/ProtoActorFeature.cs index fb70f49dd..4f08fee4b 100644 --- a/src/modules/Elsa.ProtoActor/Features/ProtoActorFeature.cs +++ b/src/modules/Elsa.ProtoActor/Features/ProtoActorFeature.cs @@ -16,24 +16,64 @@ using Proto.Cluster; using Proto.Cluster.Partition; using Proto.Cluster.Testing; using Proto.DependencyInjection; +using Proto.OpenTelemetry; using Proto.Persistence; using Proto.Remote; using Proto.Remote.GrpcNet; namespace Elsa.ProtoActor.Features; -/// /// Installs the Proto Actor feature to host & execute workflow instances. -/// [DependsOn(typeof(WorkflowsFeature))] [DependsOn(typeof(WorkflowRuntimeFeature))] public class ProtoActorFeature : FeatureBase { + private string _clusterName = "elsa-cluster"; + private LogLevel _diagnosticsLogLevel = LogLevel.Information; + private bool _enableMetrics; + private bool _enableTracing; + /// public ProtoActorFeature(IModule module) : base(module) { } + /// A delegate that returns an instance of a concrete implementation of . + public Func CreateClusterProvider { get; set; } = _ => new TestProvider(new TestProviderOptions(), new InMemAgent()); + + /// A delegate that configures an instance of . + public Action ConfigureActorSystemConfig { get; set; } = SetupDefaultConfig; + + /// A delegate that configures an instance of an . + public Action ConfigureActorSystem { get; set; } = (_, _) => { }; + + /// A delegate that returns an instance of to be used by the actor system. + public Func ConfigureRemoteConfig { get; set; } = CreateDefaultRemoteConfig; + + /// A delegate that returns an instance of a concrete implementation of to use for persisting events and snapshots. + public Func PersistenceProvider { get; set; } = _ => new InMemoryProvider(); + + /// A delegate that configures an instance of . + public Action? ConfigureClusterConfig { get; set; } + + public ProtoActorFeature EnableMetrics(bool value = true) + { + _enableMetrics = value; + return this; + } + + public ProtoActorFeature EnableTracing(bool value = true) + { + _enableTracing = value; + return this; + } + + public ProtoActorFeature WithDiagnosticsLevel(LogLevel value) + { + _diagnosticsLogLevel = value; + return this; + } + /// public override void Configure() { @@ -41,36 +81,6 @@ public class ProtoActorFeature : FeatureBase Module.Configure().WorkflowRuntime = sp => ActivatorUtilities.CreateInstance(sp); } - /// - /// The name of the cluster to configure. - /// - public string ClusterName { get; set; } = "elsa-cluster"; - - /// - /// A delegate that returns an instance of a concrete implementation of . - /// - public Func ClusterProvider { get; set; } = _ => new TestProvider(new TestProviderOptions(), new InMemAgent()); - - /// - /// A delegate that configures an instance of . - /// - public Action ActorSystemConfig { get; set; } = SetupDefaultConfig; - - /// - /// A delegate that configures an instance of an . - /// - public Action ActorSystem { get; set; } = (_, _) => { }; - - /// - /// A delegate that returns an instance of to be used by the actor system. - /// - public Func RemoteConfig { get; set; } = CreateDefaultRemoteConfig; - - /// - /// A delegate that returns an instance of a concrete implementation of to use for persisting events and snapshots. - /// - public Func PersistenceProvider { get; set; } = _ => new InMemoryProvider(); - /// public override void ConfigureHostedServices() { @@ -85,36 +95,42 @@ public class ProtoActorFeature : FeatureBase // Register ActorSystem. services.AddSingleton(sp => { - var systemConfig = Proto.ActorSystemConfig + var actorSystemConfig = ActorSystemConfig .Setup() - .WithDiagnosticsLogLevel(LogLevel.Debug) - .WithMetrics(); + .WithDiagnosticsLogLevel(_diagnosticsLogLevel); - var clusterProvider = ClusterProvider(sp); - var system = new ActorSystem(systemConfig).WithServiceProvider(sp); + if (_enableMetrics) + actorSystemConfig = actorSystemConfig.WithMetrics(); + + ConfigureActorSystemConfig(sp, actorSystemConfig); + + var clusterProvider = CreateClusterProvider(sp); + var system = new ActorSystem(actorSystemConfig).WithServiceProvider(sp); var workflowGrainProps = system.DI().PropsFor(); + if (_enableTracing) + workflowGrainProps = workflowGrainProps.WithTracing(); + var clusterConfig = ClusterConfig - .Setup(ClusterName, clusterProvider, new PartitionIdentityLookup()) + .Setup(_clusterName, clusterProvider, new PartitionIdentityLookup()) .WithHeartbeatExpiration(TimeSpan.FromDays(1)) .WithActorRequestTimeout(TimeSpan.FromSeconds(1000)) .WithActorSpawnVerificationTimeout(TimeSpan.FromHours(1)) .WithActorActivationTimeout(TimeSpan.FromHours(1)) .WithActorSpawnVerificationTimeout(TimeSpan.FromHours(1)) .WithGossipRequestTimeout(TimeSpan.FromHours(1)) - //.WithLegacyRequestTimeoutBehavior() .WithClusterKind(WorkflowInstanceActor.Kind, workflowGrainProps) ; - ActorSystemConfig(sp, systemConfig); - - var remoteConfig = RemoteConfig(sp); + ConfigureClusterConfig?.Invoke(sp, clusterConfig); + var remoteConfig = ConfigureRemoteConfig(sp); system .WithRemote(remoteConfig) .WithCluster(clusterConfig); - ActorSystem(sp, system); + ConfigureActorSystem(sp, system); + return system; }); @@ -151,7 +167,7 @@ public class ProtoActorFeature : FeatureBase // Actors. services .AddTransient(sp => new WorkflowInstanceActor((context, _) => ActivatorUtilities.CreateInstance(sp, context))); - + // Distributed runtime. services.AddSingleton(); } diff --git a/src/modules/Elsa.Workflows.Core/Services/VariablePersistenceManager.cs b/src/modules/Elsa.Workflows.Core/Services/VariablePersistenceManager.cs index 6f2af924a..aeeccb5c1 100644 --- a/src/modules/Elsa.Workflows.Core/Services/VariablePersistenceManager.cs +++ b/src/modules/Elsa.Workflows.Core/Services/VariablePersistenceManager.cs @@ -6,18 +6,8 @@ using Elsa.Workflows.Memory; namespace Elsa.Workflows; /// -public class VariablePersistenceManager : IVariablePersistenceManager +public class VariablePersistenceManager(IStorageDriverManager storageDriverManager) : IVariablePersistenceManager { - private readonly IStorageDriverManager _storageDriverManager; - - /// - /// Constructor. - /// - public VariablePersistenceManager(IStorageDriverManager storageDriverManager) - { - _storageDriverManager = storageDriverManager; - } - /// public async Task LoadVariablesAsync(WorkflowExecutionContext workflowExecutionContext) { @@ -35,9 +25,12 @@ public class VariablePersistenceManager : IVariablePersistenceManager var register = context.ExpressionExecutionContext.Memory; var block = EnsureBlock(register, variable); var metadata = (VariableBlockMetadata)block.Metadata!; - var driver = _storageDriverManager.Get(metadata.StorageDriverType!); + var driver = storageDriverManager.Get(metadata.StorageDriverType!); - block.Metadata = metadata with { IsInitialized = true }; + block.Metadata = metadata with + { + IsInitialized = true + }; if (driver == null) continue; @@ -68,11 +61,11 @@ public class VariablePersistenceManager : IVariablePersistenceManager { var block = variable.GetBlock(context.ExpressionExecutionContext); var metadata = (VariableBlockMetadata)block.Metadata!; - var driver = _storageDriverManager.Get(metadata.StorageDriverType!); + var driver = storageDriverManager.Get(metadata.StorageDriverType!); if (driver == null) continue; - + var id = GetStateId(variable); var value = block.Value; @@ -84,7 +77,6 @@ public class VariablePersistenceManager : IVariablePersistenceManager } } - /// public async Task DeleteVariablesAsync(ActivityExecutionContext context) { @@ -99,7 +91,7 @@ public class VariablePersistenceManager : IVariablePersistenceManager continue; var metadata = (VariableBlockMetadata)block.Metadata!; - var driver = _storageDriverManager.Get(metadata.StorageDriverType!); + var driver = storageDriverManager.Get(metadata.StorageDriverType!); if (driver == null) continue; diff --git a/src/bundles/Elsa/Elsa.csproj b/src/modules/Elsa/Elsa.csproj similarity index 100% rename from src/bundles/Elsa/Elsa.csproj rename to src/modules/Elsa/Elsa.csproj diff --git a/src/bundles/Elsa/Extensions/DependencyInjectionExtensions.cs b/src/modules/Elsa/Extensions/DependencyInjectionExtensions.cs similarity index 100% rename from src/bundles/Elsa/Extensions/DependencyInjectionExtensions.cs rename to src/modules/Elsa/Extensions/DependencyInjectionExtensions.cs diff --git a/src/bundles/Elsa/Extensions/ServiceProviderExtensions.cs b/src/modules/Elsa/Extensions/ServiceProviderExtensions.cs similarity index 100% rename from src/bundles/Elsa/Extensions/ServiceProviderExtensions.cs rename to src/modules/Elsa/Extensions/ServiceProviderExtensions.cs diff --git a/src/bundles/Elsa/Features/AppFeature.cs b/src/modules/Elsa/Features/AppFeature.cs similarity index 100% rename from src/bundles/Elsa/Features/AppFeature.cs rename to src/modules/Elsa/Features/AppFeature.cs diff --git a/src/bundles/Elsa/Features/ElsaFeature.cs b/src/modules/Elsa/Features/ElsaFeature.cs similarity index 100% rename from src/bundles/Elsa/Features/ElsaFeature.cs rename to src/modules/Elsa/Features/ElsaFeature.cs diff --git a/src/bundles/ElsaStudioWebAssembly/FodyWeavers.xml b/src/modules/Elsa/FodyWeavers.xml similarity index 100% rename from src/bundles/ElsaStudioWebAssembly/FodyWeavers.xml rename to src/modules/Elsa/FodyWeavers.xml diff --git a/test/component/Elsa.AzureServiceBus.ComponentTests/Elsa.AzureServiceBus.ComponentTests.csproj b/test/component/Elsa.AzureServiceBus.ComponentTests/Elsa.AzureServiceBus.ComponentTests.csproj index e7de61e7c..96f81d332 100644 --- a/test/component/Elsa.AzureServiceBus.ComponentTests/Elsa.AzureServiceBus.ComponentTests.csproj +++ b/test/component/Elsa.AzureServiceBus.ComponentTests/Elsa.AzureServiceBus.ComponentTests.csproj @@ -19,7 +19,7 @@ - + diff --git a/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj b/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj index 28c11218b..00abd030f 100644 --- a/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj +++ b/test/component/Elsa.Workflows.ComponentTests/Elsa.Workflows.ComponentTests.csproj @@ -14,7 +14,7 @@ - +