FROM openshift/golang-builder:1.17 AS build-env

# cachito
COPY $REMOTE_SOURCE $REMOTE_SOURCE_DIR
WORKDIR $REMOTE_SOURCE_DIR/app

ENV GOOS=linux
ENV CGO_ENABLED=0
ENV BROKER_NAME=amq-broker

RUN export
RUN which go
RUN go version
RUN go build -v -o bin/${BROKER_NAME}-operator ${REMOTE_SOURCE_DIR}/app/main.go


FROM registry-proxy.engineering.redhat.com/rh-osbs/ubi8@sha256:e3311058176628ad7f0f288f894ed2afef61be77ad01d53d5b69bca0f6b6cec1 AS base-env

ENV BROKER_NAME=amq-broker
ENV OPERATOR=/home/${BROKER_NAME}-operator/bin/${BROKER_NAME}-operator
ENV USER_UID=1000
ENV USER_NAME=${BROKER_NAME}-operator
ENV CGO_ENABLED=0
ENV JBOSS_IMAGE_NAME="amq7/amq-broker-rhel8-operator"
ENV JBOSS_IMAGE_VERSION="7.10.3.OPR.1.CR3"

WORKDIR /
RUN mkdir -p /home/${BROKER_NAME}-operator/bin
COPY --from=build-env $REMOTE_SOURCE_DIR/app/entrypoint/entrypoint /home/${BROKER_NAME}-operator/bin
COPY --from=build-env $REMOTE_SOURCE_DIR/app/bin/${BROKER_NAME}-operator /home/${BROKER_NAME}-operator/bin

RUN chown -R `id -u`:0 /home/${BROKER_NAME}-operator/bin && chmod -R 755 /home/${BROKER_NAME}-operator/bin

# Upgrade packages
RUN dnf update -y --setopt=install_weak_deps=0 && rm -rf /var/cache/yum

USER ${USER_UID}
ENTRYPOINT ["/home/${BROKER_NAME}-operator/bin/entrypoint"]

LABEL com.redhat.component="amq-broker-rhel8-operator-container"
LABEL description="Red Hat AMQ Broker 7.10 Operator"
LABEL io.k8s.description="An associated operator that handles broker installation, updates and scaling."
LABEL io.k8s.display-name="Red Hat AMQ Broker 7.10 Operator"
LABEL io.openshift.expose-services=""
LABEL io.openshift.s2i.scripts-url="image:///usr/local/s2i"
LABEL io.openshift.tags="messaging,amq,integration,operator,golang"
LABEL maintainer="Roddie Kieley <rkieley@redhat.com>"
LABEL name="amq7/amq-broker-rhel8-operator"
LABEL summary="Red Hat AMQ Broker 7.10 Operator"
LABEL version="7.10.3"
