Skip to content

Commit 6fcc2c9

Browse files
authored
Merge pull request #3474 from SUSE/registry_tmpfiles
Switch to systemd-tmpfiles for registry
2 parents c1185c9 + 08ec67a commit 6fcc2c9

3 files changed

Lines changed: 77 additions & 55 deletions

File tree

src/bci_build/package/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1478,7 +1478,6 @@ def generate_disk_size_constraints(size_gb: int) -> str:
14781478
from .appcontainers import NGINX_CONTAINERS # noqa: E402
14791479
from .appcontainers import PCP_CONTAINERS # noqa: E402
14801480
from .appcontainers import PROMETHEUS_CONTAINERS # noqa: E402
1481-
from .appcontainers import REGISTRY_CONTAINERS # noqa: E402
14821481
from .appcontainers import THREE_EIGHT_NINE_DS_CONTAINERS # noqa: E402
14831482
from .base import BASE_CONTAINERS # noqa: E402
14841483
from .basecontainers import BUSYBOX_CONTAINERS # noqa: E402
@@ -1517,6 +1516,7 @@ def generate_disk_size_constraints(size_gb: int) -> str:
15171516
from .python import PYTHON_3_11_CONTAINERS # noqa: E402
15181517
from .python import PYTHON_3_13_CONTAINERS # noqa: E402
15191518
from .python import PYTHON_TW_CONTAINERS # noqa: E402
1519+
from .registry import REGISTRY_CONTAINERS # noqa: E402
15201520
from .rmt import RMT_CONTAINERS # noqa: E402
15211521
from .ruby import RUBY_CONTAINERS # noqa: E402
15221522
from .rust import RUST_CONTAINERS # noqa: E402

src/bci_build/package/appcontainers.py

Lines changed: 0 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
from bci_build.os_version import CAN_BE_LATEST_OS_VERSION
1212
from bci_build.os_version import OsVersion
1313
from bci_build.package import DOCKERFILE_RUN
14-
from bci_build.package import SET_BLKID_SCAN
1514
from bci_build.package import ApplicationStackContainer
1615
from bci_build.package import OsContainer
1716
from bci_build.package import _build_tag_prefix
@@ -315,56 +314,3 @@ def _get_nginx_kwargs(os_version: OsVersion):
315314
)
316315
for os_version in ALL_NONBASE_OS_VERSIONS
317316
]
318-
319-
320-
REGISTRY_CONTAINERS = [
321-
ApplicationStackContainer(
322-
name="registry",
323-
package_name="distribution-image",
324-
pretty_name="OCI Container Registry (Distribution)",
325-
from_target_image=generate_from_image_tag(os_version, "bci-micro"),
326-
os_version=os_version,
327-
is_latest=os_version in CAN_BE_LATEST_OS_VERSION,
328-
version="%%registry_version%%",
329-
tag_version=(
330-
distribution_version := format_version(
331-
get_pkg_version("distribution", os_version), ParseVersion.MINOR
332-
)
333-
),
334-
version_in_uid=False,
335-
is_singleton_image=True,
336-
replacements_via_service=[
337-
Replacement(
338-
regex_in_build_description="%%registry_version%%",
339-
package_name="distribution-registry",
340-
parse_version=ParseVersion.MINOR,
341-
)
342-
],
343-
license="Apache-2.0",
344-
package_list=[
345-
"apache2-utils",
346-
"ca-certificates-mozilla",
347-
"distribution-registry",
348-
],
349-
entrypoint=["/usr/bin/registry"],
350-
entrypoint_user="registry",
351-
cmd=["serve", "/etc/registry/config.yml"],
352-
volumes=["/var/lib/docker-registry"],
353-
exposes_ports=[TCP(5000)],
354-
support_level=SupportLevel.L3,
355-
min_release_counter={
356-
OsVersion.SP7: 15,
357-
},
358-
build_stage_custom_end=generate_package_version_check(
359-
"distribution-registry", distribution_version, use_target=True
360-
)
361-
+ (f"\n{SET_BLKID_SCAN}\n" if os_version.is_sle15 else ""),
362-
custom_end=(
363-
f"{DOCKERFILE_RUN} install -d -m 0755 -o registry -g registry /var/lib/docker-registry\n"
364-
if not os_version.is_sle15
365-
else ""
366-
)
367-
+ ("COPY --from=builder /etc/blkid.conf /etc\n" if os_version.is_sle15 else ""),
368-
)
369-
for os_version in ALL_NONBASE_OS_VERSIONS
370-
]

