SHA256
1
0
forked from suse-edge/Factory
Files
Factory/ironic-python-agent-image/Dockerfile
2026-02-10 16:31:23 +01:00

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