Skip to content

Commit ace4c6b

Browse files
committed
collapse mod/img naming for single-image modules
vanity purposes lol; don't want ocf/transpire-transpire for example
1 parent 7f7677e commit ace4c6b

File tree

1 file changed

+19
-6
lines changed

1 file changed

+19
-6
lines changed

transpire/utils.py

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
import pathlib
22
import tomllib
3-
from dataclasses import dataclass
4-
from datetime import datetime, timezone
53
from typing import Dict, cast
64

7-
from transpire.internal.config import GitModuleConfig
85
from transpire.internal.context import get_app_context
9-
from transpire.types import Image, Module, ContainerRegistry
6+
from transpire.types import ContainerRegistry, Image, Module
107

118

129
def get_revision() -> str | None:
@@ -19,15 +16,31 @@ def get_images() -> Dict[str, Image]:
1916
return {im.name: im for im in get_app_context().images}
2017

2118

22-
def get_image_tag(name: str, module: Module | None = None) -> str:
23-
"""Retrieves the current Transpire module's images."""
19+
def get_image_tag(
20+
name: str, module: Module | None = None, collapse_image_name: bool = True
21+
) -> str:
22+
"""
23+
Retrieves the current Transpire module's images.
24+
25+
:param name: The name of the image to retrieve.
26+
:param module: The module to retrieve the image from.
27+
:param collapse_image_name: Whether to combine the module and image name when they
28+
are equal. Changes ocf/abc-abc to ocf/abc) when the module only includes one image
29+
of the same name. This is the default behavior for GHCR.
30+
"""
2431
if module is None:
2532
module = get_app_context()
2633
for im in module.images:
2734
if im.name != name:
2835
continue
2936
match im.registry:
3037
case ContainerRegistry.ghcr:
38+
if (
39+
collapse_image_name
40+
and module.name == im.name
41+
and len(module.images) == 1
42+
):
43+
return f"ghcr.io/ocf/{module.name}:{module.revision}"
3144
return f"ghcr.io/ocf/{module.name}-{im.name}:{module.revision}"
3245
case ContainerRegistry.harbor:
3346
return f"harbor.ocf.berkeley.edu/ocf/{module.name}/{im.name}:{module.revision}"

0 commit comments

Comments
 (0)