46 lines
2.3 KiB
Docker
46 lines
2.3 KiB
Docker
# SPDX-License-Identifier: Apache-2.0
|
|
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.0
|
|
#!BuildTag: %%IMG_PREFIX%%ironic-ipa-downloader:3.0.0-%RELEASE%
|
|
#!BuildVersion: 15.6
|
|
ARG SLE_VERSION
|
|
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION AS micro
|
|
|
|
FROM registry.suse.com/bci/bci-base:$SLE_VERSION AS base
|
|
COPY --from=micro / /installroot/
|
|
RUN sed -i -e 's%^# rpm.install.excludedocs = no.*%rpm.install.excludedocs = yes%g' /etc/zypp/zypp.conf
|
|
RUN zypper --installroot /installroot --non-interactive install --no-recommends ironic-ipa-ramdisk-x86_64 python311-devel python311 python311-pip tar gawk git curl xz fakeroot shadow sed cpio; zypper -n clean; rm -rf /var/log/*
|
|
#RUN zypper --installroot /installroot --non-interactive install --no-recommends sles-release;
|
|
RUN cp /usr/bin/getopt /installroot/
|
|
|
|
FROM micro AS final
|
|
|
|
# Define labels according to https://en.opensuse.org/Building_derived_containers
|
|
# labelprefix=com.suse.application.ironic
|
|
LABEL org.opencontainers.image.authors="SUSE LLC (https://www.suse.com/)"
|
|
LABEL org.opencontainers.image.title="SLE Based Ironic IPA Downloader Container Image"
|
|
LABEL org.opencontainers.image.description="ironic-ipa-downloader based on the SLE Base Container Image."
|
|
LABEL org.opencontainers.image.version="3.0.0"
|
|
LABEL org.opencontainers.image.url="https://www.suse.com/solutions/edge-computing/"
|
|
LABEL org.opencontainers.image.created="%BUILDTIME%"
|
|
LABEL org.opencontainers.image.vendor="SUSE LLC"
|
|
LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%ironic-ipa-downloader:3.0.0-%RELEASE%"
|
|
LABEL org.openbuildservice.disturl="%DISTURL%"
|
|
LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%"
|
|
LABEL com.suse.eula="SUSE Combined EULA February 2024"
|
|
LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle"
|
|
LABEL com.suse.image-type="application"
|
|
LABEL com.suse.release-stage="released"
|
|
# endlabelprefix
|
|
|
|
COPY --from=base /installroot /
|
|
RUN cp /getopt /usr/bin/
|
|
RUN cp /srv/tftpboot/openstack-ironic-image/initrd.xz /tmp
|
|
RUN cp /srv/tftpboot/openstack-ironic-image/openstack-ironic-image*.kernel /tmp
|
|
# configure non-root user
|
|
COPY configure-nonroot.sh /bin/
|
|
RUN set -euo pipefail; chmod +x /bin/configure-nonroot.sh
|
|
RUN set -euo pipefail; /bin/configure-nonroot.sh && rm -f /bin/configure-nonroot.sh
|
|
COPY get-resource.sh /usr/local/bin/get-resource.sh
|
|
|
|
RUN set -euo pipefail; chmod +x /usr/local/bin/get-resource.sh
|