Part of NVIDIA/cloud-native-team#299.
NVIDIA STIG policy is dropping -dev distroless tags as approved
parent images. To move the k8s-device-plugin image onto a non--dev
base without changing the entrypoint or any Kubernetes manifests,
we ship a static busybox shell inside the image.
Approach
Add a debian:trixie-slim shell-builder stage to
deployments/container/Dockerfile that apt-installs busybox-static.
COPY /bin/busybox into the final stage and run
busybox --install -s /bin to populate /bin/sh, /bin/rm,
/bin/ln, etc. Flip the final base from
nvcr.io/nvidia/distroless/go:<ver>-dev to the matching non--dev
variant. Drop the existing SHELL ["/busybox/sh", "-c"] directive
and the RUN ln -s /busybox/sh /bin/sh symlink — the static busybox
install replaces them.
FROM debian:trixie-slim AS shell-builder
RUN apt-get update \
&& apt-get install --no-install-recommends -y busybox-static \
&& rm -rf /var/lib/apt/lists/*
FROM nvcr.io/nvidia/distroless/go:<version>
COPY --from=shell-builder /bin/busybox /bin/busybox
RUN ["/bin/busybox", "--install", "-s", "/bin"]
The existing nvidia-device-plugin / GFD / MPS daemon entrypoints
and Helm manifests remain untouched.
Precedent:
kubernetes-sigs/dra-driver-nvidia-gpu
uses the same pattern with bash-static.
Tracking
No PR yet — separate companion PR will be opened against this repo.
Acceptance
Part of NVIDIA/cloud-native-team#299.
NVIDIA STIG policy is dropping
-devdistroless tags as approvedparent images. To move the k8s-device-plugin image onto a non-
-devbase without changing the entrypoint or any Kubernetes manifests,
we ship a static busybox shell inside the image.
Approach
Add a
debian:trixie-slimshell-builder stage todeployments/container/Dockerfilethat apt-installsbusybox-static.COPY
/bin/busyboxinto the final stage and runbusybox --install -s /binto populate/bin/sh,/bin/rm,/bin/ln, etc. Flip the final base fromnvcr.io/nvidia/distroless/go:<ver>-devto the matching non--devvariant. Drop the existing
SHELL ["/busybox/sh", "-c"]directiveand the
RUN ln -s /busybox/sh /bin/shsymlink — the static busyboxinstall replaces them.
The existing
nvidia-device-plugin/ GFD / MPS daemon entrypointsand Helm manifests remain untouched.
Precedent:
kubernetes-sigs/dra-driver-nvidia-gpuuses the same pattern with
bash-static.Tracking
No PR yet — separate companion PR will be opened against this repo.
Acceptance
-devdistroless tag/busybox/shreferences remain;/bin/shis provided by static busyboxconsumed by gpu-operator