diff --git a/test/images/BUILD b/test/images/BUILD index ba74aece48..05abb52aff 100644 --- a/test/images/BUILD +++ b/test/images/BUILD @@ -29,6 +29,7 @@ filegroup( "//test/images/port-forward-tester:all-srcs", "//test/images/porter:all-srcs", "//test/images/resource-consumer:all-srcs", + "//test/images/sample-apiserver:all-srcs", "//test/images/serve-hostname:all-srcs", "//test/images/test-webserver:all-srcs", "//test/images/webhook:all-srcs", diff --git a/test/images/image-util.sh b/test/images/image-util.sh index fffd5f4b34..dcd958da34 100755 --- a/test/images/image-util.sh +++ b/test/images/image-util.sh @@ -70,6 +70,7 @@ build() { if [[ -f BASEIMAGE ]]; then BASEIMAGE=$(getBaseImage ${arch}) ${SED} -i "s|BASEIMAGE|${BASEIMAGE}|g" Dockerfile + ${SED} -i "s|BASEARCH|${arch}|g" Dockerfile fi # copy the qemu-*-static binary to docker image to build the multi architecture image on x86 platform diff --git a/test/images/sample-apiserver/BASEIMAGE b/test/images/sample-apiserver/BASEIMAGE new file mode 100644 index 0000000000..960ad547f9 --- /dev/null +++ b/test/images/sample-apiserver/BASEIMAGE @@ -0,0 +1,4 @@ +amd64=alpine:3.8 +arm=arm32v6/alpine:3.8 +arm64=arm64v8/alpine:3.8 +ppc64le=ppc64le/alpine:3.8 diff --git a/test/images/sample-apiserver/BUILD b/test/images/sample-apiserver/BUILD new file mode 100644 index 0000000000..7e76248ad9 --- /dev/null +++ b/test/images/sample-apiserver/BUILD @@ -0,0 +1,14 @@ +package(default_visibility = ["//visibility:public"]) + +filegroup( + name = "package-srcs", + srcs = glob(["**"]), + tags = ["automanaged"], + visibility = ["//visibility:private"], +) + +filegroup( + name = "all-srcs", + srcs = [":package-srcs"], + tags = ["automanaged"], +) diff --git a/test/images/sample-apiserver/Dockerfile b/test/images/sample-apiserver/Dockerfile new file mode 100644 index 0000000000..37e9394d3e --- /dev/null +++ b/test/images/sample-apiserver/Dockerfile @@ -0,0 +1,36 @@ +# Copyright 2018 The Kubernetes Authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +FROM k8s.gcr.io/kube-cross:v1.10.3-1 as build_k8s_1_7_sample_apiserver + +ENV GOPATH /go +RUN mkdir -p ${GOPATH}/src ${GOPATH}/bin +ENV PATH $GOPATH/bin:$PATH + +# The e2e aggregator test was originally added in #50347 and is designed to test ability to run a 1.7 +# sample-apiserver in newer releases. please see e2e test named "Should be able to support the 1.7 Sample +# API Server using the current Aggregator" +RUN go get -d k8s.io/sample-apiserver \ + && cd ${GOPATH}/src/k8s.io/sample-apiserver \ + && git checkout --track origin/release-1.7 \ + && CGO_ENABLED=0 GOOS=linux GOARCH=BASEARCH go install . + +# for arm, go install uses go/bin/linux_arm, so just find the file and copy it to the root so +# we can copy it out from this throw away container image from a standard location +RUN find /go/bin -name sample-apiserver -exec cp {} / \; + +FROM BASEIMAGE +COPY --from=build_k8s_1_7_sample_apiserver /sample-apiserver /sample-apiserver + +ENTRYPOINT ["/sample-apiserver"] diff --git a/test/images/sample-apiserver/VERSION b/test/images/sample-apiserver/VERSION new file mode 100644 index 0000000000..d3827e75a5 --- /dev/null +++ b/test/images/sample-apiserver/VERSION @@ -0,0 +1 @@ +1.0