Skip to content

Commit f8a6986

Browse files
authored
Merge pull request #2203 from tkatila/ubi-base-images
Add support to build UBI based images
2 parents 839fe47 + 3fcb9f0 commit f8a6986

12 files changed

+357
-143
lines changed

.github/workflows/lib-build.yaml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,3 +51,30 @@ jobs:
5151
BUILDER_NAME: ${{ matrix.builder }}
5252
run: |
5353
make ${IMAGE_NAME} BUILDER=${BUILDER_NAME}
54+
imageubi:
55+
name: Build UBI image
56+
runs-on: ubuntu-24.04
57+
strategy:
58+
matrix:
59+
image:
60+
- intel-gpu-plugin
61+
- intel-qat-initcontainer
62+
- intel-qat-plugin
63+
- intel-deviceplugin-operator
64+
- intel-sgx-plugin
65+
- intel-sgx-initcontainer
66+
- intel-dsa-plugin
67+
builder: [docker]
68+
steps:
69+
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v4
70+
- uses: actions/setup-go@4dc6199c7b1a012772edbd06daecab0f50c9053c # v5
71+
with:
72+
go-version-file: go.mod
73+
check-latest: true
74+
- run: make -e vendor
75+
- name: Build image
76+
env:
77+
IMAGE_NAME: ${{ matrix.image }}
78+
BUILDER_NAME: ${{ matrix.builder }}
79+
run: |
80+
make ${IMAGE_NAME} BUILDER=${BUILDER_NAME} UBI=1

