#@follow_tag(registry-proxy.engineering.redhat.com/rh-osbs/openshift-golang-builder:1.13)
FROM registry-proxy.engineering.redhat.com/rh-osbs/openshift-golang-builder:v1.13.4-100 AS builder

ENV GOPATH=/go

ARG upstream_version=4.5.0-0.beta.0-268-ge7681ae
ARG upstream_commit=e7681ae6e00d6bc1fcae2707e7eabcfbbb157ff4
ARG archive=performance-addon-operator-e7681ae6e00d6bc1fcae2707e7eabcfbbb157ff4.tar.gz

ARG project_dir=${GOPATH}/src/github.com/openshift-kni/performance-addon-operators
ARG upstream_version_number=4.6.0
ARG upstream_manifests=${project_dir}/deploy/olm-catalog/performance-addon-operator/${upstream_version_number}
ARG upstream_csv=${upstream_manifests}/performance-addon-operator.v${upstream_version_number}.clusterserviceversion.yaml
ARG downstream_version_number=4.6.0
ARG manifests_dir=/usr/local/manifests/performance-addon-operator

RUN mkdir -p /customizations
RUN mkdir -p ${manifests_dir}

COPY ${archive} /
COPY customizations/* /customizations/

RUN mkdir -p ${project_dir} && tar -xzf /${archive} --strip-components 1 -C ${project_dir}
WORKDIR ${project_dir}

RUN make dist

RUN make dist-tools
RUN ${project_dir}/build/_output/bin/csv-generator \
	--operator-image "REPLACE_IMAGE" \
	--csv-version "${downstream_version_number}" \
	--operator-csv-template-file "${upstream_csv}" \
	--olm-bundle-directory "${manifests_dir}" \
	--maintainers-from "/customizations/maintainers.json" \
	--annotations-from "/customizations/annotations.json"
RUN cp ${upstream_manifests}/performance.openshift.io_performanceprofiles_crd.yaml ${manifests_dir}

# see: https://docs.engineering.redhat.com/pages/viewpage.action?spaceKey=RHAPPINFRA&title=Container+images+to+inherit+from

#@follow_tag(registry.redhat.io/ubi8/ubi-minimal)
FROM registry.redhat.io/ubi8/ubi-minimal:8.2-349

# TODO duplicates the above
ENV GOPATH=/go
ARG project_dir=${GOPATH}/src/github.com/openshift-kni/performance-addon-operators
ARG manifests_dir=/usr/local/manifests/performance-addon-operator
ARG zversion=0

RUN mkdir -p ${manifests_dir}

COPY --from=builder ${project_dir}/build/assets /assets
COPY --from=builder ${project_dir}/build/_output/bin/performance-addon-operators /bin/performance-operator
COPY --from=builder ${manifests_dir} ${manifests_dir}
COPY --from=builder ${project_dir}/build/_output/bin/csv-replace-imageref /usr/local/bin
COPY scripts /usr/local/bin

ENTRYPOINT ["/bin/performance-operator"]

LABEL com.redhat.component="performance-addon-operator-container" \
      name="openshift4/performance-addon-rhel8-operator" \
      version="v4.6.${zversion}" \
      upstream-version="4.5.0-0.beta.0-268-ge7681ae" \
      upstream-vcs-ref="e7681ae6e00d6bc1fcae2707e7eabcfbbb157ff4" \
      upstream-vcs-type="git" \
      summary="performance-addon-operator" \
      io.openshift.expose-services="" \
      io.openshift.tags="operator" \
      io.k8s.display-name="performance-addon-operator" \
      maintainer="openshift-operators@redhat.com" \
      description="performance-addon-operator" \
      io.openshift.maintainer.component="Performance Addon Operator" \
      io.openshift.maintainer.product="OpenShift Container Platform"
