#!BuildTag: trento/trento-runner:latest
#!BuildTag: trento/trento-runner:1.0.0
#!BuildTag: trento/trento-runner:1.0.0-rev1.1.0
#!BuildTag: trento/trento-runner:1.0.0-rev1.1.0-build%RELEASE%
FROM suse/sle15:15.3 AS build

# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=com.suse.trento

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

COPY vendor.tar.gz /tmp/vendor.tar.gz
COPY runner.tar.gz /tmp/runner.tar.gz

WORKDIR /tmp
RUN pwd
RUN ls
RUN tar -xvzf runner.tar.gz
RUN tar -xvzf vendor.tar.gz
RUN cp -r /tmp/vendor /tmp/runner-1.0.0

WORKDIR /tmp/runner-1.0.0
RUN CGO_ENABLED=0 go build -o trento-runner -mod=vendor

FROM suse/sle15:15.3 AS trento-runner
# Define labels according to https://en.opensuse.org/Building_derived_containers
# labelprefix=com.suse.trento
PREFIXEDLABEL org.opencontainers.image.title="Trento runner premium"
PREFIXEDLABEL org.opencontainers.image.description="This contains trento-premium runner 1.0.0"
PREFIXEDLABEL org.opensuse.reference="registry.suse.com/trento/trento-runner:1.0.0"
PREFIXEDLABEL org.openbuildservice.disturl="%DISTURL%"
PREFIXEDLABEL org.opencontainers.image.created="%BUILDTIME%"

# tar is required by kubectl cp
RUN zypper -n in tar tini
RUN zypper --non-interactive in openssh python3 python3-rpm python3-requests python3-PyYAML python3-Jinja2 ansible-core

# 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

COPY --from=build /tmp/runner-1.0.0/trento-runner /usr/bin

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