# This dockerfile is specific to building Multus admission controller for OpenShift
FROM openshift/golang-builder:rhel_8_golang_1.15 AS builder
ENV __doozer=update BUILD_RELEASE=202109030220.p0.git.de9b6e1.assembly.stream BUILD_VERSION=v4.6.0 OS_GIT_MAJOR=4 OS_GIT_MINOR=6 OS_GIT_PATCH=0 OS_GIT_TREE_STATE=clean OS_GIT_VERSION=4.6.0-202109030220.p0.git.de9b6e1.assembly.stream SOURCE_GIT_TREE_STATE=clean 
ENV __doozer=merge OS_GIT_COMMIT=de9b6e1 OS_GIT_VERSION=4.6.0-202109030220.p0.git.de9b6e1.assembly.stream-de9b6e1 SOURCE_DATE_EPOCH=1610768076 SOURCE_GIT_COMMIT=de9b6e18cc0d3047cb05185e09b9e2e8bb3c5c34 SOURCE_GIT_TAG=de9b6e1 SOURCE_GIT_URL=https://github.com/openshift/multus-admission-controller 

# Add everything
ENV PKG_NAME=github.com/k8snetworkplumbingwg/net-attach-def-admission-controller
ENV PKG_PATH=/go/src/$PKG_NAME
ENV GO111MODULE=off
RUN mkdir -p $PKG_PATH

COPY . $PKG_PATH/
WORKDIR $PKG_PATH
# RUN go install ./...
RUN ./build.sh

WORKDIR /

FROM openshift/ose-base:v4.6.0.20210903.023232
ENV __doozer=update BUILD_RELEASE=202109030220.p0.git.de9b6e1.assembly.stream BUILD_VERSION=v4.6.0 OS_GIT_MAJOR=4 OS_GIT_MINOR=6 OS_GIT_PATCH=0 OS_GIT_TREE_STATE=clean OS_GIT_VERSION=4.6.0-202109030220.p0.git.de9b6e1.assembly.stream SOURCE_GIT_TREE_STATE=clean 
ENV __doozer=merge OS_GIT_COMMIT=de9b6e1 OS_GIT_VERSION=4.6.0-202109030220.p0.git.de9b6e1.assembly.stream-de9b6e1 SOURCE_DATE_EPOCH=1610768076 SOURCE_GIT_COMMIT=de9b6e18cc0d3047cb05185e09b9e2e8bb3c5c34 SOURCE_GIT_TAG=de9b6e1 SOURCE_GIT_URL=https://github.com/openshift/multus-admission-controller 
COPY --from=builder /go/src/github.com/k8snetworkplumbingwg/net-attach-def-admission-controller/bin/webhook /usr/bin/


CMD ["/usr/bin/webhook"]

LABEL \
        io.k8s.display-name="Container Networking Plugins" \
        io.k8s.description="This is a component of OpenShift Container Platform and provides an admission controller for Multus CNI custom resources." \
        io.openshift.tags="openshift" \
        maintainer="Doug Smith <dosmith@redhat.com>" \
        name="openshift/ose-multus-admission-controller" \
        com.redhat.component="ose-multus-admission-controller-container" \
        io.openshift.maintainer.product="OpenShift Container Platform" \
        io.openshift.maintainer.component="Networking" \
        io.openshift.maintainer.subcomponent="multus" \
        release="202109030220.p0.git.de9b6e1.assembly.stream" \
        io.openshift.build.commit.id="de9b6e18cc0d3047cb05185e09b9e2e8bb3c5c34" \
        io.openshift.build.source-location="https://github.com/openshift/multus-admission-controller" \
        io.openshift.build.commit.url="https://github.com/openshift/multus-admission-controller/commit/de9b6e18cc0d3047cb05185e09b9e2e8bb3c5c34" \
        version="v4.6.0"

