elsa-core/src/apps/Elsa.ModularServer.Web/appsettings.json
2026-07-28 00:12:12 +02:00

315 lines
10 KiB
JSON

{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft.AspNetCore": "Warning",
"Microsoft.EntityFrameworkCore": "Warning",
"Nuplane": "Warning",
"CShells": "Warning"
},
"Console": {
"FormatterOptions": {
"ColorBehavior": "Enabled"
}
}
},
"Diagnostics": {
"OpenTelemetry": {
"Exporter": {
"Endpoint": "http://localhost:5002/elsa/otlp",
"Protocol": "http/protobuf"
}
}
},
"AllowedHosts": "*",
"CShells": {
"Shells": {
"Default": {
"Configuration": {
"WebRouting": {
"Path": ""
}
},
"Features": {
"ShellsApi": {},
"DefaultAuthentication": {},
"Resilience": {},
"Identity": {
"SigningKey": "CHANGE_ME_TO_A_SECURE_RANDOM_KEY"
},
"FastEndpoints": {
"GlobalRoutePrefix": "elsa/api"
},
"SqliteWorkflowPersistence": {
"ConnectionString": "Data Source=elsa_workflows.db;Cache=Shared"
},
"SqliteIdentityPersistence": {
"ConnectionString": "Data Source=elsa_workflows.db;Cache=Shared"
},
"Http": {
"HttpActivityOptions": {
"BaseUrl": "https://localhost:5001"
}
},
"StructuredLogs": {},
"ConsoleLogs": {},
"OpenTelemetry": {},
"Alterations": {},
"Secrets": {
"EncryptionKey": "Q0hBTkdFX01FX1RPX0FfU0VDVVJFX1JBTkRPTV9LRVk="
},
"ExternalAuthentication": {
"LocalLogin": {
"IsEnabled": true
},
"Redirects": {
"ExternalCallbackBaseUri": "https://localhost:7294/elsa/api/"
},
"ProviderEgress": {
"RequireHttps": true,
"AllowPrivateNetworkDestinations": true,
"AllowedHosts": [
"localhost"
]
},
"UnlinkedIdentityPolicy": {
"DefaultType": "reject",
"AllowDatabaseConnectionOverride": true
},
"Connections": [
{
"Id": "keycloak-idp-configuration",
"Key": "keycloak-idp",
"AdapterType": "openid-connect",
"AdapterSettingsVersion": 2,
"AdapterSettings": {
"mode": "discovery",
"discoveryUrl": "https://localhost:8443/realms/elsa/.well-known/openid-configuration",
"clientId": "elsa-studio-idp",
"clientAuthenticationMethod": "client_secret_basic",
"scopes": [
"profile",
"email"
]
},
"SecretBindings": {
"clientSecret": {
"Ownership": "External",
"ResolverType": "configuration",
"Reference": "ExternalAuthentication:Secrets:KeycloakGeneralClientSecret",
"ExpectedType": "text",
"ExpectedScope": "external-authentication"
}
},
"DisplayName": "Keycloak General",
"DisplayOrder": 10,
"IsPreferred": true,
"IsEnabled": true,
"UnlinkedPolicy": {
"Type": "create-user",
"SettingsVersion": 1,
"Settings": {
"defaultRoleIds": [
"admin"
]
}
},
"ClaimProjection": {
"AllowedClaimTypes": [
"preferred_username",
"name",
"given_name",
"family_name",
"email"
],
"RedactedClaimTypes": [],
"MaximumClaimCount": 64,
"MaximumValueLength": 1024,
"MaximumTotalBytes": 16384
},
"UpstreamLogoutMode": "UserChoice"
},
{
"Id": "keycloak-workforce-configuration",
"Key": "keycloak-workforce",
"AdapterType": "openid-connect",
"AdapterSettingsVersion": 2,
"AdapterSettings": {
"mode": "discovery",
"discoveryUrl": "https://localhost:8443/realms/elsa-workforce/.well-known/openid-configuration",
"clientId": "elsa-workforce-idp",
"clientAuthenticationMethod": "client_secret_basic",
"scopes": [
"profile",
"email"
]
},
"SecretBindings": {
"clientSecret": {
"Ownership": "External",
"ResolverType": "configuration",
"Reference": "ExternalAuthentication:Secrets:KeycloakWorkforceClientSecret",
"ExpectedType": "text",
"ExpectedScope": "external-authentication"
}
},
"DisplayName": "Keycloak Workforce",
"DisplayOrder": 20,
"IsPreferred": false,
"IsEnabled": true,
"UnlinkedPolicy": {
"Type": "create-user",
"SettingsVersion": 1,
"Settings": {
"defaultRoleIds": [
"admin"
]
}
},
"ClaimProjection": {
"AllowedClaimTypes": [
"preferred_username",
"name",
"given_name",
"family_name",
"email"
],
"RedactedClaimTypes": [],
"MaximumClaimCount": 64,
"MaximumValueLength": 1024,
"MaximumTotalBytes": 16384
},
"UpstreamLogoutMode": "UserChoice"
},
{
"Id": "keycloak-partners-configuration",
"Key": "keycloak-partners",
"AdapterType": "openid-connect",
"AdapterSettingsVersion": 2,
"AdapterSettings": {
"mode": "discovery",
"discoveryUrl": "https://localhost:8443/realms/elsa-partners/.well-known/openid-configuration",
"clientId": "elsa-partners-idp",
"clientAuthenticationMethod": "client_secret_basic",
"scopes": [
"profile",
"email"
]
},
"SecretBindings": {
"clientSecret": {
"Ownership": "External",
"ResolverType": "configuration",
"Reference": "ExternalAuthentication:Secrets:KeycloakPartnersClientSecret",
"ExpectedType": "text",
"ExpectedScope": "external-authentication"
}
},
"DisplayName": "Keycloak Partners",
"DisplayOrder": 30,
"IsPreferred": false,
"IsEnabled": true,
"UnlinkedPolicy": {
"Type": "create-user",
"SettingsVersion": 1,
"Settings": {
"defaultRoleIds": [
"admin"
]
}
},
"ClaimProjection": {
"AllowedClaimTypes": [
"preferred_username",
"name",
"given_name",
"family_name",
"email"
],
"RedactedClaimTypes": [],
"MaximumClaimCount": 64,
"MaximumValueLength": 1024,
"MaximumTotalBytes": 16384
},
"UpstreamLogoutMode": "UserChoice"
}
],
"AuthenticationClients": [
{
"ClientId": "elsa-studio-server",
"DisplayName": "Elsa Studio Server",
"ClientType": "Confidential",
"CallbackUris": [
"https://localhost:7113/authentication/external/callback"
],
"LogoutCallbackUris": [
"https://localhost:7113/authentication/external/logout-callback"
],
"AllowedReturnPathPrefixes": [
"/"
],
"SecretBinding": {
"Ownership": "External",
"ResolverType": "configuration",
"Reference": "ExternalAuthentication:Secrets:StudioServerClientSecret"
},
"IsEnabled": true
}
],
"Secrets": {
"StudioServerClientSecret": "t/6A8piT0E1hbxBSqkppC9Ug2Nr3B9E++GBt10fwhu4=",
"KeycloakGeneralClientSecret": "elsa-keycloak-client-secret-dev",
"KeycloakWorkforceClientSecret": "elsa-workforce-client-secret-dev",
"KeycloakPartnersClientSecret": "elsa-partners-client-secret-dev"
}
},
"SecretsJavaScript": {},
"DashboardApi": {},
"WorkflowRuntimeDashboard": {},
"ConsoleLogsDashboard": {},
"StructuredLogsDashboard": {},
"CopilotAI": {},
"AI": {},
"AIPersistence": {},
"SqliteAlterationsPersistence": {
"ConnectionString": "Data Source=elsa_workflows.db;Cache=Shared"
},
"SqliteStructuredLogPersistence": {
"ConnectionString": "Data Source=elsa_logs.db;Cache=Shared"
},
"SampleEndpoint": {}
}
}
}
},
"Nuplane": {
"Setup": {
"AutomaticReconciliation": true,
"PollInterval": "00:01:00",
"Feeds": [
{
"Name": "local-packages",
"DirectoryPath": "packages",
"IncludePatterns": [
"*"
],
"Directory": {
"Watch": true,
"DebounceWindow": "00:00:01"
}
}
]
},
"Loading": {
"Enabled": true,
"SharedAssemblies": [
{
"Name": "Nuplane.Abstractions",
"PublicKeyToken": "31bf3856ad364e35",
"MajorVersion": 1
}
]
}
}
}