File Dockerfile of Package kea-image
# SPDX-License-Identifier: MPL-2.0
# Copyright (c) 2026 SUSE LLC
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon.
# The content of THIS FILE IS AUTOGENERATED and should not be manually modified.
# It is maintained by the BCI team and generated by
# https://github.com/SUSE/BCI-dockerfile-generator
# Please submit bugfixes or comments via https://bugs.opensuse.org/
# You can contact the BCI team via https://github.com/SUSE/bci/discussions
#!UseOBSRepositories
#!BuildTag: suse/kea:3.0-%RELEASE%
#!BuildTag: suse/kea:3.0
#!BuildTag: suse/kea:latest
#!BuildName: suse-kea-3.0
#!BuildVersion: 16.0.3.0
FROM registry.suse.com/bci/bci-micro:16.0 AS target
FROM bci/bci-base:16.0 AS builder
COPY --from=target / /target
RUN set -euo pipefail; \
export PERMCTL_ALLOW_INSECURE_MODE_IF_NO_PROC=1; \
zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends kea sed util-linux
RUN set -euo pipefail; zypper -n install --no-recommends systemd && \
systemd-tmpfiles --create --root /target
# cleanup logs and temporary files
RUN set -euo pipefail; zypper -n --installroot /target clean -a; \
t=$(mktemp -d); mv /target/usr/lib/sysimage/rpm/Packages.db $t; rpmdb --rebuilddb --dbpath=$t; \
rm /target/usr/lib/sysimage/rpm/*.db && mv $t/Packages.db /target/usr/lib/sysimage/rpm/; \
rm -rf {/target,}/var/log/{alternatives.log,lastlog,tallylog,zypper.log,zypp/history,YaST2}; \
rm -rf {/target,}/run/*; \
rm -f {/target,}/etc/{shadow-,group-,passwd-,.pwd.lock}; \
rm -f {/target,}/usr/lib/sysimage/rpm/.rpm.lock; \
rm -f {/target,}/var/lib/zypp/AnonymousUniqueId; \
rm -f {/target,}/var/lib/zypp/AutoInstalled; \
rm -f {/target,}/var/cache/ldconfig/aux-cache
# set the day of last password change to empty
RUN set -euo pipefail; sed -i 's/^\([^:]*:[^:]*:\)[^:]*\(:.*\)$/\1\2/' /target/etc/shadow
FROM registry.suse.com/bci/bci-micro:16.0
COPY --from=builder /target /
RUN set -euo pipefail; rm -vf /usr/lib/sysimage/rpm/Index.db
# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=com.suse.application.kea
LABEL org.opencontainers.image.authors="https://github.com/SUSE/bci/discussions"
LABEL org.opencontainers.image.title="SUSE Linux Kea DHCP Server"
LABEL org.opencontainers.image.description="Kea DHCP Server container based on the SUSE Linux Base Container Image."
LABEL org.opencontainers.image.version="3.0"
LABEL org.opencontainers.image.url="https://www.suse.com/products/base-container-images/"
LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="SUSE LLC"
LABEL org.opencontainers.image.source="%SOURCEURL%"
LABEL org.opencontainers.image.ref.name="3.0-%RELEASE%"
LABEL org.opensuse.reference="registry.suse.com/suse/kea:3.0-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%"
LABEL com.suse.supportlevel="l3"
LABEL com.suse.eula="sle-eula"
LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle#suse-linux-enterprise-server-16"
LABEL com.suse.release-stage="released"
# endlabelprefix
LABEL org.opencontainers.image.base.name="%BASE_REFNAME%"
LABEL org.opencontainers.image.base.digest="%BASE_DIGEST%"
LABEL io.artifacthub.package.readme-url="%SOURCEURL_WITH(README.md)%"
LABEL run="podman run --replace -it --privileged --network=host --name kea-dhcp4 -v /etc/kea:/etc/kea IMAGE kea-dhcp4 -c /etc/kea/kea-dhcp4.conf"
LABEL runcwd="podman run --replace -it --privileged --network=host --name kea-dhcp4 -v .:/etc/kea IMAGE kea-dhcp4 -c /etc/kea/kea-dhcp4.conf"
LABEL run_dhcp6="podman run --replace -it --privileged --network=host --name kea-dhcp6 -v /etc/kea:/etc/kea IMAGE kea-dhcp6 -c /etc/kea/kea-dhcp6.conf"
LABEL runcwd_dhcp6="podman run --replace -it --privileged --network=host --name kea-dhcp6 -v .:/etc/kea IMAGE kea-dhcp6 -c /etc/kea/kea-dhcp6.conf"
EXPOSE 67/tcp 67/udp
ENV KEA_PIDFILE_DIR="/var/run/kea"
RUN set -euo pipefail; install -m 0750 -o root -g root -d /var/run/kea