From d25849d665dd2eeb23af1750f89c257eb26d6ad9 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sat, 4 Apr 2026 20:55:16 +0200 Subject: [PATCH] feat: add labels support to StartContainerRequest and DockerRuntimeOrchestrator Co-Authored-By: Claude Sonnet 4.6 --- .../siegeln/cameleer/saas/deployment/DeploymentService.java | 3 ++- .../cameleer/saas/runtime/DockerRuntimeOrchestrator.java | 2 ++ .../siegeln/cameleer/saas/runtime/StartContainerRequest.java | 3 ++- 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/siegeln/cameleer/saas/deployment/DeploymentService.java b/src/main/java/net/siegeln/cameleer/saas/deployment/DeploymentService.java index f2c34fc..8f06be8 100644 --- a/src/main/java/net/siegeln/cameleer/saas/deployment/DeploymentService.java +++ b/src/main/java/net/siegeln/cameleer/saas/deployment/DeploymentService.java @@ -140,7 +140,8 @@ public class DeploymentService { ), runtimeConfig.parseMemoryLimitBytes(), runtimeConfig.getContainerCpuShares(), - runtimeConfig.getAgentHealthPort() + runtimeConfig.getAgentHealthPort(), + Map.of() )); deployment.setOrchestratorMetadata(Map.of("containerId", containerId)); diff --git a/src/main/java/net/siegeln/cameleer/saas/runtime/DockerRuntimeOrchestrator.java b/src/main/java/net/siegeln/cameleer/saas/runtime/DockerRuntimeOrchestrator.java index af20552..e576aba 100644 --- a/src/main/java/net/siegeln/cameleer/saas/runtime/DockerRuntimeOrchestrator.java +++ b/src/main/java/net/siegeln/cameleer/saas/runtime/DockerRuntimeOrchestrator.java @@ -21,6 +21,7 @@ import java.nio.file.Path; import java.nio.file.StandardCopyOption; import java.util.Comparator; import java.util.List; +import java.util.Map; import java.util.Set; @Component @@ -87,6 +88,7 @@ public class DockerRuntimeOrchestrator implements RuntimeOrchestrator { var container = dockerClient.createContainerCmd(request.imageRef()) .withName(request.containerName()) .withEnv(envList) + .withLabels(request.labels() != null ? request.labels() : Map.of()) .withHostConfig(hostConfig) .withHealthcheck(new HealthCheck() .withTest(List.of("CMD-SHELL", diff --git a/src/main/java/net/siegeln/cameleer/saas/runtime/StartContainerRequest.java b/src/main/java/net/siegeln/cameleer/saas/runtime/StartContainerRequest.java index fe6c85c..26294a8 100644 --- a/src/main/java/net/siegeln/cameleer/saas/runtime/StartContainerRequest.java +++ b/src/main/java/net/siegeln/cameleer/saas/runtime/StartContainerRequest.java @@ -9,5 +9,6 @@ public record StartContainerRequest( Map envVars, long memoryLimitBytes, int cpuShares, - int healthCheckPort + int healthCheckPort, + Map labels ) {}