Skip to content

Konfiguration

yovanny-rodriguez_adessose edited this page Oct 9, 2026 · 3 revisions

Konfiguration

Die API liest Standardwerte aus appsettings.json und überschreibt sie abhängig von Environment und Umgebungsvariablen.

Connection Strings

$env:ConnectionStrings__BpmnDbContext = "Data Source=dev-bpmn.db"
$env:ConnectionStrings__ProcessMiningEvents = "Data Source=dev-events.db"
$env:ConnectionStrings__DecisionDbContext = "Data Source=dev-decision.db"

Für Produktion sollte eine verwaltete PostgreSQL- oder SQL-Server-Datenbank verwendet werden. Zugangsdaten gehören in einen Secret Store.

Module

{
  "Modules": {
    "Engine": true,
    "Persistence": true,
    "Grpc": true,
    "SignalR": true,
    "Telemetry": true,
    "Plugins": false,
    "BackgroundJobs": true,
    "Swagger": false
  }
}

Als Umgebungsvariable wird aus Modules:Telemetry beispielsweise:

$env:Modules__Telemetry = "true"

Rate Limiting

{
  "RateLimiting": {
    "PermitLimit": 120,
    "WindowSeconds": 60,
    "QueueLimit": 0
  }
}

Bei mehreren API-Instanzen muss ein gemeinsamer oder vorgeschalteter Rate-Limit-Mechanismus berücksichtigt werden.

AI-Provider

$env:OPENAI_API_KEY = "..."
$env:ANTHROPIC_API_KEY = "..."
$env:GEMINI_API_KEY = "..."

Tokens niemals in appsettings.json, BPMN-XML oder Git committen.

Environments

Verwende ASPNETCORE_ENVIRONMENT=Development, Stage oder Production. Produktionswerte sollten nicht aus appsettings.Development.json übernommen werden.

Aspire AppHost

Der AppHost wählt die API-Hostingart über VertexBPMN:ApiHostingMode. Das Environment Containers setzt diesen Wert in der AppHost-Konfiguration auf Container; alle anderen Profile verwenden die Projektressource.

dotnet run --project src/VertexBPMN.AppHost --no-launch-profile -e DOTNET_ENVIRONMENT=Development
dotnet run --project src/VertexBPMN.AppHost --no-launch-profile -e DOTNET_ENVIRONMENT=Containers

Im Projektprofil werden Connection Strings und RabbitMQ-Zugangsdaten über Aspire-Referenzen injiziert. Diese generierten Werte dürfen nicht durch hartkodierte Secrets ersetzt werden.

OpenTelemetry Export

VertexBPMN.ServiceDefaults erkennt zuerst die OpenTelemetry-Standardvariable:

$env:OTEL_EXPORTER_OTLP_ENDPOINT = "http://localhost:4317"

Für bestehende Installationen wird außerdem Telemetry__Otlp__Endpoint unterstützt. Die Standardvariable hat Vorrang, wenn beide gesetzt sind.

Git-Plugin

Die integrierte Git-Erweiterung wird separat über SourceControl konfiguriert und ist standardmäßig deaktiviert. Sie benötigt Git auf dem API-Host, einen geschützten Workspace, explizite Hostfreigaben und passende Keycloak-/GitHub-App-Credentials. Der allgemeine Plugin-Schalter ersetzt diese Einrichtung nicht. Alle Schlüssel und das Ausblenden über SourceControl:Enabled=false sind unter Git-Plugin beschrieben.

Clone this wiki locally