elsa-core/samples/aspnet
Sipke Schoorstra 329a79be2e
Secrets API (#5967)
* Add initial implementation for Elsa Secrets modules

This commit introduces new projects for managing secrets within the Elsa framework: `Elsa.Secrets.Api`, `Elsa.Secrets.Core`, and `Elsa.Secrets.Management`. These projects include essential interfaces, models, entities, and endpoints to handle secret storage, retrieval, and management. Specific features include API endpoints for listing secrets, models for secret filtering, and interfaces for encryption key handling.

* Add weavers

* Refactor encryption handling in secrets management

Implemented a new architecture for handling encryption keys and algorithms within the secrets management system. Replaced old encryption key entities and related interfaces with a more modular and extensible approach. Added new services and models to improve encryption and decryption processes, enhancing maintainability and scalability.

* Add IEncryptor interface for encryption functionality

Introduced the IEncryptor interface to standardize encryption operations within the Elsa.Secrets.Management module. This interface includes the EncryptAsync method to handle encryption using a specified key ID and value.

* Add dependency on SecretsFeature and configure secrets provider

Integrate the SecretsFeature dependency and configure a secrets provider within the SecretsManagementFeature class. This adds the StoreSecretProvider to the service collection and ensures the secrets provider is correctly set up. Also, rename method from WithSecretsProvider to UseSecretsProvider for clarity.

* Add EF Core and SQLite support for Secrets module

Introduced Entity Framework Core and SQLite support for the Secrets module, including migration files, EF Core configurations, context factory, and store implementation. Added necessary extensions and configuration code to integrate with the existing API and features. Included updates to the main web application to utilize the new persistence providers.

* Update Microsoft.SemanticKernel to version 1.18.2

Upgrade Microsoft.SemanticKernel package to the latest version to ensure compatibility and new features. Remove unused Elsa.Agents.Persistence using directive from Program.cs for code cleanliness.

* Update workflows and add Agents module

Changed workflow branch targets from `main` to `feature/secrets`. Updated Docker image tags and added the `Agents` module to the Elsa Studio WebAssembly project.

* Enable agent activities in workflow configuration

This change introduces the `.UseAgentActivities()` method in the workflow configuration, enhancing the workflow capabilities. By doing so, it ensures that agent activities are appropriately integrated and available for use in the application.

* Add EF Core migrations for MySQL and SQL Server

Added Entity Framework Core migrations and related configurations to support MySQL and SQL Server for the Agents Persistence module. These changes include new migration files, context factories, and project configurations.

* Fix migration assembly reference and update method syntax

Changed the migration assembly reference in SqlServerProvidersExtensions. Updated method syntax in WorkflowManagementFeature to use array shorthand format.

* Add secret management functionalities

Introduced secret management services with CRUD operations, notifications, and bulk actions. Added unique name generation and validation for secrets, and implemented corresponding API endpoints.

* Enhance Secret Management Feature

Added Elsa.Extensions import and updated MemorySecretStore registration to use the AddMemoryStore method with Secret. This improves code modularity and adheres to the updated registration method conventions.

* Remove encryption services and update migration

Removed multiple files related to encryption services and their dependencies, including encryption algorithms and key providers. Also updated a migration script to reflect schema changes, removing specific columns and constraints.

* Implement versioning and retrieval for secrets management

Added "IsLatest" flag and cloning mechanism for secrets to support versioning. Introduced a new API endpoint for fetching decrypted secret input models. Refactored encryption and decryption logic to handle empty values gracefully.

* Add secret management functionalities

Introduced services and interfaces for secret name generation, validation, and updating. Updated secret handling to include expiration metadata. Refactored methods in ISecretManager to streamline secret creation and update processes.

* Remove DisableSyntaxSelection class and references

Deleted the DisableSyntaxSelection class and its references from various files. This includes removing its registration as a Scoped service and associated usage in the `RunJavaScript` activity.

* Add new migration for secrets and update DefaultSecretManager

Re-created migration files for V3_3 to include the ExpiresIn column. Updated DefaultSecretManager to utilize identityGenerator for generating Id and SecretId, and added additional fields like CreatedAt, UpdatedAt, and IsLatest.
2024-09-15 17:12:13 -07:00
..
Elsa.Samples.AspNet.AzureServiceBusActivities Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.BatchProcessing Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.ChildWorkflows Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.CustomUIHandler Add Variable available in dropdown when configuring a activity input (#5918) 2024-08-30 12:01:44 +02:00
Elsa.Samples.AspNet.DapperPersistence Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.DocumentApproval Rename Elsa.ProtoActor to Elsa.Workflows.Runtime.ProtoActor 2024-07-22 15:09:25 +02:00
Elsa.Samples.AspNet.DslWorkflowProvider Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.DynamicActivityProvider Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.ElasticsearchStorage Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.EntityFrameworkCore.PostgresSql Drop NET 7 support and cleanup NuGet package references (#5828) 2024-07-24 14:30:39 +02:00
Elsa.Samples.AspNet.HangfireIntegration Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.Heartbeats Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.HelloWorld Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.HttpEndpoints Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.JsonWorkflowProvider Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.MassTransitActivities Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.MassTransitWorkflow Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.MongoDbPersistence Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.MyBackendApi Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.Onboarding.Web Move build and deployment scripts 2024-08-14 21:42:46 +02:00
Elsa.Samples.AspNet.Onboarding.WorkflowServer Update TaskReporter and RunTask activity 2024-08-14 18:40:04 +02:00
Elsa.Samples.AspNet.OrchardCoreIntegration Secrets API (#5967) 2024-09-15 17:12:13 -07:00
Elsa.Samples.AspNet.ProtoActorRuntime Proto.Actor implementation for ChangeTokenSignalPublisher (#5817) 2024-07-24 22:23:33 +02:00
Elsa.Samples.AspNet.ProtoActorRuntime.AzureContainerApps Proto.Actor implementation for ChangeTokenSignalPublisher (#5817) 2024-07-24 22:23:33 +02:00
Elsa.Samples.AspNet.QuartzIntegration Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.RunTaskIntegration Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.TelnyxIntegration Rename Elsa.ProtoActor to Elsa.Workflows.Runtime.ProtoActor 2024-07-22 15:09:25 +02:00
Elsa.Samples.AspNet.Tenants Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.Tenants.External Enable Proto Actor Tracing for TraceLens (#5800) 2024-07-19 20:23:32 +02:00
Elsa.Samples.AspNet.Webhooks.ExternalApp Move samples to repository root 2024-02-02 20:01:14 +02:00
Elsa.Samples.AspNet.Webhooks.WorkflowServer Add Orchard Core Integration + Agents Module (#5871) 2024-08-08 19:35:43 +02:00
Elsa.Samples.AspNet.WorkflowContexts Merge remote-tracking branch 'origin/patch/3.2.x' 2024-08-06 22:47:05 +02:00
Elsa.Samples.AspNet.WorkflowServer Add Orchard Core Integration + Agents Module (#5871) 2024-08-08 19:35:43 +02:00