# This dockerfile is specific to building Multus for OpenShift
FROM openshift/golang-builder@sha256:ab1bfcb9d06b339cb767acb804e6aa82eb23cd0795e6f82af54e92c312a32777 AS rhel8
ENV __doozer=update BUILD_RELEASE=202201211922.p0.gfc27124.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-202201211922.p0.gfc27124.assembly.stream SOURCE_GIT_TREE_STATE=clean 
ENV __doozer=merge OS_GIT_COMMIT=fc27124 OS_GIT_VERSION=4.7.0-202201211922.p0.gfc27124.assembly.stream-fc27124 SOURCE_DATE_EPOCH=1605121161 SOURCE_GIT_COMMIT=fc27124d43b9dc995057b1f309d5f16e1b2ef151 SOURCE_GIT_TAG=fc27124 SOURCE_GIT_URL=https://github.com/openshift/containernetworking-plugins 
ADD . /usr/src/plugins
WORKDIR /usr/src/plugins
ENV CGO_ENABLED=0
RUN ./build_linux.sh && \
    cd /usr/src/plugins/bin
WORKDIR /

FROM openshift/golang-builder@sha256:a777e42f935d9f822f37601fe674c0a9dc4e54234ffc3f02a70b7fc5e0d6c88f AS rhel7
ENV __doozer=update BUILD_RELEASE=202201211922.p0.gfc27124.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-202201211922.p0.gfc27124.assembly.stream SOURCE_GIT_TREE_STATE=clean 
ENV __doozer=merge OS_GIT_COMMIT=fc27124 OS_GIT_VERSION=4.7.0-202201211922.p0.gfc27124.assembly.stream-fc27124 SOURCE_DATE_EPOCH=1605121161 SOURCE_GIT_COMMIT=fc27124d43b9dc995057b1f309d5f16e1b2ef151 SOURCE_GIT_TAG=fc27124 SOURCE_GIT_URL=https://github.com/openshift/containernetworking-plugins 
ADD . /usr/src/plugins
WORKDIR /usr/src/plugins
ENV CGO_ENABLED=0
RUN ./build_linux.sh && \
    cd /usr/src/plugins/bin
WORKDIR /

FROM openshift/golang-builder@sha256:ab1bfcb9d06b339cb767acb804e6aa82eb23cd0795e6f82af54e92c312a32777 AS windows
ENV __doozer=update BUILD_RELEASE=202201211922.p0.gfc27124.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-202201211922.p0.gfc27124.assembly.stream SOURCE_GIT_TREE_STATE=clean 
ENV __doozer=merge OS_GIT_COMMIT=fc27124 OS_GIT_VERSION=4.7.0-202201211922.p0.gfc27124.assembly.stream-fc27124 SOURCE_DATE_EPOCH=1605121161 SOURCE_GIT_COMMIT=fc27124d43b9dc995057b1f309d5f16e1b2ef151 SOURCE_GIT_TAG=fc27124 SOURCE_GIT_URL=https://github.com/openshift/containernetworking-plugins 
ADD . /usr/src/plugins
WORKDIR /usr/src/plugins
ENV CGO_ENABLED=0
RUN ./build_windows.sh && \
    cd /usr/src/plugins/bin
WORKDIR /

FROM openshift/ose-base:v4.7.0-202201082234.p0.g0e45f63.assembly.stream
ENV __doozer=update BUILD_RELEASE=202201211922.p0.gfc27124.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-202201211922.p0.gfc27124.assembly.stream SOURCE_GIT_TREE_STATE=clean 
ENV __doozer=merge OS_GIT_COMMIT=fc27124 OS_GIT_VERSION=4.7.0-202201211922.p0.gfc27124.assembly.stream-fc27124 SOURCE_DATE_EPOCH=1605121161 SOURCE_GIT_COMMIT=fc27124d43b9dc995057b1f309d5f16e1b2ef151 SOURCE_GIT_TAG=fc27124 SOURCE_GIT_URL=https://github.com/openshift/containernetworking-plugins 
RUN mkdir -p /usr/src/plugins/bin && \
    mkdir -p /usr/src/plugins/rhel7/bin && \
    mkdir -p /usr/src/plugins/rhel8/bin && \
    mkdir -p /usr/src/plugins/windows/bin
COPY --from=rhel7 /usr/src/plugins/bin/* /usr/src/plugins/rhel7/bin/
COPY --from=rhel8 /usr/src/plugins/bin/* /usr/src/plugins/bin/
COPY --from=rhel8 /usr/src/plugins/bin/* /usr/src/plugins/rhel8/bin/
COPY --from=windows /usr/src/plugins/bin/* /usr/src/plugins/windows/bin/

LABEL \
        io.k8s.display-name="Container Networking Plugins" \
        io.k8s.description="This is a component of OpenShift Container Platform and provides the reference CNI plugins." \
        io.openshift.tags="openshift" \
        maintainer="Doug Smith <dosmith@redhat.com>" \
        name="openshift/ose-container-networking-plugins" \
        com.redhat.component="ose-containernetworking-plugins-container" \
        io.openshift.maintainer.product="OpenShift Container Platform" \
        io.openshift.maintainer.component="Networking" \
        io.openshift.maintainer.subcomponent="multus" \
        release="202201211922.p0.gfc27124.assembly.stream" \
        io.openshift.build.commit.id="fc27124d43b9dc995057b1f309d5f16e1b2ef151" \
        io.openshift.build.source-location="https://github.com/openshift/containernetworking-plugins" \
        io.openshift.build.commit.url="https://github.com/openshift/containernetworking-plugins/commit/fc27124d43b9dc995057b1f309d5f16e1b2ef151" \
        version="v4.7.0"

