feat: Phase 4 — Observability Pipeline + Inbound Routing #34

Merged
hsiegeln merged 8 commits from feat/phase-4-observability-pipeline into main 2026-04-04 21:20:47 +02:00
Showing only changes of commit 210da55e7a - Show all commits

View File

@@ -126,6 +126,17 @@ public class DeploymentService {
});
}
// Build Traefik labels for inbound routing
var labels = new java.util.HashMap<String, String>();
if (app.getExposedPort() != null) {
labels.put("traefik.enable", "true");
labels.put("traefik.http.routers." + containerName + ".rule",
"Host(`" + app.getSlug() + "." + env.getSlug() + "."
+ tenantSlug + "." + runtimeConfig.getDomain() + "`)");
labels.put("traefik.http.services." + containerName + ".loadbalancer.server.port",
String.valueOf(app.getExposedPort()));
}
var containerId = runtimeOrchestrator.startContainer(new StartContainerRequest(
deployment.getImageRef(),
containerName,
@@ -141,7 +152,7 @@ public class DeploymentService {
runtimeConfig.parseMemoryLimitBytes(),
runtimeConfig.getContainerCpuShares(),
runtimeConfig.getAgentHealthPort(),
Map.of()
labels
));
deployment.setOrchestratorMetadata(Map.of("containerId", containerId));