From 56caecc5d8a5f08cac1d7ffb946ef3313f5e4a90 Mon Sep 17 00:00:00 2001 From: Kevin Veen-Birkenbach Date: Sun, 13 Jul 2025 18:27:24 +0200 Subject: [PATCH] Restored get_docker_image functionality --- filter_plugins/docker_image.py | 17 ----------------- filter_plugins/get_docker_image.py | 19 +++++++++++++++++++ .../unit/filter_plugins/test_docker_image.py | 2 +- 3 files changed, 20 insertions(+), 18 deletions(-) delete mode 100644 filter_plugins/docker_image.py create mode 100644 filter_plugins/get_docker_image.py diff --git a/filter_plugins/docker_image.py b/filter_plugins/docker_image.py deleted file mode 100644 index 014e7327..00000000 --- a/filter_plugins/docker_image.py +++ /dev/null @@ -1,17 +0,0 @@ -from get_app_conf import get_app_conf - -def get_docker_image(applications, application_id, image_key: str = None): - """ - Wrapper for compatibility: Compose the docker image:version string. - Raises error if value missing, like before. - """ - image_key = image_key if image_key else application_id - image = get_app_conf(applications, application_id, f"docker.images.{image_key}", strict=True) - version = get_app_conf(applications, application_id, f"docker.versions.{image_key}", strict=True) - return f"{image}:{version}" - -class FilterModule(object): - def filters(self): - return { - 'get_docker_image': get_docker_image, - } diff --git a/filter_plugins/get_docker_image.py b/filter_plugins/get_docker_image.py new file mode 100644 index 00000000..74ae5165 --- /dev/null +++ b/filter_plugins/get_docker_image.py @@ -0,0 +1,19 @@ +def get_docker_image(applications, application_id, image_key:str=None): + image_key = image_key if image_key else application_id + docker = applications.get(application_id, {}).get("docker", {}) + version = docker.get("versions", {}).get(image_key) + image = docker.get("images", {}).get(image_key) + + if not image: + raise ValueError(f"Missing image for {application_id}:{image_key}") + + if not version: + raise ValueError(f"Missing version for {application_id}:{image_key}") + + return f"{image}:{version}" + +class FilterModule(object): + def filters(self): + return { + 'get_docker_image': get_docker_image, + } diff --git a/tests/unit/filter_plugins/test_docker_image.py b/tests/unit/filter_plugins/test_docker_image.py index 2f6fa038..52cb41d4 100644 --- a/tests/unit/filter_plugins/test_docker_image.py +++ b/tests/unit/filter_plugins/test_docker_image.py @@ -7,7 +7,7 @@ import unittest # Add filter_plugins/ to the import path sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../..", "filter_plugins"))) -from docker_image import FilterModule +from get_docker_image import FilterModule class TestGetDockerImage(unittest.TestCase): def setUp(self):