diff --git a/.travis.yml b/.travis.yml index 8f669217f..c40926a84 100644 --- a/.travis.yml +++ b/.travis.yml @@ -63,3 +63,7 @@ jobs: if: type = api AND branch = master AND repo = kubernetes/ingress-nginx script: - ARCH=ppc64le .travis/publish.sh + - stage: publish s390x + if: type = api AND branch = master AND repo = kubernetes/ingress-nginx + script: + - ARCH=s390x .travis/publish.sh diff --git a/.travis/nginx-slim.sh b/.travis/nginx.sh similarity index 70% rename from .travis/nginx-slim.sh rename to .travis/nginx.sh index 58e88cce3..bb5966b25 100755 --- a/.travis/nginx-slim.sh +++ b/.travis/nginx.sh @@ -18,13 +18,13 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" source $DIR/common.sh -IMAGE=$(make -s -C $DIR/../images/nginx-slim image-info) +IMAGE=$(make -s -C $DIR/../images/nginx image-info) -if docker_tag_exists "kubernetes-ingress-controller/nginx-slim" $(echo $IMAGE | jq .tag) "$ARCH"; then +if docker_tag_exists "kubernetes-ingress-controller/nginx" $(echo $IMAGE | jq .tag) "$ARCH"; then echo "Image already published" exit 0 fi -echo "building nginx-slim-$ARCH image..." -make -C $DIR/../images/nginx-slim sub-container-$ARCH -make -C $DIR/../images/nginx-slim sub-push-$ARCH +echo "building nginx-$ARCH image..." +make -C $DIR/../images/nginx sub-container-$ARCH +make -C $DIR/../images/nginx sub-push-$ARCH diff --git a/.travis/publish.sh b/.travis/publish.sh index 7f56e4095..a06f105de 100755 --- a/.travis/publish.sh +++ b/.travis/publish.sh @@ -25,11 +25,8 @@ case "$COMPONENT" in "ingress-controller") $DIR/ingress-controller.sh ;; -"ubuntu-slim") - $DIR/ubuntu-slim.sh - ;; -"nginx-slim") - $DIR/nginx-slim.sh +"nginx") + $DIR/nginx.sh ;; *) echo "Invalid option in environment variable COMPONENT" diff --git a/.travis/release-from-travis.sh b/.travis/release-from-travis.sh index 06d360567..539bb291d 100755 --- a/.travis/release-from-travis.sh +++ b/.travis/release-from-travis.sh @@ -57,7 +57,7 @@ EOF } case "$1" in - ingress-controller|ubuntu-slim|nginx-slim) + ingress-controller|nginx) publish $TRAVIS_CI_TOKEN $1 ;; *) diff --git a/.travis/ubuntu-slim.sh b/.travis/ubuntu-slim.sh deleted file mode 100755 index b090d3e66..000000000 --- a/.travis/ubuntu-slim.sh +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/env bash - -# Copyright 2017 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. - -DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - -source $DIR/common.sh - -IMAGE=$(make -s -C $DIR/../images/ubuntu-slim image-info) - -if docker_tag_exists "kubernetes-ingress-controller/ubuntu-slim" $(echo $IMAGE | jq .tag) "$ARCH"; then - echo "Image already published" - exit 0 -fi - -echo "building ubuntu-slim-$ARCH image..." -make -C $DIR/../images/ubuntu-slim sub-container-$ARCH -make -C $DIR/../images/ubuntu-slim sub-push-$ARCH diff --git a/Makefile b/Makefile index 18802dbfd..11bdac9dd 100644 --- a/Makefile +++ b/Makefile @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -all: push +all: all-container BUILDTAGS= @@ -40,7 +40,7 @@ ARCH ?= $(shell go env GOARCH) GOARCH = ${ARCH} DUMB_ARCH = ${ARCH} -ALL_ARCH = amd64 arm arm64 ppc64le +ALL_ARCH = amd64 arm arm64 ppc64le s390x QEMUVERSION=v2.9.1 @@ -49,7 +49,7 @@ IMAGE = $(REGISTRY)/$(IMGNAME) MULTI_ARCH_IMG = $(IMAGE)-$(ARCH) # Set default base image dynamically for each arch -BASEIMAGE?=quay.io/kubernetes-ingress-controller/nginx-slim-$(ARCH):0.28 +BASEIMAGE?=quay.io/kubernetes-ingress-controller/nginx-$(ARCH):0.29 ifeq ($(ARCH),arm) QEMUARCH=arm @@ -57,13 +57,16 @@ ifeq ($(ARCH),arm) DUMB_ARCH=armhf endif ifeq ($(ARCH),arm64) - QEMUARCH=aarch64 + QEMUARCH=aarch64 endif ifeq ($(ARCH),ppc64le) QEMUARCH=ppc64le GOARCH=ppc64le DUMB_ARCH=ppc64el endif +ifeq ($(ARCH),s390x) + QEMUARCH=s390x +endif TEMP_DIR := $(shell mktemp -d) @@ -72,8 +75,6 @@ DOCKERFILE := $(TEMP_DIR)/rootfs/Dockerfile image-info: echo -n '{"image":"$(IMAGE)","tag":"$(TAG)"}' -all: all-container - sub-container-%: $(MAKE) ARCH=$* build container diff --git a/rootfs/Dockerfile b/rootfs/Dockerfile index a2d9d005b..b9c484cfa 100644 --- a/rootfs/Dockerfile +++ b/rootfs/Dockerfile @@ -17,19 +17,9 @@ FROM BASEIMAGE CROSS_BUILD_COPY qemu-QEMUARCH-static /usr/bin/ # install dumb-init from zesty -RUN if grep -q -i "ports.ubuntu.com" /etc/apt/sources.list; \ - then \ - echo "deb http://ports.ubuntu.com/ubuntu-ports zesty universe" >> /etc/apt/sources.list; \ - else \ - echo "deb http://archive.ubuntu.com/ubuntu zesty universe" >> /etc/apt/sources.list; \ - fi \ - && DEBIAN_FRONTEND=noninteractive apt-get update \ - && apt-get install -y \ - diffutils \ - dumb-init \ - --no-install-recommends \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* +RUN clean-install \ + diffutils \ + dumb-init ENTRYPOINT ["/usr/bin/dumb-init"]