diff --git a/Dockerfile b/Dockerfile index 1681fd5355..bc984884d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,7 +30,7 @@ ADD hack/tool-versions.sh . RUN ./install.sh helm2-linux RUN ./install.sh helm-linux -RUN ./install.sh kustomize-linux +RUN INSTALL_PATH=/usr/local/bin ./install.sh kustomize RUN ./install.sh awscli-linux #################################################################################################### diff --git a/Makefile b/Makefile index e8fb7be51e..ed786a647b 100644 --- a/Makefile +++ b/Makefile @@ -531,7 +531,7 @@ install-tools-local: install-test-tools-local install-codegen-tools-local instal # Installs all tools required for running unit & end-to-end tests (Linux packages) .PHONY: install-test-tools-local install-test-tools-local: - ./hack/install.sh kustomize-linux + ./hack/install.sh kustomize ./hack/install.sh helm2-linux ./hack/install.sh helm-linux diff --git a/hack/install.sh b/hack/install.sh index a5da4f1da3..dcd629ad13 100755 --- a/hack/install.sh +++ b/hack/install.sh @@ -13,11 +13,13 @@ case $(uname -m) in arm|armv7l|armv8l|aarch64) dpkg --print-architecture | grep -q "arm64" && ARCHITECTURE="arm64" || ARCHITECTURE="arm" ;; esac -if [ -z "$ARCHITECTURE" ]; then - echo "Could not detect the architecture of the system" - exit 1 -fi +INSTALL_OS="" +unameOut="$(uname -s)" +case "${unameOut}" in + Linux*) INSTALL_OS=linux;; + Darwin*) INSTALL_OS=darwin;; +esac for product in $*; do - ARCHITECTURE=$ARCHITECTURE "$(dirname $0)/installers/install-${product}.sh" + ARCHITECTURE=$ARCHITECTURE INSTALL_OS=$INSTALL_OS "$(dirname $0)/installers/install-${product}.sh" done diff --git a/hack/installers/checksums/kustomize_4.4.1_darwin_amd64.tar.gz.sha256 b/hack/installers/checksums/kustomize_4.4.1_darwin_amd64.tar.gz.sha256 new file mode 100644 index 0000000000..7622a63cc3 --- /dev/null +++ b/hack/installers/checksums/kustomize_4.4.1_darwin_amd64.tar.gz.sha256 @@ -0,0 +1 @@ +1b0eba143cd684f98341d58100c17a2dfb9658375302fe38d725752ea92012ac kustomize_4.4.1_darwin_amd64.tar.gz diff --git a/hack/installers/compare-chksum.sh b/hack/installers/compare-chksum.sh index e69a2fe71f..74d0ade246 100755 --- a/hack/installers/compare-chksum.sh +++ b/hack/installers/compare-chksum.sh @@ -23,4 +23,4 @@ if ! grep -q "${TARGET_FILE}" ${CHKSUM_FILE}; then exit 1 fi -shasum -a 256 -c ${CHKSUM_FILE} \ No newline at end of file +shasum -a 256 -c ${CHKSUM_FILE} diff --git a/hack/installers/install-codegen-tools.sh b/hack/installers/install-codegen-tools.sh index d908bb7e07..8ffdd71580 100755 --- a/hack/installers/install-codegen-tools.sh +++ b/hack/installers/install-codegen-tools.sh @@ -1,4 +1,4 @@ #!/bin/bash set -eux -o pipefail -KUSTOMIZE_VERSION=4.2.0 "$(dirname $0)/../install.sh" helm2-linux kustomize-linux protoc +KUSTOMIZE_VERSION=4.2.0 "$(dirname $0)/../install.sh" helm2-linux kustomize protoc diff --git a/hack/installers/install-kustomize-linux.sh b/hack/installers/install-kustomize.sh similarity index 67% rename from hack/installers/install-kustomize-linux.sh rename to hack/installers/install-kustomize.sh index 7c0fbc5203..a706b44495 100755 --- a/hack/installers/install-kustomize-linux.sh +++ b/hack/installers/install-kustomize.sh @@ -3,8 +3,18 @@ set -eux -o pipefail . $(dirname $0)/../tool-versions.sh +PROJECT_ROOT=$(cd $(dirname ${BASH_SOURCE})/../..; pwd) +INSTALL_PATH="${INSTALL_PATH:-$PROJECT_ROOT/dist}" +PATH="${INSTALL_PATH}:${PATH}" +[ -d $INSTALL_PATH ] || mkdir -p $INSTALL_PATH + KUSTOMIZE_VERSION=${KUSTOMIZE_VERSION:-$kustomize4_version} +if [ -z $INSTALL_OS ]; then + echo "install kustomize error: unsupported operating system" + exit 1 +fi + # Note that kustomize release URIs have changed for v3.2.1. Then again for # v3.3.0. When upgrading to versions >= v3.3.0 please change the URI format. And # also note that as of version v3.3.0, assets are in .tar.gz form. @@ -13,32 +23,32 @@ KUSTOMIZE_VERSION=${KUSTOMIZE_VERSION:-$kustomize4_version} # v3.3.0 = https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v3.3.0/kustomize_v3.3.0_linux_amd64.tar.gz case $ARCHITECTURE in arm|arm64) - export TARGET_FILE=kustomize_${KUSTOMIZE_VERSION}_linux_${ARCHITECTURE}.tar.gz - URL=https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_linux_$ARCHITECTURE.tar.gz + export TARGET_FILE=kustomize_${KUSTOMIZE_VERSION}_${INSTALL_OS}_${ARCHITECTURE}.tar.gz + URL=https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_${INSTALL_OS}_$ARCHITECTURE.tar.gz BINNAME=kustomize [ -e ${DOWNLOADS}/${TARGET_FILE} ] || curl -sLf --retry 3 -o ${DOWNLOADS}/${TARGET_FILE} "$URL" $(dirname $0)/compare-chksum.sh tar -C /tmp -xf ${DOWNLOADS}/${TARGET_FILE} - sudo install -m 0755 /tmp/kustomize $BIN/$BINNAME + sudo install -m 0755 /tmp/kustomize $INSTALL_PATH/$BINNAME ;; *) case $KUSTOMIZE_VERSION in 2.*) - export TARGET_FILE=kustomize_${KUSTOMIZE_VERSION}_linux_${ARCHITECTURE} - URL=https://github.com/kubernetes-sigs/kustomize/releases/download/v${KUSTOMIZE_VERSION}/kustomize_${KUSTOMIZE_VERSION}_linux_$ARCHITECTURE + export TARGET_FILE=kustomize_${KUSTOMIZE_VERSION}_${INSTALL_OS}_${ARCHITECTURE} + URL=https://github.com/kubernetes-sigs/kustomize/releases/download/v${KUSTOMIZE_VERSION}/kustomize_${KUSTOMIZE_VERSION}_${INSTALL_OS}_$ARCHITECTURE BINNAME=kustomize2 [ -e ${DOWNLOADS}/${TARGET_FILE} ] || curl -sLf --retry 3 -o ${DOWNLOADS}/${TARGET_FILE} "$URL" $(dirname $0)/compare-chksum.sh - sudo install -m 0755 ${DOWNLOADS}/${TARGET_FILE} $BIN/$BINNAME + sudo install -m 0755 ${DOWNLOADS}/${TARGET_FILE} $INSTALL_PATH/$BINNAME ;; *) - export TARGET_FILE=kustomize_${KUSTOMIZE_VERSION}_linux_${ARCHITECTURE}.tar.gz - URL=https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_linux_$ARCHITECTURE.tar.gz + export TARGET_FILE=kustomize_${KUSTOMIZE_VERSION}_${INSTALL_OS}_${ARCHITECTURE}.tar.gz + URL=https://github.com/kubernetes-sigs/kustomize/releases/download/kustomize/v${KUSTOMIZE_VERSION}/kustomize_v${KUSTOMIZE_VERSION}_${INSTALL_OS}_$ARCHITECTURE.tar.gz BINNAME=kustomize [ -e ${DOWNLOADS}/${TARGET_FILE} ] || curl -sLf --retry 3 -o ${DOWNLOADS}/${TARGET_FILE} "$URL" $(dirname $0)/compare-chksum.sh tar -C /tmp -xf ${DOWNLOADS}/${TARGET_FILE} - sudo install -m 0755 /tmp/kustomize $BIN/$BINNAME + sudo install -m 0755 /tmp/kustomize $INSTALL_PATH/$BINNAME ;; esac ;; diff --git a/hack/update-manifests.sh b/hack/update-manifests.sh index 5238ad6887..b546fdcf2c 100755 --- a/hack/update-manifests.sh +++ b/hack/update-manifests.sh @@ -4,11 +4,12 @@ set -o errexit set -o nounset set -o pipefail -KUSTOMIZE=kustomize - SRCROOT="$( CDPATH='' cd -- "$(dirname "$0")/.." && pwd -P )" AUTOGENMSG="# This is an auto-generated file. DO NOT EDIT" +KUSTOMIZE=kustomize +[ -f "$SRCROOT/dist/kustomize" ] && KUSTOMIZE="$SRCROOT/dist/kustomize" + cd ${SRCROOT}/manifests/ha/base/redis-ha && ./generate.sh IMAGE_NAMESPACE="${IMAGE_NAMESPACE:-quay.io/argoproj}" @@ -28,6 +29,7 @@ if [ "$IMAGE_TAG" = "" ]; then fi $KUSTOMIZE version +which $KUSTOMIZE cd ${SRCROOT}/manifests/base && $KUSTOMIZE edit set image quay.io/argoproj/argocd=${IMAGE_NAMESPACE}/argocd:${IMAGE_TAG} cd ${SRCROOT}/manifests/ha/base && $KUSTOMIZE edit set image quay.io/argoproj/argocd=${IMAGE_NAMESPACE}/argocd:${IMAGE_TAG} diff --git a/test/container/Dockerfile b/test/container/Dockerfile index da13986acd..6f2889d012 100644 --- a/test/container/Dockerfile +++ b/test/container/Dockerfile @@ -44,7 +44,7 @@ ADD go.sum go.sum RUN ./install.sh helm2-linux && \ ./install.sh helm-linux && \ ./install.sh kubectl-linux && \ - ./install.sh kustomize-linux && \ + ./install.sh kustomize && \ ./install.sh codegen-tools && \ ./install.sh codegen-go-tools && \ ./install.sh lint-tools && \