src/bci_build/package/registry.py

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
"""Application Containers for Docker/OCI Distribution registry"""
2+
3+
from bci_build.container_attributes import TCP
4+
from bci_build.container_attributes import SupportLevel
5+
from bci_build.os_version import ALL_NONBASE_OS_VERSIONS
6+
from bci_build.os_version import CAN_BE_LATEST_OS_VERSION
7+
from bci_build.os_version import OsVersion
8+
from bci_build.package import DOCKERFILE_RUN
9+
from bci_build.package import SET_BLKID_SCAN
10+
from bci_build.package import ApplicationStackContainer
11+
from bci_build.package.helpers import generate_from_image_tag
12+
from bci_build.package.helpers import generate_package_version_check
13+
from bci_build.package.helpers import generate_systemd_tmpfiles_command
14+
from bci_build.package.versions import format_version
15+
from bci_build.package.versions import get_pkg_version
16+
from bci_build.replacement import Replacement
17+
from bci_build.util import ParseVersion
18+
19+
REGISTRY_CONTAINERS = [
20+
ApplicationStackContainer(
21+
name="registry",
22+
package_name="distribution-image",
23+
pretty_name="OCI Container Registry (Distribution)",
24+
from_target_image=generate_from_image_tag(os_version, "bci-micro"),
25+
os_version=os_version,
26+
is_latest=os_version in CAN_BE_LATEST_OS_VERSION,
27+
version="%%registry_version%%",
28+
tag_version=(
29+
distribution_version := format_version(
30+
get_pkg_version("distribution", os_version), ParseVersion.MINOR
31+
)
32+
),
33+
version_in_uid=False,
34+
is_singleton_image=True,
35+
replacements_via_service=[
36+
Replacement(
37+
regex_in_build_description="%%registry_version%%",
38+
package_name="distribution-registry",
39+
parse_version=ParseVersion.MINOR,
40+
)
41+
],
42+
license="Apache-2.0",
43+
package_list=[
44+
"apache2-utils",
45+
"ca-certificates-mozilla",
46+
"distribution-registry",
47+
],
48+
entrypoint=["/usr/bin/registry"],
49+
entrypoint_user="registry",
50+
cmd=["serve", "/etc/registry/config.yml"],
51+
volumes=["/var/lib/docker-registry"],
52+
exposes_ports=[TCP(5000)],
53+
support_level=SupportLevel.L3,
54+
min_release_counter={
55+
OsVersion.SP7: 15,
56+
},
57+
build_stage_custom_end=generate_package_version_check(
58+
"distribution-registry", distribution_version, use_target=True
59+
)
60+
+ (
61+
generate_systemd_tmpfiles_command(
62+
"distribution-registry.conf", use_target=True
63+
)
64+
if os_version.is_tumbleweed
65+
else ""
66+
)
67+
+ (f"\n{SET_BLKID_SCAN}\n" if os_version.is_sle15 else ""),
68+
custom_end=(
69+
f"{DOCKERFILE_RUN} install -d -m 0755 -o registry -g registry /var/lib/docker-registry\n"
70+
if os_version.is_sl16
71+
else ""
72+
)
73+
+ ("COPY --from=builder /etc/blkid.conf /etc\n" if os_version.is_sle15 else ""),
74+
)
75+
for os_version in ALL_NONBASE_OS_VERSIONS
76+
]

0 commit comments

Comments
 (0)