DEVEL.md

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ Table of Contents
1414
* [How to Develop Simple Device Plugins](#how-to-develop-simple-device-plugins)
1515
* [Logging](#logging)
1616
* [Error Conventions](#error-conventions)
17+
* [UBI images](#ubi-images)
1718
* [Checklist for New Device Plugins](#checklist-for-new-device-plugins)
1819

1920
## Day-to-day Development How to's
@@ -253,12 +254,12 @@ go test -v ./test/e2e/... -args -ginkgo.focus "Device:(dlb|dsa|iaa|qat|sgx)"
253254
It is possible to run predefined e2e tests with:
254255
```
255256
make e2e-<device> [E2E_LEVEL={basic|full}] [FOCUS=<labels in regex>] [SKIP=<labels in regex>]
256-
```
257+
```
257258

258259
| `E2E_LEVEL` | Equivalent `FOCUS` or `SKIP` | Explanation |
259260
:-------------- |:---------------------------- |:------------------------------------------------------------------------------------------------ |
260261
| `basic` | `FOCUS=App:noapp` | `basic` does not run any app pod, but checks if the plugin works and the resources are available |
261-
| `full` | `SKIP=App:noapp` | `full` checks all resources, runs all apps except the spec kept for no app running |
262+
| `full` | `SKIP=App:noapp` | `full` checks all resources, runs all apps except the spec kept for no app running |
262263

263264
### Examples
264265

@@ -426,6 +427,36 @@ Otherwise, they can be logged as simple values:
426427
klog.Warningf("Example of a warning due to an external error: %v", err)
427428
```
428429

430+
## UBI images
431+
432+
UBI based images use different base image.
433+
434+
|Default|UBI|
435+
|---|---|
436+
|gcr.io/distroless/static|registry.access.redhat.com/ubi9-micro:latest|
437+
|debian:unstable-slim|registry.access.redhat.com/ubi9/ubi:latest|
438+
439+
The UBI based images are required for deployments that run on OpenShift Container Platform (OCP).
440+
441+
To build these images:
442+
```bash
443+
UBI=1 make <image-name>
444+
```
445+
446+
### Containers with RPM dependencies
447+
448+
There are two containers that have external dependencies which are installed at build time from OSV repositories:
449+
* intel-idxd-config-initcontainer
450+
* intel-gpu-levelzero
451+
452+
To build these containers, the build host has to be registered via `subscription-manager`. Typically the host OS has to be RHEL or some other RPM based Linux variant (e.g. Fedora).
453+
454+
```bash
455+
UBI=1 BUILDER=podman make <image-name>
456+
```
457+
458+
Docker doesn't support installing RPM packages with `subscription-manager`, so Podman needs to be used.
459+
429460
## Checklist for New Device Plugins
430461

431462
For new device plugins contributed to this repository, below is a

Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ GO := go
33
GOFMT := gofmt
44
KUSTOMIZE ?= kustomize
55
OPERATOR_SDK ?= operator-sdk
6+
UBI ?= 0
67

78
BUILDTAGS ?= ""
89
BUILDER ?= "docker"
@@ -176,7 +177,7 @@ endif
176177

177178
dockerlib = build/docker/lib
178179
dockertemplates = build/docker/templates
179-
images = $(shell basename -s .Dockerfile.in -a $(dockertemplates)/*.Dockerfile.in | grep -v -e dlb -e fpga -e xpumanager-sidecar)
180+
images = $(shell basename -s .Dockerfile.in -a $(dockertemplates)/*.Dockerfile.in | grep -v -e dlb -e fpga -e xpumanager-sidecar -e ubi)
180181
dockerfiles = $(shell basename -s .in -a $(dockertemplates)/*.Dockerfile.in | xargs -I"{}" echo build/docker/{})
181182

182183
test-image-base-layer:
@@ -202,7 +203,7 @@ check-dockerfiles: dockerfiles
202203
fi
203204

204205
$(images): $(dockerfiles)
205-
@build/docker/build-image.sh $(REG)$@ $(BUILDER) $(EXTRA_BUILD_ARGS)
206+
@build/docker/build-image.sh $(REG)$@ $(BUILDER) $(UBI) $(EXTRA_BUILD_ARGS)
206207

207208
images: $(images)
208209

build/docker/build-image.sh

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@ fi
1616

1717
shift
1818

19-
if [ "$1" = 'docker' -o "$1" = 'buildah' -o "$1" = 'podman' ]; then
20-
BUILDER=$1
21-
shift
22-
fi
19+
BUILDER=$1
20+
shift
21+
22+
UBI=$1
23+
shift
2324

2425
TAG=${TAG:-devel}
2526

@@ -29,11 +30,22 @@ if [ -d $(dirname $0)/../../vendor ] ; then
2930
BUILD_ARGS="${BUILD_ARGS} --build-arg DIR=/go/src/github.com/intel/intel-device-plugins-for-kubernetes --build-arg GO111MODULE=off"
3031
fi
3132

32-
BUILD_ARGS="${BUILD_ARGS} \
33-
--build-arg FINAL_BASE=gcr.io/distroless/static \
34-
--build-arg BUILD_BASE=golang:1.25-trixie \
35-
--build-arg FINAL_BASE_DYN=debian:unstable-slim \
36-
--build-arg ROCKYLINUX=0"
33+
GOLANG_BASE=golang:1.25-trixie
34+
35+
if [ "${UBI}" = '1' ]; then
36+
echo $DOCKERFILE | grep -q -e 'idxd-config' -e 'levelzero' && {
37+
echo "Using UBI specific Dockerfile for ${IMG}"
38+
DOCKERFILE="$(dirname $0)/$(basename ${IMG}).ubi.Dockerfile"
39+
}
40+
41+
BUILD_ARGS="${BUILD_ARGS} \
42+
--build-arg FINAL_BASE=registry.access.redhat.com/ubi9-micro:latest \
43+
--build-arg BUILD_BASE=${GOLANG_BASE}"
44+
else
45+
BUILD_ARGS="${BUILD_ARGS} \
46+
--build-arg FINAL_BASE=gcr.io/distroless/static \
47+
--build-arg BUILD_BASE=${GOLANG_BASE}"
48+
fi
3749

3850
if [ -z "${BUILDER}" -o "${BUILDER}" = 'docker' -o "${BUILDER}" = 'podman' ] ; then
3951
${BUILDER} build --pull -t ${IMG}:${TAG} ${BUILD_ARGS} -f ${DOCKERFILE} .

build/docker/intel-gpu-levelzero.Dockerfile

Lines changed: 31 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -15,18 +15,8 @@
1515
## limitations under the License.
1616
###
1717
ARG CMD=gpu_levelzero
18-
ARG ROCKYLINUX=1
19-
## FINAL_BASE_DYN can be used to configure the base image of the final image.
20-
## The project default is 1) which sets FINAL_BASE_DYN=gcr.io/distroless/cc-debian12
21-
## (see build-image.sh).
22-
## 2) and the default FINAL_BASE is primarily used to build Redhat Certified Openshift Operator container images that must be UBI based.
23-
## The RedHat build tool does not allow additional image build parameters.
24-
ARG BUILD_BASE=rockylinux:9
25-
ARG FINAL_BASE_DYN=registry.access.redhat.com/ubi9/ubi-minimal:9.3
26-
###
27-
## Use the BUILD_BASE when either the a) golang-trixie is updated to a newer glibc
28-
## or b) the intel-igc-core libraries are fixed to not to demand a newer glibc
29-
FROM ${FINAL_BASE_DYN} AS builder
18+
ARG BUILD_BASE=golang:1.25-trixie
19+
FROM ${BUILD_BASE} AS builder
3020
ARG DIR=/intel-device-plugins-for-kubernetes
3121
ENV CGO_CFLAGS="-pipe -fno-plt"
3222
ENV CGO_LDFLAGS="-fstack-protector-strong -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now,-z,noexecstack,-z,defs,-s,-w"
@@ -36,71 +26,48 @@ ENV ASMFLAGS="all=-spectre=all"
3626
ENV LDFLAGS="all=-linkmode=external -s -w"
3727
ARG GOLICENSES_VERSION
3828
ARG CMD
39-
ARG ROCKYLINUX
40-
ARG CGO_VERSION=1.25
4129
RUN mkdir /runtime
42-
RUN if [ $ROCKYLINUX -eq 0 ]; then \
43-
apt-get update && apt-get install --no-install-recommends -y wget jq curl libc6-dev ocl-icd-libopencl1 gcc ca-certificates && \
44-
LATEST_GO=$(curl --no-progress-meter https://go.dev/dl/?mode=json | jq ".[] | select(.version | startswith(\"go${CGO_VERSION}\")).version" | tr -d "\"") && \
45-
wget -q https://go.dev/dl/$LATEST_GO.linux-amd64.tar.gz -O - | tar -xz -C /usr/local && \
46-
cd /runtime && \
47-
wget -q https://github.com/intel/intel-graphics-compiler/releases/download/v2.20.3/intel-igc-core-2_2.20.3+19972_amd64.deb && \
48-
wget -q https://github.com/intel/intel-graphics-compiler/releases/download/v2.20.3/intel-igc-opencl-2_2.20.3+19972_amd64.deb && \
49-
wget -q https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/intel-opencl-icd_25.40.35563.4-0_amd64.deb && \
50-
wget -q https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/libigdgmm12_22.8.2_amd64.deb && \
51-
wget -q https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/libze-intel-gpu1_25.40.35563.4-0_amd64.deb && \
52-
wget -q https://github.com/oneapi-src/level-zero/releases/download/v1.24.3/level-zero_1.24.3+u22.04_amd64.deb && \
53-
wget -q https://github.com/oneapi-src/level-zero/releases/download/v1.24.3/level-zero-devel_1.24.3+u22.04_amd64.deb && \
54-
dpkg -i *.deb && \
55-
rm -f *.deb && \
56-
rm -rf /var/lib/apt/lists/\*; \
57-
else \
58-
source /etc/os-release && dnf install -y gcc jq wget 'dnf-command(config-manager)' && \
59-
dnf config-manager --add-repo https://repositories.intel.com/gpu/rhel/${VERSION_ID}/lts/2350/unified/intel-gpu-${VERSION_ID}.repo && \
60-
dnf install -y intel-opencl level-zero level-zero-devel intel-level-zero-gpu intel-gmmlib intel-ocloc && \
61-
dnf clean all && \
62-
LATEST_GO=$(curl --no-progress-meter https://go.dev/dl/?mode=json | jq ".[] | select(.version | startswith(\"go${CGO_VERSION}\")).version" | tr -d "\"") && \
63-
wget -q https://go.dev/dl/$LATEST_GO.linux-amd64.tar.gz -O - | tar -xz -C /usr/local && \
64-
cp -a /etc/OpenCL /usr/lib64/libocloc.so /usr/lib64/libze_intel_gpu.* /usr/lib64/libze_loader.* /usr/lib64/libigdgmm.* /runtime/ && \
65-
mkdir /runtime/licenses/ && cd /usr/share/licenses/ && cp -a level-zero intel-gmmlib intel-level-zero-gpu intel-ocloc /runtime/licenses/; \
66-
fi
30+
RUN apt-get update && apt-get install --no-install-recommends -y jq libc6-dev ocl-icd-libopencl1 gcc ca-certificates && \
31+
cd /runtime && \
32+
curl -sSLO https://github.com/intel/intel-graphics-compiler/releases/download/v2.20.3/intel-igc-core-2_2.20.3+19972_amd64.deb && \
33+
curl -sSLO https://github.com/intel/intel-graphics-compiler/releases/download/v2.20.3/intel-igc-opencl-2_2.20.3+19972_amd64.deb && \
34+
curl -sSLO https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/intel-opencl-icd_25.40.35563.4-0_amd64.deb && \
35+
curl -sSLO https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/libigdgmm12_22.8.2_amd64.deb && \
36+
curl -sSLO https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/libze-intel-gpu1_25.40.35563.4-0_amd64.deb && \
37+
curl -sSLO https://github.com/oneapi-src/level-zero/releases/download/v1.24.3/level-zero_1.24.3+u22.04_amd64.deb && \
38+
curl -sSLO https://github.com/oneapi-src/level-zero/releases/download/v1.24.3/level-zero-devel_1.24.3+u22.04_amd64.deb && \
39+
dpkg -i *.deb && \
40+
rm -f *.deb && \
41+
rm -rf /var/lib/apt/lists/\*
6742
ARG EP=/usr/local/bin/intel_gpu_levelzero
68-
ARG CMD
6943
WORKDIR ${DIR}
7044
COPY . .
71-
## Apply for the build phase as well as the license copy below the build.
72-
ENV PATH=$PATH:/usr/local/go/bin/
7345
RUN cd cmd/${CMD} && \
74-
GO111MODULE=on CGO_ENABLED=1 go install $CGOFLAGS --gcflags="$GCFLAGS" --asmflags="$ASMFLAGS" --ldflags="$LDFLAGS"
75-
RUN [ $ROCKYLINUX -eq 0 ] && install -D /go/bin/${CMD} /install_root${EP} || install -D /root/go/bin/${CMD} /install_root${EP}
46+
GO111MODULE=on CGO_ENABLED=1 go install $CGOFLAGS --gcflags="$GCFLAGS" --asmflags="$ASMFLAGS" --ldflags="$LDFLAGS" && \
47+
install -D /go/bin/${CMD} /install_root${EP}
7648
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
7749
&& if [ ! -d "licenses/$CMD" ] ; then \
7850
GO111MODULE=on GOROOT=$(go env GOROOT) go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \
7951
--save_path /install_root/licenses/$CMD/go-licenses ; \
8052
else mkdir -p /install_root/licenses/$CMD/go-licenses/ && cd licenses/$CMD && cp -r * /install_root/licenses/$CMD/go-licenses/ ; fi && \
8153
echo "Verifying installed licenses" && test -e /install_root/licenses/$CMD/go-licenses
82-
FROM ${FINAL_BASE_DYN}
54+
FROM debian:unstable-slim
8355
ARG CMD
84-
ARG ROCKYLINUX
8556
COPY --from=builder /runtime /runtime
86-
RUN if [ $ROCKYLINUX -eq 0 ]; then \
87-
apt-get update && apt-get install --no-install-recommends -y ocl-icd-libopencl1 wget ca-certificates && \
88-
cd /runtime && \
89-
wget https://github.com/intel/intel-graphics-compiler/releases/download/v2.20.3/intel-igc-core-2_2.20.3+19972_amd64.deb && \
90-
wget https://github.com/intel/intel-graphics-compiler/releases/download/v2.20.3/intel-igc-opencl-2_2.20.3+19972_amd64.deb && \
91-
wget https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/intel-opencl-icd_25.40.35563.4-0_amd64.deb && \
92-
wget https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/libigdgmm12_22.8.2_amd64.deb && \
93-
wget https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/libze-intel-gpu1_25.40.35563.4-0_amd64.deb && \
94-
wget https://github.com/oneapi-src/level-zero/releases/download/v1.24.3/level-zero_1.24.3+u22.04_amd64.deb && \
95-
dpkg -i *.deb && \
96-
apt-get -y remove wget ca-certificates && \
97-
apt-get -y autoremove && \
98-
rm -f *.deb && \
99-
rm -rf /var/lib/apt/lists/\* && \
100-
rm "/lib/x86_64-linux-gnu/libze_validation"* && rm "/lib/x86_64-linux-gnu/libze_tracing_layer"*; \
101-
else \
102-
cp -a /runtime//*.so* /usr/lib64/ && cp -a /runtime/OpenCL /etc/ && cp -a /runtime/licenses/* /usr/share/licenses/; \
103-
fi
57+
RUN apt-get update && apt-get install --no-install-recommends -y ocl-icd-libopencl1 curl ca-certificates && \
58+
cd /runtime && \
59+
curl -sSLO https://github.com/intel/intel-graphics-compiler/releases/download/v2.20.3/intel-igc-core-2_2.20.3+19972_amd64.deb && \
60+
curl -sSLO https://github.com/intel/intel-graphics-compiler/releases/download/v2.20.3/intel-igc-opencl-2_2.20.3+19972_amd64.deb && \
61+
curl -sSLO https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/intel-opencl-icd_25.40.35563.4-0_amd64.deb && \
62+
curl -sSLO https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/libigdgmm12_22.8.2_amd64.deb && \
63+
curl -sSLO https://github.com/intel/compute-runtime/releases/download/25.40.35563.4/libze-intel-gpu1_25.40.35563.4-0_amd64.deb && \
64+
curl -sSLO https://github.com/oneapi-src/level-zero/releases/download/v1.24.3/level-zero_1.24.3+u22.04_amd64.deb && \
65+
dpkg -i *.deb && \
66+
apt-get -y remove ca-certificates && \
67+
apt-get -y autoremove && \
68+
rm -f *.deb && \
69+
rm -rf /var/lib/apt/lists/\* && \
70+
rm "/lib/x86_64-linux-gnu/libze_validation"* && rm "/lib/x86_64-linux-gnu/libze_tracing_layer"*
10471
COPY --from=builder /install_root /
10572
ENTRYPOINT ["/usr/local/bin/intel_gpu_levelzero"]
10673
LABEL vendor='Intel®'
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
## This is a generated file, do not edit directly. Edit build/docker/templates/intel-gpu-levelzero.ubi.Dockerfile.in instead.
2+
##
3+
## Copyright 2022 Intel Corporation. All Rights Reserved.
4+
##
5+
## Licensed under the Apache License, Version 2.0 (the "License");
6+
## you may not use this file except in compliance with the License.
7+
## You may obtain a copy of the License at
8+
##
9+
## http://www.apache.org/licenses/LICENSE-2.0
10+
##
11+
## Unless required by applicable law or agreed to in writing, software
12+
## distributed under the License is distributed on an "AS IS" BASIS,
13+
## WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
## See the License for the specific language governing permissions and
15+
## limitations under the License.
16+
###
17+
ARG CMD=gpu_levelzero
18+
## At the time of writing this, 9.6 is the latest supported version for Intel GPU repos.
19+
ARG FINAL_BASE_UBI=registry.access.redhat.com/ubi9/ubi:9.6
20+
FROM ${FINAL_BASE_UBI} AS builder
21+
ARG DIR=/intel-device-plugins-for-kubernetes
22+
ENV CGO_CFLAGS="-pipe -fno-plt"
23+
ENV CGO_LDFLAGS="-fstack-protector-strong -Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now,-z,noexecstack,-z,defs,-s"
24+
ENV CGOFLAGS="-trimpath -mod=readonly -buildmode=pie"
25+
ENV GCFLAGS="all=-spectre=all -N -l"
26+
ENV ASMFLAGS="all=-spectre=all"
27+
ENV LDFLAGS="all=-linkmode=external -s -w"
28+
ARG GOLICENSES_VERSION
29+
ARG CMD
30+
ARG CGO_VERSION=1.25
31+
RUN mkdir /runtime
32+
RUN source /etc/os-release && dnf install -y gcc jq 'dnf-command(config-manager)' && \
33+
dnf config-manager --add-repo https://repositories.intel.com/gpu/rhel/${VERSION_ID}/lts/2523/unified/intel-gpu-${VERSION_ID}.repo && \
34+
dnf install -y intel-opencl level-zero level-zero-devel intel-level-zero-gpu intel-gmmlib intel-ocloc && \
35+
dnf clean all && \
36+
LATEST_GO=$(curl -s https://go.dev/dl/?mode=json | jq ".[] | select(.version | startswith(\"go${CGO_VERSION}\")).version" | tr -d "\"") && \
37+
curl -sSL https://go.dev/dl/$LATEST_GO.linux-amd64.tar.gz | tar -xz -C /usr/local
38+
ARG EP=/usr/local/bin/intel_gpu_levelzero
39+
WORKDIR ${DIR}
40+
COPY . .
41+
## Apply for the build phase as well as the license copy below the build.
42+
ENV PATH=$PATH:/usr/local/go/bin/
43+
RUN cd cmd/${CMD} && \
44+
GO111MODULE=on CGO_ENABLED=1 go install $CGOFLAGS --gcflags="$GCFLAGS" --asmflags="$ASMFLAGS" --ldflags="$LDFLAGS" && \
45+
install -D /root/go/bin/${CMD} /install_root${EP}
46+
RUN install -D ${DIR}/LICENSE /install_root/licenses/intel-device-plugins-for-kubernetes/LICENSE \
47+
&& if [ ! -d "licenses/$CMD" ] ; then \
48+
GO111MODULE=on GOROOT=$(go env GOROOT) go run github.com/google/go-licenses@${GOLICENSES_VERSION} save "./cmd/$CMD" \
49+
--save_path /install_root/licenses/$CMD/go-licenses ; \
50+
else mkdir -p /install_root/licenses/$CMD/go-licenses/ && cd licenses/$CMD && cp -r * /install_root/licenses/$CMD/go-licenses/ ; fi && \
51+
echo "Verifying installed licenses" && test -e /install_root/licenses/$CMD/go-licenses
52+
FROM ${FINAL_BASE_UBI}
53+
ARG CMD
54+
COPY --from=builder /runtime /runtime
55+
RUN source /etc/os-release && dnf install -y 'dnf-command(config-manager)' && \
56+
dnf config-manager --add-repo https://repositories.intel.com/gpu/rhel/${VERSION_ID}/lts/2523/unified/intel-gpu-${VERSION_ID}.repo && \
57+
dnf install -y --setopt=install_weak_deps=False --setopt=tsflags=nodocs intel-opencl level-zero intel-level-zero-gpu intel-gmmlib intel-ocloc && \
58+
dnf remove -y 'dnf-command(config-manager)' && dnf -y autoremove && dnf clean all && rm -rf /var/cache/dnf
59+
COPY --from=builder /install_root /
60+
ENTRYPOINT ["/usr/local/bin/intel_gpu_levelzero"]
61+
LABEL vendor='Intel®'
62+
LABEL org.opencontainers.image.source='https://github.com/intel/intel-device-plugins-for-kubernetes'
63+
LABEL maintainer="Intel®"
64+
LABEL version='devel'
65+
LABEL release='1'
66+
LABEL name='intel-gpu-levelzero'
67+
LABEL summary='Intel® GPU levelzero for Kubernetes'
68+
LABEL description='The GPU levelzero container provides access to Levelzero API for the Intel GPU plugin'

build/docker/intel-idxd-config-initcontainer.Dockerfile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,3 +25,11 @@ COPY demo/iaa.conf /idxd-init/
2525
RUN mkdir /idxd-init/scratch
2626
WORKDIR /idxd-init
2727
ENTRYPOINT ["/usr/local/bin/idxd-init.sh"]
28+
LABEL name='intel-idxd-config-initcontainer'
29+
LABEL summary='Intel® IDXD config initcontainer for Kubernetes'
30+
LABEL description='IDXD config configures DSA and IAA devices for use with the DSA/IAA plugin'
31+
LABEL vendor='Intel®'
32+
LABEL org.opencontainers.image.source='https://github.com/intel/intel-device-plugins-for-kubernetes'
33+
LABEL maintainer="Intel®"
34+
LABEL version='devel'
35+
LABEL release='1'

0 commit comments

Comments
 (0)