Fix release API proxy routes + wire pipeline to real data

- Add nginx proxy blocks for /api/v1/release-orchestrator/,
  /api/v1/release-control/, /api/v2/releases/, /api/v1/releases/,
  /api/v1/registries/ in Dockerfile.console
- All release UI calls now reach JobEngine (401 not 404)
- Registry search reaches Scanner service
- Pipeline page uses ReleaseManagementStore (real API, no mock data)
- Deployment wizard uses BundleOrganizerApi for create/seal
- Inline version/hotfix creation in deployment wizard wired to API
- Version detail shows "not found" error instead of blank screen
- Version wizard has promotion lane + duplicate component detection
- Sprint plan for 41 missing backend endpoints created

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
master
2026-03-23 15:38:16 +02:00
parent 66d84fb17a
commit d3353e9d16
10 changed files with 658 additions and 126 deletions

View File

@@ -211,9 +211,11 @@ internal static class ElkEdgeChannels
if (sinkBandsByEdgeId.ContainsKey(sorted[index].Id))
{
var sourceNode = positionedNodes[sorted[index].SourceNodeId];
var isGatewaySource = string.Equals(sourceNode.Kind, "Decision", StringComparison.OrdinalIgnoreCase)
|| string.Equals(sourceNode.Kind, "Fork", StringComparison.OrdinalIgnoreCase);
if (isGatewaySource)
var hasOtherForwardEdge = sorted.Length > 1
|| forwardEdgesBySource.TryGetValue(sorted[index].SourceNodeId, out var allSourceEdges)
&& allSourceEdges.Any(e => !sinkBandsByEdgeId.ContainsKey(e.Id));
var isNonChainSource = !string.Equals(sourceNode.Kind, "Task", StringComparison.OrdinalIgnoreCase);
if (hasOtherForwardEdge && isNonChainSource)
{
sinkBand = (-1, 0, 0d, double.NaN);
}