Skip to content

Commit 77a1f57

Browse files
author
Jacob Truman
committed
Pass docker container labels to daemon and ssh-agent container creation
1 parent 514e72c commit 77a1f57

File tree

5 files changed

+17
-3
lines changed

5 files changed

+17
-3
lines changed

buildrunner/__init__.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -399,7 +399,12 @@ def run(self): # pylint: disable=too-many-statements,too-many-branches,too-many
399399
multi_platform.set_cache_to(step_config.build.cache_to)
400400

401401
self._step_runner = BuildStepRunner(
402-
self, step_name, step_config, image_config, multi_platform
402+
self,
403+
step_name,
404+
step_config,
405+
image_config,
406+
multi_platform,
407+
self.buildrunner_config.container_labels
403408
)
404409
self._step_runner.run()
405410

buildrunner/docker/daemon.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@ class DockerDaemonProxy:
1919
Class used to encapsulate Docker daemon information within a container.
2020
"""
2121

22-
def __init__(self, docker_client, log, docker_registry):
22+
def __init__(self, docker_client, log, docker_registry, container_labels):
2323
""" """
2424
self.docker_client = docker_client
2525
self.docker_registry = docker_registry
2626
self.log = log
27+
self.container_labels = container_labels
2728
self._daemon_container = None
2829
self._env = {
2930
"DOCKER_HOST": DOCKER_DEFAULT_DOCKERD_URL,

buildrunner/sshagent/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class DockerSSHAgentProxy:
8989
"""
9090

9191
def __init__(
92-
self, docker_client, log, docker_registry, multiplatform_image_builder
92+
self, docker_client, log, docker_registry, multiplatform_image_builder, container_labels
9393
):
9494
""" """
9595
self.docker_client = docker_client
@@ -100,6 +100,7 @@ def __init__(
100100
self._ssh_client = None
101101
self._ssh_channel = None
102102
self._multiplatform_image_builder = multiplatform_image_builder
103+
self._container_labels = container_labels
103104

104105
def get_info(self):
105106
"""
@@ -131,8 +132,10 @@ def start(self, keys):
131132
command=[
132133
f"{keys[0].get_name()} {keys[0].get_base64()}",
133134
],
135+
labels=self._container_labels,
134136
host_config=self.docker_client.create_host_config(
135137
publish_all_ports=True,
138+
136139
),
137140
)["Id"]
138141
self.docker_client.start(

buildrunner/steprunner/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ def __init__(
5353
step: Step,
5454
image_config,
5555
multi_platform: MultiplatformImageBuilder,
56+
container_labels,
5657
):
5758
"""
5859
Constructor.
@@ -78,6 +79,7 @@ def __init__(
7879
# generate a unique step id
7980
self.id = str(uuid.uuid4()) # pylint: disable=invalid-name
8081
self.multi_platform = multi_platform
82+
self.container_labels = container_labels
8183

8284
def run(self):
8385
"""

buildrunner/steprunner/tasks/run.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ def _get_source_container(self):
8383
self._source_container = self._docker_client.create_container(
8484
self.step_runner.build_runner.get_source_image(),
8585
command="/bin/sh",
86+
labels=self.step_runner.container_labels,
8687
)["Id"]
8788
self._docker_client.start(
8889
self._source_container,
@@ -828,6 +829,7 @@ def run(self, context: dict): # pylint: disable=too-many-statements,too-many-br
828829
self.step_runner.log,
829830
buildrunner_config.global_config.docker_registry,
830831
self.step_runner.multi_platform,
832+
self.step_runner.container_labels,
831833
)
832834
self._sshagent.start(
833835
buildrunner_config.get_ssh_keys_from_aliases(
@@ -840,6 +842,7 @@ def run(self, context: dict): # pylint: disable=too-many-statements,too-many-br
840842
self._docker_client,
841843
self.step_runner.log,
842844
buildrunner_config.global_config.docker_registry,
845+
self.step_runner.container_labels,
843846
)
844847
self._dockerdaemonproxy.start()
845848

0 commit comments

Comments
 (0)