diff --git a/Dockerfile b/Dockerfile index 66d975c1..355eef9d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,15 +7,7 @@ RUN ./build_linux.sh && \ cd /usr/src/plugins/bin WORKDIR / -FROM registry.ci.openshift.org/ocp/builder:rhel-8-golang-1.25-openshift-4.22 AS rhel8 -COPY . /usr/src/plugins -WORKDIR /usr/src/plugins -ENV CGO_ENABLED=0 -RUN ./build_linux.sh && \ - cd /usr/src/plugins/bin -WORKDIR / - -FROM registry.ci.openshift.org/ocp/builder:rhel-8-golang-1.25-openshift-4.22 AS windows +FROM registry.ci.openshift.org/ocp/builder:rhel-9-golang-1.25-openshift-4.22 AS windows COPY . /usr/src/plugins WORKDIR /usr/src/plugins ENV CGO_ENABLED=0 @@ -25,13 +17,10 @@ WORKDIR / FROM registry.ci.openshift.org/ocp/4.22:base-rhel9 RUN mkdir -p /usr/src/plugins/bin && \ - mkdir -p /usr/src/plugins/rhel8/bin && \ mkdir -p /usr/src/plugins/rhel9/bin && \ mkdir -p /usr/src/plugins/windows/bin -COPY --from=rhel8 /usr/src/plugins/bin/* /usr/src/plugins/rhel8/bin/ -# pod container image is RHEL8 based, so use rhel8 -COPY --from=rhel8 /usr/src/plugins/bin/* /usr/src/plugins/bin/ -COPY --from=rhel9 /usr/src/plugins/bin/* /usr/src/plugins/rhel9/bin/ +COPY --from=rhel9 /usr/src/plugins/bin/* /usr/src/plugins/bin/ +RUN ln /usr/src/plugins/bin/* /usr/src/plugins/rhel9/bin/ COPY --from=windows /usr/src/plugins/bin/* /usr/src/plugins/windows/bin/ LABEL io.k8s.display-name="Container Networking Plugins" \ diff --git a/build_linux.sh b/build_linux.sh index b6d054e7..99ee3340 100755 --- a/build_linux.sh +++ b/build_linux.sh @@ -10,6 +10,9 @@ export GOFLAGS="${GOFLAGS} -mod=vendor" mkdir -p "${PWD}/bin" +# Prepend -s -w to any caller-supplied ldflags so strip flags are always present. +LDFLAGS="-s -w ${LDFLAGS:-}" + echo "Building plugins ${GOOS}" PLUGINS="plugins/meta/* plugins/main/* plugins/ipam/*" for d in $PLUGINS; do @@ -17,7 +20,7 @@ for d in $PLUGINS; do plugin="$(basename "$d")" if [ "${plugin}" != "windows" ]; then echo " $plugin" - ${GO:-go} build -o "${PWD}/bin/$plugin" "$@" ./"$d" + ${GO:-go} build -o "${PWD}/bin/$plugin" -ldflags "$LDFLAGS" "$@" ./"$d" fi fi done