FROM openshift/golang-builder:1.12 AS builder
ENV OS_GIT_MAJOR=4 OS_GIT_MINOR=2 OS_GIT_PATCH=22 OS_GIT_VERSION=4.2.22-202003020552-7bf1aa8 OS_GIT_TREE_STATE=clean SOURCE_GIT_COMMIT=7bf1aa8977ccaadf832b8658c458adb8e38d8af3 SOURCE_GIT_TAG=v0.0.0-alpha.0-74-g7bf1aa89 SOURCE_GIT_URL=https://github.com/openshift/sdn SOURCE_DATE_EPOCH=1582755788 OS_GIT_COMMIT=7bf1aa8 BUILD_VERSION=v4.2.22 BUILD_RELEASE=202003020552
WORKDIR /go/src/github.com/openshift/sdn
COPY . .
RUN CGO_ENABLED=0 make build --warn-undefined-variables

FROM openshift/ose-base:v4.2.22.20200302.055253
ENV OS_GIT_MAJOR=4 OS_GIT_MINOR=2 OS_GIT_PATCH=22 OS_GIT_VERSION=4.2.22-202003020552-7bf1aa8 OS_GIT_TREE_STATE=clean SOURCE_GIT_COMMIT=7bf1aa8977ccaadf832b8658c458adb8e38d8af3 SOURCE_GIT_TAG=v0.0.0-alpha.0-74-g7bf1aa89 SOURCE_GIT_URL=https://github.com/openshift/sdn SOURCE_DATE_EPOCH=1582755788 OS_GIT_COMMIT=7bf1aa8 BUILD_VERSION=v4.2.22 BUILD_RELEASE=202003020552
COPY --from=builder /go/src/github.com/openshift/sdn/openshift-sdn /usr/bin/
COPY --from=builder /go/src/github.com/openshift/sdn/sdn-cni-plugin /opt/cni/bin/openshift-sdn

RUN INSTALL_PKGS=" \
      openvswitch2.11 container-selinux socat ethtool nmap-ncat \
      libmnl libnetfilter_conntrack conntrack-tools \
      libnfnetlink iproute bridge-utils procps-ng openssl \
      iputils binutils xz sysvinit-tools dbus nftables \
      " && \
    yum install -y --setopt=tsflags=nodocs --setopt=skip_missing_names_on_install=False $INSTALL_PKGS && \
    mkdir -p /etc/sysconfig/cni/net.d && \
    yum clean all && rm -rf /var/cache/*

COPY ./images/iptables-scripts/iptables /usr/sbin/
COPY ./images/iptables-scripts/iptables-save /usr/sbin/
COPY ./images/iptables-scripts/iptables-restore /usr/sbin/
COPY ./images/iptables-scripts/ip6tables /usr/sbin/
COPY ./images/iptables-scripts/ip6tables-save /usr/sbin/
COPY ./images/iptables-scripts/ip6tables-restore /usr/sbin/

ENTRYPOINT [ "/usr/bin/openshift-sdn" ]

LABEL \
        io.k8s.display-name="OpenShift SDN" \
        io.k8s.description="This is a component of OpenShift and contains the networking tool stack for the default SDN implementation." \
        io.openshift.tags="openshift,sdn" \
        name="openshift/ose-node" \
        com.redhat.component="ose-node-container" \
        version="v4.2.22" \
        release="202003020552" \
        io.openshift.build.commit.id="7bf1aa8977ccaadf832b8658c458adb8e38d8af3" \
        io.openshift.build.source-location="https://github.com/openshift/sdn" \
        io.openshift.build.commit.url="https://github.com/openshift/sdn/commit/7bf1aa8977ccaadf832b8658c458adb8e38d8af3"

