FROM alpine:3.23.0 AS base RUN apk add --no-cache curl ca-certificates # ---- kubelet ---- FROM base AS kubelet ARG KUBE_VERSION ARG ARCH WORKDIR /out/kubernetes RUN curl -fL --retry 3 -o "kubelet-${KUBE_VERSION}" \ "https://dl.k8s.io/${KUBE_VERSION}/bin/linux/${ARCH}/kubelet" && \ chmod +x "kubelet-${KUBE_VERSION}" # ---- kubeadm ---- FROM base AS kubeadm ARG KUBE_VERSION ARG ARCH WORKDIR /out/kubernetes RUN curl -fL --retry 3 -o "kubeadm-${KUBE_VERSION}" \ "https://dl.k8s.io/${KUBE_VERSION}/bin/linux/${ARCH}/kubeadm" && \ chmod +x "kubeadm-${KUBE_VERSION}" # ---- kubectl ---- FROM base AS kubectl ARG KUBE_VERSION ARG ARCH WORKDIR /out/kubernetes RUN curl -fL --retry 3 -o "kubectl-${KUBE_VERSION}" \ "https://dl.k8s.io/${KUBE_VERSION}/bin/linux/${ARCH}/kubectl" && \ chmod +x "kubectl-${KUBE_VERSION}" # ---- busybox ---- FROM base AS busybox ARG BUSYBOX_VERSION WORKDIR /out RUN curl -fL --retry 3 -o "busybox-${BUSYBOX_VERSION}.tar.gz" \ "https://github.com/mirror/busybox/archive/refs/tags/${BUSYBOX_VERSION}.tar.gz" # ---- e2fsprogs ---- FROM base AS e2fsprogs ARG E2FSPROGS_VERSION WORKDIR /out RUN curl -fL --retry 3 -o "e2fsprogs-v${E2FSPROGS_VERSION}.tar.gz" \ "https://github.com/tytso/e2fsprogs/archive/refs/tags/v${E2FSPROGS_VERSION}.tar.gz" # ---- dpdk ---- FROM base AS dpdk ARG DPDK_VERSION WORKDIR /out/nxp/dpdk RUN curl -fL --retry 3 -o "${DPDK_VERSION}.tar.gz" \ "https://github.com/nxp-qoriq/dpdk/archive/refs/tags/${DPDK_VERSION}.tar.gz" # ---- fmlib ---- FROM base AS fmlib ARG FMLIB_VERSION WORKDIR /out/nxp/fmlib RUN curl -fL --retry 3 -o "${FMLIB_VERSION}.tar.gz" \ "https://github.com/nxp-qoriq/fmlib/archive/refs/tags/${FMLIB_VERSION}.tar.gz" # ---- fmc ---- FROM base AS fmc ARG FMC_VERSION WORKDIR /out/nxp/fmc RUN curl -fL --retry 3 -o "${FMC_VERSION}.tar.gz" \ "https://github.com/nxp-qoriq/fmc/archive/refs/tags/${FMC_VERSION}.tar.gz" # ---- vpp ---- FROM base AS vpp ARG VPP_VERSION WORKDIR /out/nxp/vpp RUN curl -fL --retry 3 -o "${VPP_VERSION}.tar.gz" \ "https://github.com/nxp-qoriq/vpp/archive/refs/tags/${VPP_VERSION}.tar.gz" # ---- alpine rootfs ---- FROM base AS alpine_rootfs ARG ALPINE_SERIES ARG ALPINE_ARCH ARG ALPINE_VER WORKDIR /out RUN curl -fL --retry 3 -o "alpine-minirootfs-${ALPINE_VER}-${ALPINE_ARCH}.tar.gz" \ "https://dl-cdn.alpinelinux.org/alpine/v${ALPINE_SERIES}/releases/${ALPINE_ARCH}/alpine-minirootfs-${ALPINE_VER}-${ALPINE_ARCH}.tar.gz" # ---- nxp linux ---- FROM base AS nxp_linux ARG NXP_VERSION WORKDIR /out/nxp/kernel RUN curl -fL --retry 3 -o "${NXP_VERSION}.tar.gz" \ "https://github.com/nxp-qoriq/linux/archive/refs/tags/${NXP_VERSION}.tar.gz" # ---- crio ---- FROM base AS crio ARG CRIO_VERSION WORKDIR /out RUN curl -fL --retry 3 -o "${CRIO_VERSION}.tar.gz" \ "https://storage.googleapis.com/cri-o/artifacts/${CRIO_VERSION}.tar.gz" # ---- final exported artifact set ---- FROM scratch COPY --from=kubelet /out/ / COPY --from=kubeadm /out/ / COPY --from=kubectl /out/ / COPY --from=busybox /out/ / COPY --from=e2fsprogs /out/ / COPY --from=dpdk /out/ / COPY --from=fmlib /out/ / COPY --from=fmc /out/ / COPY --from=vpp /out/ / COPY --from=alpine_rootfs /out/ / COPY --from=nxp_linux /out/ / COPY --from=crio /out/ /