mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-07-20 07:14:25 +02:00
Restored get_docker_image functionality
This commit is contained in:
parent
63bf7f7640
commit
56caecc5d8
@ -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,
|
|
||||||
}
|
|
19
filter_plugins/get_docker_image.py
Normal file
19
filter_plugins/get_docker_image.py
Normal file
@ -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,
|
||||||
|
}
|
@ -7,7 +7,7 @@ import unittest
|
|||||||
# Add filter_plugins/ to the import path
|
# Add filter_plugins/ to the import path
|
||||||
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), "../../../..", "filter_plugins")))
|
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):
|
class TestGetDockerImage(unittest.TestCase):
|
||||||
def setUp(self):
|
def setUp(self):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user