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
This commit is contained in:
parent
5586151bf1
commit
283824fcfd
|
|
@ -72,6 +72,7 @@
|
|||
<PackageVersion Include="Proto.Cluster.CodeGen" Version="1.6.0" />
|
||||
<PackageVersion Include="Proto.Cluster.TestProvider" Version="1.6.0" />
|
||||
<PackageVersion Include="Proto.Cluster.AzureContainerApps" Version="1.6.0" />
|
||||
<PackageVersion Include="Proto.OpenTelemetry" Version="1.6.0"/>
|
||||
<PackageVersion Include="Proto.Persistence" Version="1.6.0" />
|
||||
<PackageVersion Include="Proto.Persistence.Sqlite" Version="1.6.0" />
|
||||
<PackageVersion Include="Proto.Persistence.SqlServer" Version="1.6.0" />
|
||||
|
|
@ -105,7 +106,6 @@
|
|||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations.PostgreSQL" Version="0.5.1" />
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations.SQLite" Version="0.5.1" />
|
||||
<PackageVersion Include="AppAny.Quartz.EntityFrameworkCore.Migrations.SqlServer" Version="0.5.1" />
|
||||
<PackageVersion Include="System.Text.Json" Version="8.0.4" />
|
||||
</ItemGroup>
|
||||
<ItemGroup Condition="'$(TargetFramework)' == 'net6.0' or '$(TargetFramework)' == 'net7.0'">
|
||||
<PackageVersion Include="AspNetCore.Authentication.ApiKey" Version="7.0.0" />
|
||||
|
|
@ -170,7 +170,9 @@
|
|||
<PackageVersion Include="Polly" Version="8.4.1" />
|
||||
<PackageVersion Include="Pomelo.EntityFrameworkCore.MySql" Version="8.0.2" />
|
||||
<PackageVersion Include="System.Text.Json" Version="8.0.4" />
|
||||
<PackageVersion Include="Refit" Version="7.1.2" />
|
||||
<PackageVersion Include="Refit.HttpClientFactory" Version="7.1.2" />
|
||||
<PackageVersion Include="OpenTelemetry.AutoInstrumentation" Version="1.7.0"/>
|
||||
<PackageVersion Include="OpenTelemetry.Extensions.Hosting" Version="1.9.0"/>
|
||||
<PackageVersion Include="OpenTelemetry.Exporter.OpenTelemetryProtocol" Version="1.9.0"/>
|
||||
<PackageVersion Include="OpenTelemetry.Instrumentation.StackExchangeRedis" Version="1.0.0-rc9.15"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
91
Elsa.sln
91
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}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
|
||||
<s:Boolean x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/KEEP_EXISTING_INITIALIZER_ARRANGEMENT/@EntryValue">False</s:Boolean>
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/MAX_ARRAY_INITIALIZER_ELEMENTS_ON_LINE/@EntryValue">1000</s:Int64>
|
||||
<s:Int64 x:Key="/Default/CodeStyle/CodeFormatting/CSharpFormat/MAX_INITIALIZER_ELEMENTS_ON_LINE/@EntryValue">1</s:Int64>
|
||||
|
|
@ -14,6 +14,7 @@
|
|||
<s:Boolean x:Key="/Default/UserDictionary/Words/=initializable/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=materializer/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=materializers/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=otlp/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Persister/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Populator/@EntryIndexedValue">True</s:Boolean>
|
||||
<s:Boolean x:Key="/Default/UserDictionary/Words/=Postgre/@EntryIndexedValue">True</s:Boolean>
|
||||
|
|
|
|||
|
|
@ -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:
|
||||
|
|
|
|||
9
docker/init-db.sh
Executable file
9
docker/init-db.sh
Executable file
|
|
@ -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"
|
||||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.AzureServiceBus\Elsa.AzureServiceBus.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.CSharp\Elsa.CSharp.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj"/>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.AzureServiceBus\Elsa.AzureServiceBus.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Dapper\Elsa.Dapper.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Email\Elsa.Email.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj"/>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.WorkflowProviders.BlobStorage\Elsa.WorkflowProviders.BlobStorage.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Elasticsearch\Elsa.Elasticsearch.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.PostgreSql\Elsa.EntityFrameworkCore.PostgreSql.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Workflows.Api\Elsa.Workflows.Api.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Hangfire\Elsa.Hangfire.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Scheduling\Elsa.Scheduling.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj"/>
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Workflows.Api\Elsa.Workflows.Api.csproj" />
|
||||
</ItemGroup>
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.WorkflowProviders.BlobStorage\Elsa.WorkflowProviders.BlobStorage.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.CSharp\Elsa.CSharp.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.CSharp\Elsa.CSharp.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.MongoDb\Elsa.MongoDb.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
|
|
|
|||
|
|
@ -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<AzureContainerAppsProvider>();
|
||||
protoActor.CreateClusterProvider = sp => sp.GetRequiredService<AzureContainerAppsProvider>();
|
||||
|
||||
protoActor.RemoteConfig = _ => GrpcNetRemoteConfig
|
||||
protoActor.ConfigureRemoteConfig = _ => GrpcNetRemoteConfig
|
||||
.BindTo(advertisedHost)
|
||||
.WithProtoMessages(EmptyReflection.Descriptor)
|
||||
.WithProtoMessages(SharedReflection.Descriptor)
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.JavaScript\Elsa.JavaScript.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Liquid\Elsa.Liquid.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.SasTokens\Elsa.SasTokens.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.SasTokens\Elsa.SasTokens.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Identity\Elsa.Identity.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Webhooks\Elsa.Webhooks.csproj" />
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Email\Elsa.Email.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore.Sqlite\Elsa.EntityFrameworkCore.Sqlite.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.EntityFrameworkCore\Elsa.EntityFrameworkCore.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\common\Elsa.Testing.Shared.Integration\Elsa.Testing.Shared.Integration.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Scheduling\Elsa.Scheduling.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa.Http\Elsa.Http.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -6,7 +6,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\..\src\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\..\src\modules\Elsa\Elsa.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
16
src/apps/Directory.Build.props
Normal file
16
src/apps/Directory.Build.props
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
<Project>
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net8.0</TargetFramework>
|
||||
<LangVersion>latest</LangVersion>
|
||||
<Nullable>enable</Nullable>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<NoWarn>$(NoWarn);CS0162;CS1591</NoWarn>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="ConfigureAwait.Fody" PrivateAssets="All"/>
|
||||
<PackageReference Include="Fody" PrivateAssets="All"/>
|
||||
<PackageReference Include="JetBrains.Annotations" PrivateAssets="All"/>
|
||||
<PackageReference Include="Microsoft.SourceLink.GitHub" PrivateAssets="All"/>
|
||||
</ItemGroup>
|
||||
</Project>
|
||||
|
|
@ -1,18 +1,11 @@
|
|||
<Project Sdk="Microsoft.NET.Sdk.Web">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net7.0;net8.0</TargetFrameworks>
|
||||
<DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
|
||||
<IsPackable>false</IsPackable>
|
||||
<LangVersion>latest</LangVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\modules\Elsa.AzureServiceBus\Elsa.AzureServiceBus.csproj" />
|
||||
<ProjectReference Include="..\..\modules\Elsa.Caching.Distributed.MassTransit\Elsa.Caching.Distributed.MassTransit.csproj" />
|
||||
<ProjectReference Include="..\..\modules\Elsa.EntityFrameworkCore.PostgreSql\Elsa.EntityFrameworkCore.PostgreSql.csproj"/>
|
||||
<ProjectReference Include="..\..\modules\Elsa.MassTransit.AzureServiceBus\Elsa.MassTransit.AzureServiceBus.csproj"/>
|
||||
<ProjectReference Include="..\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\modules\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\common\Elsa.DropIns\Elsa.DropIns.csproj"/>
|
||||
<ProjectReference Include="..\..\modules\Elsa.Alterations.MassTransit\Elsa.Alterations.MassTransit.csproj"/>
|
||||
<ProjectReference Include="..\..\modules\Elsa.Alterations\Elsa.Alterations.csproj"/>
|
||||
|
|
@ -51,6 +44,10 @@
|
|||
<PackageReference Include="FluentStorage.Azure.Blobs"/>
|
||||
<PackageReference Include="Proto.Persistence.Sqlite"/>
|
||||
<PackageReference Include="Proto.Persistence.SqlServer"/>
|
||||
<PackageReference Include="OpenTelemetry.AutoInstrumentation"/>
|
||||
<PackageReference Include="OpenTelemetry.Extensions.Hosting"/>
|
||||
<PackageReference Include="OpenTelemetry.Exporter.OpenTelemetryProtocol"/>
|
||||
<PackageReference Include="OpenTelemetry.Instrumentation.StackExchangeRedis"/>
|
||||
</ItemGroup>
|
||||
|
||||
<!--Overridden for vulnaribility reasons with dependencies referencing older versions.-->
|
||||
|
|
@ -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<CachingOptions>(options => options.CacheDuration = TimeSpan.FromDays(1));
|
||||
|
||||
services.AddHealthChecks();
|
||||
services.AddControllers();
|
||||
services.AddCors(cors => cors.AddDefaultPolicy(policy => policy.AllowAnyHeader().AllowAnyMethod().AllowAnyOrigin().WithExposedHeaders("*")));
|
||||
29
src/apps/Elsa.Server.Web/README.md
Normal file
29
src/apps/Elsa.Server.Web/README.md
Normal file
|
|
@ -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
|
||||
|
|
@ -7,7 +7,7 @@
|
|||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\bundles\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\modules\Elsa\Elsa.csproj"/>
|
||||
<ProjectReference Include="..\..\modules\Elsa.Caching.Distributed.MassTransit\Elsa.Caching.Distributed.MassTransit.csproj" />
|
||||
<ProjectReference Include="..\..\modules\Elsa.Caching.Distributed\Elsa.Caching.Distributed.csproj" />
|
||||
<ProjectReference Include="..\..\modules\Elsa.CSharp\Elsa.CSharp.csproj"/>
|
||||
|
|
@ -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`
|
||||
|
|
@ -14,7 +14,7 @@
|
|||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\..\bundles\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\modules\Elsa\Elsa.csproj" />
|
||||
<ProjectReference Include="..\..\modules\Elsa.CSharp\Elsa.CSharp.csproj" />
|
||||
<ProjectReference Include="..\..\modules\Elsa.JavaScript\Elsa.JavaScript.csproj" />
|
||||
<ProjectReference Include="..\..\modules\Elsa.Liquid\Elsa.Liquid.csproj" />
|
||||
|
|
|
|||
|
|
@ -18,6 +18,7 @@
|
|||
<PackageReference Include="Proto.Cluster"/>
|
||||
<PackageReference Include="Proto.Cluster.CodeGen"/>
|
||||
<PackageReference Include="Proto.Cluster.TestProvider"/>
|
||||
<PackageReference Include="Proto.OpenTelemetry"/>
|
||||
<PackageReference Include="Proto.Persistence"/>
|
||||
<PackageReference Include="Proto.Remote"/>
|
||||
</ItemGroup>
|
||||
|
|
@ -32,8 +33,4 @@
|
|||
<ProtoGrain Include="Proto\WorkflowInstance.proto" AdditionalImportDirs="./Proto" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<Folder Include="Models\" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
||||
/// <summary>
|
||||
/// Installs the Proto Actor feature to host & execute workflow instances.
|
||||
/// </summary>
|
||||
[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;
|
||||
|
||||
/// <inheritdoc />
|
||||
public ProtoActorFeature(IModule module) : base(module)
|
||||
{
|
||||
}
|
||||
|
||||
/// A delegate that returns an instance of a concrete implementation of <see cref="IClusterProvider"/>.
|
||||
public Func<IServiceProvider, IClusterProvider> CreateClusterProvider { get; set; } = _ => new TestProvider(new TestProviderOptions(), new InMemAgent());
|
||||
|
||||
/// A delegate that configures an instance of <see cref="ConfigureActorSystemConfig"/>.
|
||||
public Action<IServiceProvider, ActorSystemConfig> ConfigureActorSystemConfig { get; set; } = SetupDefaultConfig;
|
||||
|
||||
/// A delegate that configures an instance of an <see cref="ConfigureActorSystem"/>.
|
||||
public Action<IServiceProvider, ActorSystem> ConfigureActorSystem { get; set; } = (_, _) => { };
|
||||
|
||||
/// A delegate that returns an instance of <see cref="GrpcNetRemoteConfig"/> to be used by the actor system.
|
||||
public Func<IServiceProvider, GrpcNetRemoteConfig> ConfigureRemoteConfig { get; set; } = CreateDefaultRemoteConfig;
|
||||
|
||||
/// A delegate that returns an instance of a concrete implementation of <see cref="IProvider"/> to use for persisting events and snapshots.
|
||||
public Func<IServiceProvider, IProvider> PersistenceProvider { get; set; } = _ => new InMemoryProvider();
|
||||
|
||||
/// A delegate that configures an instance of <see cref="ClusterConfig"/>.
|
||||
public Action<IServiceProvider, ClusterConfig>? 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;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
public override void Configure()
|
||||
{
|
||||
|
|
@ -41,36 +81,6 @@ public class ProtoActorFeature : FeatureBase
|
|||
Module.Configure<WorkflowRuntimeFeature>().WorkflowRuntime = sp => ActivatorUtilities.CreateInstance<ProtoActorRuntime>(sp);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// The name of the cluster to configure.
|
||||
/// </summary>
|
||||
public string ClusterName { get; set; } = "elsa-cluster";
|
||||
|
||||
/// <summary>
|
||||
/// A delegate that returns an instance of a concrete implementation of <see cref="IClusterProvider"/>.
|
||||
/// </summary>
|
||||
public Func<IServiceProvider, IClusterProvider> ClusterProvider { get; set; } = _ => new TestProvider(new TestProviderOptions(), new InMemAgent());
|
||||
|
||||
/// <summary>
|
||||
/// A delegate that configures an instance of <see cref="ActorSystemConfig"/>.
|
||||
/// </summary>
|
||||
public Action<IServiceProvider, ActorSystemConfig> ActorSystemConfig { get; set; } = SetupDefaultConfig;
|
||||
|
||||
/// <summary>
|
||||
/// A delegate that configures an instance of an <see cref="ActorSystem"/>.
|
||||
/// </summary>
|
||||
public Action<IServiceProvider, ActorSystem> ActorSystem { get; set; } = (_, _) => { };
|
||||
|
||||
/// <summary>
|
||||
/// A delegate that returns an instance of <see cref="GrpcNetRemoteConfig"/> to be used by the actor system.
|
||||
/// </summary>
|
||||
public Func<IServiceProvider, GrpcNetRemoteConfig> RemoteConfig { get; set; } = CreateDefaultRemoteConfig;
|
||||
|
||||
/// <summary>
|
||||
/// A delegate that returns an instance of a concrete implementation of <see cref="IProvider"/> to use for persisting events and snapshots.
|
||||
/// </summary>
|
||||
public Func<IServiceProvider, IProvider> PersistenceProvider { get; set; } = _ => new InMemoryProvider();
|
||||
|
||||
/// <inheritdoc />
|
||||
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<WorkflowInstanceActor>();
|
||||
|
||||
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<WorkflowInstanceImpl>(sp, context)));
|
||||
|
||||
|
||||
// Distributed runtime.
|
||||
services.AddSingleton<ProtoActorRuntime>();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,18 +6,8 @@ using Elsa.Workflows.Memory;
|
|||
namespace Elsa.Workflows;
|
||||
|
||||
/// <inheritdoc />
|
||||
public class VariablePersistenceManager : IVariablePersistenceManager
|
||||
public class VariablePersistenceManager(IStorageDriverManager storageDriverManager) : IVariablePersistenceManager
|
||||
{
|
||||
private readonly IStorageDriverManager _storageDriverManager;
|
||||
|
||||
/// <summary>
|
||||
/// Constructor.
|
||||
/// </summary>
|
||||
public VariablePersistenceManager(IStorageDriverManager storageDriverManager)
|
||||
{
|
||||
_storageDriverManager = storageDriverManager;
|
||||
}
|
||||
|
||||
/// <inheritdoc />
|
||||
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
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/// <inheritdoc />
|
||||
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;
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue