# SPDX-License-Identifier: Apache-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/registry:%%registry_version%%-%RELEASE%
#!BuildTag: suse/registry:%%registry_version%%
#!BuildTag: suse/registry:2.8
#!BuildTag: suse/registry:latest
#!BuildName: suse-registry
#!BuildVersion: 15.7.2.8
#!BuildRelease: 15
FROM registry.suse.com/bci/bci-micro:15.7 AS target
FROM suse/sle15:15.7 AS builder
COPY --from=target / /target

RUN set -euo pipefail; \
    export CHKSTAT_ALLOW_INSECURE_MODE_IF_NO_PROC=1; \
    zypper -n --installroot /target --gpg-auto-import-keys install --no-recommends apache2-utils ca-certificates-mozilla distribution-registry
# sanity check that the version from the tag is equal to the version of distribution-registry that we expect
RUN set -euo pipefail; \
    [ "$(rpm --root /target -q --qf '%{version}' distribution-registry | \
    cut -d '.' -f -2)" = "2.8" ]
# Avoid blkid waiting on udev (bsc#1247914)
RUN set -euo pipefail; sed -i -e 's/^EVALUATE=.*/EVALUATE=scan/g' /etc/blkid.conf


# cleanup logs and temporary files
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

# 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:15.7
COPY --from=builder /target /
# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=com.suse.application.registry
LABEL org.opencontainers.image.authors="https://github.com/SUSE/bci/discussions"
LABEL org.opencontainers.image.title="SLE OCI Container Registry (Distribution)"
LABEL org.opencontainers.image.description="OCI Container Registry (Distribution) container based on the SUSE Linux Enterprise Base Container Image."
LABEL org.opencontainers.image.version="%%registry_version%%"
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="%%registry_version%%-%RELEASE%"
LABEL org.opensuse.reference="registry.suse.com/suse/registry:%%registry_version%%-%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-15"
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)%"
ENTRYPOINT ["/usr/bin/registry"]
CMD ["serve", "/etc/registry/config.yml"]
EXPOSE 5000/tcp
COPY --from=builder /etc/blkid.conf /etc
USER registry
VOLUME /var/lib/docker-registry
