# This dockerfile is specific to building Multus for OpenShift
FROM openshift/golang-builder:rhel_8_golang_1.15 AS build
ENV __doozer=update BUILD_RELEASE=202108160002.p0.git.820a753.assembly.stream BUILD_VERSION=v4.7.0 OS_GIT_MAJOR=4 OS_GIT_MINOR=7 OS_GIT_PATCH=0 OS_GIT_TREE_STATE=clean OS_GIT_VERSION=4.7.0-202108160002.p0.git.820a753.assembly.stream SOURCE_GIT_TREE_STATE=clean 
ENV __doozer=merge KUBE_GIT_COMMIT=820a753bde1d75255a42e928bccb01c035ffe790 KUBE_GIT_MAJOR=1 KUBE_GIT_MINOR=18+ KUBE_GIT_TREE_STATE=clean KUBE_GIT_VERSION=v1.18.8+820a753 OS_GIT_COMMIT=820a753 OS_GIT_VERSION=4.7.0-202108160002.p0.git.820a753.assembly.stream-820a753 SOURCE_DATE_EPOCH=1625803576 SOURCE_GIT_COMMIT=820a753bde1d75255a42e928bccb01c035ffe790 SOURCE_GIT_TAG=820a753 SOURCE_GIT_URL=https://github.com/openshift/multus-networkpolicy 

# Add everything
ADD . /usr/src/multi-networkpolicy-iptables
WORKDIR /usr/src/multi-networkpolicy-iptables
RUN go build ./cmd/multi-networkpolicy-iptables/

FROM openshift/ose-base:v4.7.0.20210816.001929
ENV __doozer=update BUILD_RELEASE=202108160002.p0.git.820a753.assembly.stream BUILD_VERSION=v4.7.0 OS_GIT_MAJOR=4 OS_GIT_MINOR=7 OS_GIT_PATCH=0 OS_GIT_TREE_STATE=clean OS_GIT_VERSION=4.7.0-202108160002.p0.git.820a753.assembly.stream SOURCE_GIT_TREE_STATE=clean 
ENV __doozer=merge KUBE_GIT_COMMIT=820a753bde1d75255a42e928bccb01c035ffe790 KUBE_GIT_MAJOR=1 KUBE_GIT_MINOR=18+ KUBE_GIT_TREE_STATE=clean KUBE_GIT_VERSION=v1.18.8+820a753 OS_GIT_COMMIT=820a753 OS_GIT_VERSION=4.7.0-202108160002.p0.git.820a753.assembly.stream-820a753 SOURCE_DATE_EPOCH=1625803576 SOURCE_GIT_COMMIT=820a753bde1d75255a42e928bccb01c035ffe790 SOURCE_GIT_TAG=820a753 SOURCE_GIT_URL=https://github.com/openshift/multus-networkpolicy 
COPY --from=build /usr/src/multi-networkpolicy-iptables/multi-networkpolicy-iptables /usr/bin
WORKDIR /usr/bin


ENTRYPOINT ["multi-networkpolicy-iptables"]

LABEL \
        io.k8s.display-name="Multus NetworkPolicy" \
        io.k8s.description="This is a component of OpenShift Container Platform and provides NetworkPolicy objects for secondary interfaces created with Multus CNI" \
        io.openshift.tags="openshift" \
        maintainer="Doug Smith <dosmith@redhat.com>" \
        name="openshift/ose-multus-networkpolicy" \
        com.redhat.component="ose-multus-networkpolicy-container" \
        io.openshift.maintainer.product="OpenShift Container Platform" \
        io.openshift.maintainer.component="Networking" \
        io.openshift.maintainer.subcomponent="multus" \
        release="202108160002.p0.git.820a753.assembly.stream" \
        io.openshift.build.commit.id="820a753bde1d75255a42e928bccb01c035ffe790" \
        io.openshift.build.source-location="https://github.com/openshift/multus-networkpolicy" \
        io.openshift.build.commit.url="https://github.com/openshift/multus-networkpolicy/commit/820a753bde1d75255a42e928bccb01c035ffe790" \
        version="v4.7.0"

