forked from suse-edge/Factory
100 lines
3.5 KiB
Docker
100 lines
3.5 KiB
Docker
# SPDX-License-Identifier: Apache-2.0
|
|
#!BuildTag: %%IMG_PREFIX%%ironic-python-agent:3.0.8
|
|
#!BuildTag: %%IMG_PREFIX%%ironic-python-agent:3.0.8-%RELEASE%
|
|
ARG SLE_VERSION
|
|
FROM registry.suse.com/bci/bci-micro:$SLE_VERSION as target
|
|
FROM registry.suse.com/bci/bci-base:$SLE_VERSION as build
|
|
COPY --from=target / /target
|
|
|
|
RUN set -euo pipefail; mkdir -p /target
|
|
RUN set -euo pipefail; zypper --non-interactive --gpg-auto-import-keys --installroot /target install --no-recommends -- \
|
|
NetworkManager \
|
|
chrony \
|
|
dmidecode \
|
|
efibootmgr \
|
|
gptfdisk \
|
|
grub2-branding-SLE \
|
|
grub2-common \
|
|
grub2-x86_64-efi \
|
|
hdparm \
|
|
hwinfo \
|
|
ipmitool \
|
|
iproute2 \
|
|
iputils \
|
|
kbd \
|
|
kernel-default \
|
|
kernel-firmware-all \
|
|
krb5 \
|
|
lshw \
|
|
lvm2 \
|
|
mdadm \
|
|
net-tools \
|
|
nm-configurator \
|
|
open-iscsi \
|
|
openssh \
|
|
openstack-ironic-python-agent \
|
|
parted \
|
|
psmisc \
|
|
qemu-tools \
|
|
shim \
|
|
timezone \
|
|
which \
|
|
&& \
|
|
zypper --non-interactive --installroot /target remove -- \
|
|
kernel-firmware-amdgpu \
|
|
kernel-firmware-ath10k \
|
|
kernel-firmware-ath11k \
|
|
kernel-firmware-ath12k \
|
|
kernel-firmware-atheros \
|
|
kernel-firmware-bluetooth \
|
|
kernel-firmware-brcm \
|
|
kernel-firmware-i915 \
|
|
kernel-firmware-iwlwifi \
|
|
kernel-firmware-media \
|
|
kernel-firmware-nvidia \
|
|
kernel-firmware-qcom \
|
|
kernel-firmware-radeon \
|
|
kernel-firmware-realtek \
|
|
kernel-firmware-sound \
|
|
kernel-firmware-ueagle \
|
|
&& \
|
|
zypper clean --all && \
|
|
rm -rf /target/target
|
|
|
|
FROM scratch
|
|
|
|
# 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 Python Agent Bootable Container Image"
|
|
LABEL org.opencontainers.image.description="ironic-python-agent bootable image based on the SLE Base Container Image."
|
|
LABEL org.opencontainers.image.version="3.0.8"
|
|
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-python-agent:3.0.8-%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=build /target /
|
|
ADD root /
|
|
# Fix issue in IPA packaging while waiting for it to be fixed
|
|
RUN sed -E 's/ironic-python-agent.conf.d/ironic-python-agent.d/' /usr/lib/systemd/system/openstack-ironic-python-agent.service > /etc/systemd/system/openstack-ironic-python-agent.service && \
|
|
mv /etc/ironic-python-agent.conf.d /etc/ironic-python-agent.d
|
|
RUN ln -s sbin/init /init && \
|
|
systemctl enable \
|
|
openstack-ironic-python-agent \
|
|
suse-ironic-image-setup \
|
|
sshd \
|
|
NetworkManager \
|
|
&& \
|
|
echo 'DEFAULT_TIMEZONE="UTC"' >> /etc/sysconfig/clock
|
|
|
|
RUN sed -E 's/^(ExecStart=.*\/agetty).*(--noclear.*)/\1 \2 --autologin root/' /usr/lib/systemd/system/serial-getty@.service > /etc/systemd/system/autologin\@.service
|
|
RUN echo 'tmpfs /tmp tmpfs size=3G 0 0' >> /etc/fstab
|