Skip to content

Commit 679176d

Browse files
committed
Initial milvus container
1 parent 3410ae6 commit 679176d

File tree

2 files changed

+60
-0
lines changed

2 files changed

+60
-0
lines changed

src/bci_build/package/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1460,6 +1460,7 @@ def generate_disk_size_constraints(size_gb: int) -> str:
14601460
from .kiwi import KIWI_CONTAINERS # noqa: E402
14611461
from .mariadb import MARIADB_CLIENT_CONTAINERS # noqa: E402
14621462
from .mariadb import MARIADB_CONTAINERS # noqa: E402
1463+
from .milvus import MILVUS_CONTAINERS # noqa: E402
14631464
from .node import NODE_CONTAINERS # noqa: E402
14641465
from .openjdk import OPENJDK_CONTAINERS # noqa: E402
14651466
from .php import PHP_CONTAINERS # noqa: E402
@@ -1502,6 +1503,7 @@ def generate_disk_size_constraints(size_gb: int) -> str:
15021503
*GOLANG_CONTAINERS,
15031504
*KIWI_CONTAINERS,
15041505
*RUBY_CONTAINERS,
1506+
*MILVUS_CONTAINERS,
15051507
*NODE_CONTAINERS,
15061508
*OPENJDK_CONTAINERS,
15071509
*PHP_CONTAINERS,

src/bci_build/package/milvus.py

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
"""Build description for the milvus Container Images"""
2+
3+
import datetime
4+
5+
from bci_build.containercrate import ContainerCrate
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 ApplicationStackContainer
10+
from bci_build.package import OsContainer
11+
from bci_build.package import Replacement
12+
from bci_build.package import _build_tag_prefix
13+
from bci_build.registry import publish_registry
14+
15+
16+
MILVUS_CONTAINERS = [
17+
ApplicationStackContainer(
18+
name="milvus",
19+
package_name=(None if os_version.is_tumbleweed else "sac-milvus-cpu-image"),
20+
_publish_registry=publish_registry(os_version, app_collection=True),
21+
pretty_name="Milvus",
22+
custom_description=(
23+
"Milvus is a high-performance, highly scalable vector database that runs efficiently "
24+
"across a wide range of environments."
25+
)
26+
+ (". It is {based_on_container}." if os_version.is_tumbleweed else "."),
27+
os_version=os_version,
28+
is_latest=(
29+
(os_version in CAN_BE_LATEST_OS_VERSION) and os_version.is_tumbleweed
30+
),
31+
version="%%milvus_version%%",
32+
license="Apache-2.0",
33+
supported_until=datetime.date(2025, 12, 31),
34+
from_target_image=f"{_build_tag_prefix(os_version)}/bci-micro:{OsContainer.version_to_container_os_version(os_version)}",
35+
package_list=[
36+
"libglog-4-0",
37+
"etcd",
38+
"minio-client",
39+
"tini",
40+
"milvus",
41+
"milvus-cppcpu",
42+
],
43+
replacements_via_service=[
44+
Replacement(
45+
regex_in_build_description="%%milvus_version%%", package_name="milvus"
46+
),
47+
],
48+
custom_end=rf"""{DOCKERFILE_RUN} mkdir /milvus && ln -s /etc/milvus/configs/ /milvus""",
49+
entrypoint=["/usr/bin/tini"],
50+
# logo_url="https://tomcat.apache.org/res/images/tomcat.png",
51+
)
52+
for os_version in (
53+
OsVersion.TUMBLEWEED,
54+
# OsVersion.AI,
55+
)
56+
]
57+
58+
MILVUS_CRATE = ContainerCrate(MILVUS_CONTAINERS)

0 commit comments

Comments
 (0)