Skip to content

Commit 6c30a5a

Browse files
jyejarentkathole
authored andcommitted
Image Build now uses minimal images for light and secure footprints
Signed-off-by: Jitendra Yejare <11752425+jyejare@users.noreply.github.com>
1 parent 940e0f0 commit 6c30a5a

File tree

8 files changed

+33
-25
lines changed

8 files changed

+33
-25
lines changed

sdk/python/feast/infra/feature_servers/multicloud/Dockerfile

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
FROM registry.access.redhat.com/ubi9/python-312:1
1+
FROM registry.access.redhat.com/ubi9/python-312-minimal:1
2+
3+
USER 0
4+
RUN microdnf install -y gcc libpq-devel python3.12-devel && microdnf clean all
5+
USER 1001
26

37
COPY --from=ghcr.io/astral-sh/uv:latest /uv /usr/local/bin/uv
48
ENV UV_CACHE_DIR=/tmp/uv-cache

sdk/python/feast/infra/feature_servers/multicloud/Dockerfile.dev

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,15 @@
1-
FROM registry.access.redhat.com/ubi9/python-312:1
1+
FROM registry.access.redhat.com/ubi9/python-312-minimal:1
22

33
USER 0
4+
RUN microdnf install -y npm git gcc libpq-devel python3.12-devel && microdnf clean all
45
RUN npm install -g yarn yalc && rm -rf .npm
5-
USER default
6+
USER 1001
67

7-
COPY --chown=default .git ${APP_ROOT}/src/.git
8-
COPY --chown=default pyproject.toml README.md Makefile ${APP_ROOT}/src/
9-
COPY --chown=default protos ${APP_ROOT}/src/protos
10-
COPY --chown=default ui ${APP_ROOT}/src/ui
11-
COPY --chown=default sdk/python ${APP_ROOT}/src/sdk/python
8+
COPY --chown=1001:0 .git ${APP_ROOT}/src/.git
9+
COPY --chown=1001:0 pyproject.toml README.md Makefile ${APP_ROOT}/src/
10+
COPY --chown=1001:0 protos ${APP_ROOT}/src/protos
11+
COPY --chown=1001:0 ui ${APP_ROOT}/src/ui
12+
COPY --chown=1001:0 sdk/python ${APP_ROOT}/src/sdk/python
1213

1314
WORKDIR ${APP_ROOT}/src/ui
1415
RUN npm install && \

sdk/python/feast/infra/feature_servers/multicloud/offline/Dockerfile.binary

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ FROM yarn-builder:latest
22

33
# This section only necessary when building from local feast source ... e.g. ".[minimal]"
44
########################
5-
COPY --chown=default .git ${APP_ROOT}/src/.git
6-
COPY --chown=default pyproject.toml README.md Makefile ${APP_ROOT}/src/
7-
COPY --chown=default protos ${APP_ROOT}/src/protos
8-
COPY --chown=default ui ${APP_ROOT}/src/ui
9-
COPY --chown=default sdk/python ${APP_ROOT}/src/sdk/python
5+
COPY --chown=1001:0 .git ${APP_ROOT}/src/.git
6+
COPY --chown=1001:0 pyproject.toml README.md Makefile ${APP_ROOT}/src/
7+
COPY --chown=1001:0 protos ${APP_ROOT}/src/protos
8+
COPY --chown=1001:0 ui ${APP_ROOT}/src/ui
9+
COPY --chown=1001:0 sdk/python ${APP_ROOT}/src/sdk/python
1010

1111
WORKDIR ${APP_ROOT}/src/ui
1212
ENV NPM_TOKEN=

sdk/python/feast/infra/feature_servers/multicloud/offline/Dockerfile.binary.release

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM registry.access.redhat.com/ubi9/python-312:1
1+
FROM registry.access.redhat.com/ubi9/python-312-minimal:1
22

33
COPY requirements.txt requirements.txt
44
RUN source /tmp/hermeto.env && \
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
1-
FROM registry.access.redhat.com/ubi9/python-312:1
1+
FROM registry.access.redhat.com/ubi9/python-312-minimal:1
22

33
USER 0
4+
RUN microdnf install -y npm git && microdnf clean all
45
RUN npm install -g yarn yalc && rm -rf .npm
56
USER 1001

sdk/python/feast/infra/feature_servers/multicloud/offline/Dockerfile.builder.yum

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
FROM registry.access.redhat.com/ubi9/python-312:1
1+
FROM registry.access.redhat.com/ubi9/python-312-minimal:1
22
ARG RELEASE
33

