# SPDX-License-Identifier: Apache-2.0
#!BuildTag: trento/trento-runner:latest
#!BuildTag: trento/trento-runner:1.1.0
#!BuildTag: trento/trento-runner:1.1.0-build%RELEASE%
FROM bci/bci-base:15.3

# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=com.suse.trento
PREFIXEDLABEL org.opencontainers.image.title="Trento runner"
PREFIXEDLABEL org.opencontainers.image.description="This contains trento runner 1.1.0+git.dev1.1667572754.cb7163c"
PREFIXEDLABEL org.opensuse.reference="registry.suse.com/trento/trento-runner:1.1.0+git.dev1.1667572754.cb7163c"
PREFIXEDLABEL org.openbuildservice.disturl="%DISTURL%"
PREFIXEDLABEL org.opencontainers.image.created="%BUILDTIME%"

# Workaround for https://github.com/openSUSE/obs-build/issues/487
RUN zypper --non-interactive in sles-release
RUN zypper --non-interactive in tar gzip make go1.16

COPY runner-1.1.0+git.dev1.1667572754.cb7163c.tar.gz premium-checks.tar.gz* /build/
COPY vendor.tar.gz /build/

WORKDIR /build/
RUN tar -xvzf runner-1.1.0+git.dev1.1667572754.cb7163c.tar.gz
RUN tar -xvzf vendor.tar.gz -C runner-1.1.0+git.dev1.1667572754.cb7163c/

# The next RUN only works if the premium-checks.tar.gz file is present
RUN tar --transform 'flags=r;s/^premium-checks//' -xvzf premium-checks.tar.gz -C runner-1.1.0+git.dev1.1667572754.cb7163c/ || true

WORKDIR /build/runner-1.1.0+git.dev1.1667572754.cb7163c
RUN VERSION=1.1.0 FLAVOR=Premium make build
RUN cp /build/runner-1.1.0+git.dev1.1667572754.cb7163c/trento-runner /usr/bin/trento-runner

# Install Ansible dependecies
RUN zypper --non-interactive in openssh python3 python3-rpm python3-requests python3-PyYAML python3-Jinja2 ansible-core tini

# Temporary solution until we have ansible-4.6.0 packaged in IBS
COPY ansible-4.6.0.tar.gz /tmp/ansible-4.6.0.tar.gz
RUN zypper --non-interactive in python3-pip
RUN pip install --no-index --find-links /tmp /tmp/ansible-4.6.0.tar.gz

LABEL org.opencontainers.image.source="https://github.com/trento-project/runner"
ENTRYPOINT ["/tini", "--", "/usr/bin/trento-runner"]
