diff --git a/.ci/pipeline_definitions b/.ci/pipeline_definitions index b4bd4af..266d938 100644 --- a/.ci/pipeline_definitions +++ b/.ci/pipeline_definitions @@ -13,7 +13,10 @@ etcd-custom-image: traits: draft_release: ~ publish: - oci-builder: 'docker' + oci-builder: docker-buildx + platforms: + - linux/amd64 + - linux/arm64 dockerimages: etcd: registry: 'gcr-readwrite' diff --git a/Dockerfile b/Dockerfile index 9014049..cba9164 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,11 @@ # SPDX-FileCopyrightText: 2020 SAP SE or an SAP affiliate company and Gardener contributors # SPDX-License-Identifier: Apache-2.0 -FROM gcr.io/etcd-development/etcd:v3.4.13 as source +FROM gcr.io/etcd-development/etcd:v3.4.13 as source-amd64 +FROM gcr.io/etcd-development/etcd:v3.4.13-arm64 as source-arm64 + +FROM source-$TARGETARCH as source + FROM alpine:3.15.4 WORKDIR / diff --git a/Dockerfile.template b/Dockerfile.template index 41cd95b..5a462c8 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -1,7 +1,11 @@ # SPDX-FileCopyrightText: 2020 SAP SE or an SAP affiliate company and Gardener contributors # SPDX-License-Identifier: Apache-2.0 -FROM gcr.io/etcd-development/etcd:ETCD_VERSION as source +FROM gcr.io/etcd-development/etcd:ETCD_VERSION as source-amd64 +FROM gcr.io/etcd-development/etcd:ETCD_VERSION as source-arm64 + +FROM source-$TARGETARCH as source + FROM alpine:3.15.4 WORKDIR / diff --git a/VERSION b/VERSION index 3ffecc9..4fcf0bd 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -v3.4.13-bootstrap-5 +v3.4.13-bootstrap-6 diff --git a/etcd_bootstrap_script.sh b/etcd_bootstrap_script.sh index 156a3e6..e3afccc 100755 --- a/etcd_bootstrap_script.sh +++ b/etcd_bootstrap_script.sh @@ -22,6 +22,12 @@ trap_and_propagate() { } start_managed_etcd(){ + arch=$(uname -m) + if [ $arch = "aarch64" ] || [ $arch = "arm64" ]; then + # Running etcd on ARM has experimental support for version 3.4.x + # https://etcd.io/docs/v3.4/op-guide/supported-platform/ + export ETCD_UNSUPPORTED_ARCH=arm64 + fi rm -rf $VALIDATION_MARKER CONFIG_FILE=/etc/etcd.conf.yaml curl "$BACKUP_ENDPOINT/config" -o $CONFIG_FILE