44
ENV IBIS_VERSION="9.5.0"
55

66
USER 0
7-
RUN yum install -y ninja-build llvm-devel cmake llvm-toolset ncurses-devel rust cargo
7+
RUN microdnf install -y ninja-build llvm-devel cmake llvm-toolset ncurses-devel rust cargo npm git && microdnf clean all
88
RUN if [[ -z "$RELEASE" ]] ; then npm install -g yarn yalc && rm -rf .npm ; fi
99
USER 1001
1010

sdk/python/feast/infra/feature_servers/multicloud/offline/Dockerfile.sdist

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ ENV THIRD_PARTY_PATH=/tmp/hermeto-generic-output/deps/generic
1313
# unecessary for konflux build
1414
ENV RPM_PATH=/tmp/hermeto-rpm-output/deps/rpm/x86_64
1515
USER 0
16+
RUN microdnf install -y shadow-utils && microdnf clean all
1617
RUN useradd mockbuild
1718
RUN groupadd mock
1819
RUN usermod -G mock mockbuild
@@ -71,7 +72,7 @@ RUN mkdir ${APP_ROOT}/src/arrow ${ARROW_HOME} ${APP_ROOT}/src/arrow-build && \
7172
ARROW_ZLIB_URL="${THIRD_PARTY_PATH}/zlib-1.3.1.tar.gz" \
7273
ARROW_ZSTD_URL="${THIRD_PARTY_PATH}/zstd-1.5.6.tar.gz" \
7374
&& \
74-
cmake \
75+
cmake -G Ninja \
7576
-DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
7677
-DARROW_COMPUTE=ON \
7778
-DARROW_ACERO=ON \
@@ -130,11 +131,11 @@ RUN source /tmp/hermeto.env && \
130131

131132
# This section only necessary when building from local feast source ... e.g. ".[minimal]"
132133
########################
133-
COPY --chown=default .git ${APP_ROOT}/src/.git
134-
COPY --chown=default pyproject.toml README.md Makefile ${APP_ROOT}/src/
135-
COPY --chown=default protos ${APP_ROOT}/src/protos
136-
COPY --chown=default ui ${APP_ROOT}/src/ui
137-
COPY --chown=default sdk/python ${APP_ROOT}/src/sdk/python
134+
COPY --chown=1001:0 .git ${APP_ROOT}/src/.git
135+
COPY --chown=1001:0 pyproject.toml README.md Makefile ${APP_ROOT}/src/
136+
COPY --chown=1001:0 protos ${APP_ROOT}/src/protos
137+
COPY --chown=1001:0 ui ${APP_ROOT}/src/ui
138+
COPY --chown=1001:0 sdk/python ${APP_ROOT}/src/sdk/python
138139

139140
WORKDIR ${APP_ROOT}/src/ui
140141
ENV NPM_TOKEN=

sdk/python/feast/infra/feature_servers/multicloud/offline/Dockerfile.sdist.release

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM registry.access.redhat.com/ubi9/python-312:1
1+
FROM registry.access.redhat.com/ubi9/python-312-minimal:1
22

33
ENV APACHE_ARROW_VERSION="17.0.0"
44
ENV MILVUS_LITE_VERSION="2.4.12"
@@ -13,6 +13,7 @@ ENV THIRD_PARTY_PATH=/tmp/hermeto-generic-output/deps/generic
1313
# unecessary for konflux build
1414
ENV RPM_PATH=/tmp/hermeto-rpm-output/deps/rpm/x86_64
1515
USER 0
16+
RUN microdnf install -y shadow-utils && microdnf clean all
1617
RUN useradd mockbuild
1718
RUN groupadd mock
1819
RUN usermod -G mock mockbuild
@@ -71,7 +72,7 @@ RUN mkdir ${APP_ROOT}/src/arrow ${ARROW_HOME} ${APP_ROOT}/src/arrow-build && \
7172
ARROW_ZLIB_URL="${THIRD_PARTY_PATH}/zlib-1.3.1.tar.gz" \
7273
ARROW_ZSTD_URL="${THIRD_PARTY_PATH}/zstd-1.5.6.tar.gz" \
7374
&& \
74-
cmake \
75+
cmake -G Ninja \
7576
-DCMAKE_INSTALL_PREFIX=$ARROW_HOME \
7677
-DARROW_COMPUTE=ON \
7778
-DARROW_ACERO=ON \

0 commit comments

Comments
 (0)