Repository navigation
Konfiguration
Die API liest Standardwerte aus appsettings.json und überschreibt sie abhängig von Environment und Umgebungsvariablen.
$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.
{
"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"{
"RateLimiting": {
"PermitLimit": 120,
"WindowSeconds": 60,
"QueueLimit": 0
}
}Bei mehreren API-Instanzen muss ein gemeinsamer oder vorgeschalteter Rate-Limit-Mechanismus berücksichtigt werden.
$env:OPENAI_API_KEY = "..."
$env:ANTHROPIC_API_KEY = "..."
$env:GEMINI_API_KEY = "..."Tokens niemals in appsettings.json, BPMN-XML oder Git committen.
Verwende ASPNETCORE_ENVIRONMENT=Development, Stage oder Production. Produktionswerte sollten nicht aus appsettings.Development.json übernommen werden.
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=ContainersIm Projektprofil werden Connection Strings und RabbitMQ-Zugangsdaten über Aspire-Referenzen injiziert. Diese generierten Werte dürfen nicht durch hartkodierte Secrets ersetzt werden.
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.
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.