Skip to content

Commit 7fad7e3

Browse files
authored
chore: Change feature-server and operator base images to ubi9 (feast-dev#4919)
change feature-server and operator base images to ubi9 Signed-off-by: Tommy Hughes <[email protected]>
1 parent e01e510 commit 7fad7e3

File tree

4 files changed

+17
-46
lines changed

4 files changed

+17
-46
lines changed

Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -527,7 +527,7 @@ build-feast-operator-docker:
527527
# Dev images
528528

529529
build-feature-server-dev:
530-
docker buildx build --build-arg VERSION=dev \
530+
docker buildx build \
531531
-t feastdev/feature-server:dev \
532532
-f sdk/python/feast/infra/feature_servers/multicloud/Dockerfile.dev --load .
533533

infra/feast-operator/Dockerfile

+3-6
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
# Build the manager binary
2-
FROM golang:1.21 AS builder
2+
FROM registry.access.redhat.com/ubi9/go-toolset:1.21 AS builder
33
ARG TARGETOS
44
ARG TARGETARCH
55

6-
WORKDIR /workspace
76
# Copy the Go Modules manifests
87
COPY go.mod go.mod
98
COPY go.sum go.sum
@@ -23,11 +22,9 @@ COPY internal/controller/ internal/controller/
2322
# by leaving it empty we can ensure that the container and binary shipped on it will have the same platform.
2423
RUN CGO_ENABLED=0 GOOS=${TARGETOS:-linux} GOARCH=${TARGETARCH} go build -a -o manager cmd/main.go
2524

26-
# Use distroless as minimal base image to package the manager binary
27-
# Refer to https://github.com/GoogleContainerTools/distroless for more details
28-
FROM gcr.io/distroless/static:nonroot
25+
FROM registry.access.redhat.com/ubi9/ubi-micro:9.5
2926
WORKDIR /
30-
COPY --from=builder /workspace/manager .
27+
COPY --from=builder /opt/app-root/src/manager .
3128
USER 65532:65532
3229

3330
ENTRYPOINT ["/manager"]
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,7 @@
1-
FROM python:3.11-slim-bullseye
1+
FROM registry.access.redhat.com/ubi9/python-311:9.5
22

3-
RUN pip install --no-cache-dir pip --upgrade
4-
RUN pip install --no-cache-dir "feast[aws,gcp,snowflake,redis,go,mysql,postgres,opentelemetry,grpcio,k8s,duckdb,milvus]"
5-
6-
7-
RUN apt update && apt install -y -V ca-certificates lsb-release wget && \
8-
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb && \
9-
apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb && apt update && \
10-
apt install -y \
11-
jq \
12-
libarrow-dev && \
13-
apt remove -y lsb-release wget && \
14-
apt-get clean && rm -rf /var/cache/apt/lists
3+
ARG VERSION
4+
RUN pip install "feast[aws,gcp,snowflake,redis,go,mysql,postgres,opentelemetry,grpcio,k8s,duckdb,milvus]"==${VERSION}
155

166
# modify permissions to support running with a random uid
17-
RUN mkdir -m 775 /.cache
18-
RUN chmod g+w $(python3 -c "import feast.ui as _; print(_.__path__)" | tr -d "[']")/build/projects-list.json
7+
RUN chmod g+w $(python -c "import feast.ui as ui; print(ui.__path__)" | tr -d "[']")/build/projects-list.json
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,13 @@
1-
FROM python:3.11-slim-bullseye
1+
FROM registry.access.redhat.com/ubi9/python-311:9.5
22

3-
RUN pip install --no-cache-dir pip --upgrade
4-
RUN pip install --no-cache-dir pip-tools
3+
COPY --chown=default . ${APP_ROOT}/src
4+
RUN pip install --no-cache-dir pip-tools && \
5+
make install-python-ci-dependencies && \
6+
pip uninstall -y pip-tools
57

6-
RUN apt update && apt install -y -V ca-certificates lsb-release wget make git curl gcc && \
7-
curl -sL https://deb.nodesource.com/setup_20.x | bash - && \
8-
wget https://apache.jfrog.io/artifactory/arrow/$(lsb_release --id --short | tr 'A-Z' 'a-z')/apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb && \
9-
apt install -y -V ./apache-arrow-apt-source-latest-$(lsb_release --codename --short).deb && apt update && \
10-
apt install -y \
11-
jq \
12-
nodejs \
13-
libarrow-dev && \
14-
npm install -g yarn && \
15-
apt remove -y lsb-release wget && \
16-
apt-get clean && rm -rf /var/cache/apt/lists
17-
18-
COPY . /feast
19-
WORKDIR /feast
20-
RUN make install-python-ci-dependencies && pip cache purge
21-
ENV NPM_TOKEN '//registry.npmjs.org/:_authToken'
22-
RUN make build-ui && yarn cache clean
23-
24-
WORKDIR /
8+
RUN npm install -S yarn
9+
ENV PATH ${PATH}:${APP_ROOT}/src/node_modules/yarn/bin
10+
RUN make build-ui && yarn cache clean --all
2511

2612
# modify permissions to support running with a random uid
27-
RUN mkdir -m 775 /.cache
28-
RUN chmod g+w $(python3 -c "import feast.ui as _; print(_.__path__)" | tr -d "[']")/build/projects-list.json
13+
RUN chmod g+w $(python -c "import feast.ui as ui; print(ui.__path__)" | tr -d "[']")/build/projects-list.json

0 commit comments

Comments
 (0)