File Dockerfile.operator of Package kubevirt-image
# SPDX-License-Identifier: Apache-2.0
# Copyright (c) 2025 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
#!ExclusiveArch: x86_64
#!BuildTag: opensuse/virt-operator:%%kubevirt_ver%%-operator-%RELEASE%
#!BuildTag: opensuse/virt-operator:%%kubevirt_ver%%-operator
#!BuildTag: opensuse/virt-operator:1.6-operator
#!BcntSyncTag: kubevirt-image
FROM opensuse/bci/bci-micro:latest AS target
FROM opensuse/tumbleweed:latest 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 kubevirt-virt-operator shadow
# sanity check that the version from the tag is equal to the version of kubevirt-virt-operator that we expect
RUN set -euo pipefail; \
[ "$(rpm --root /target -q --qf '%{version}' kubevirt-virt-operator | \
cut -d '.' -f -3)" = "1.6.0" ]
RUN set -euo pipefail; useradd -u 1001 --create-home -s /bin/bash virt-operator
RUN set -euo pipefail; zypper -n --installroot /target clean -a; \
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/cache/ldconfig/aux-cache; \
command -v zypper >/dev/null 2>&1 || rm -f /var/lib/zypp/AutoInstalled
FROM opensuse/bci/bci-micro:latest
COPY --from=builder /target /
# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=org.opensuse.application.virt-operator
LABEL org.opencontainers.image.title="openSUSE Tumbleweed KubeVirt virt-operator container"
LABEL org.opencontainers.image.description="KubeVirt virt-operator container container based on the openSUSE Tumbleweed Base Container Image."
LABEL org.opencontainers.image.version="%%kubevirt_ver%%"
LABEL org.opencontainers.image.url="https://www.opensuse.org"
LABEL org.opencontainers.image.created="%BUILDTIME%"
LABEL org.opencontainers.image.vendor="openSUSE Project"
LABEL org.opencontainers.image.source="%SOURCEURL%"
LABEL org.opencontainers.image.ref.name="%%kubevirt_ver%%-operator-%RELEASE%"
LABEL org.opensuse.reference="registry.opensuse.org/opensuse/virt-operator:%%kubevirt_ver%%-operator-%RELEASE%"
LABEL org.openbuildservice.disturl="%DISTURL%"
LABEL org.opensuse.lifecycle-url="https://en.opensuse.org/Lifetime#openSUSE_BCI"
LABEL org.opensuse.release-stage="released"
# endlabelprefix
LABEL io.artifacthub.package.readme-url="%SOURCEURL_WITH(README.operator.md)%"
ENTRYPOINT ["/usr/bin/virt-operator"]
COPY --from=builder /etc/passwd /etc/passwd
COPY --from=builder /etc/group /etc/group
COPY --from=builder /home/virt-operator /home/virt-operator
USER 1001