#!/usr/bin/env bash set -eu ARCH=$(uname -m) AWS_CLI_VERSION="2.23.6" if [ "$ARCH" == "x86_64" ]; then AWS_CLI_SHA="8d26ffa2e9427804a9f8928c692ee83e1c88456e0519a69e63bc992caf2b2339" elif [ "$ARCH" == "aarch64" ]; then AWS_CLI_SHA="9c2b05dfc370cc99ec47ad374be52b828cd77d14702b2edae071d73224aacd6e" else echo "Unsupported architecture: $ARCH" exit 1 fi # Check if we're already installed if [ -L "/srv/zulip-aws-tools/v2/current" ] \ && [ "$(readlink /srv/zulip-aws-tools/v2/current)" = "/srv/zulip-aws-tools/v2/$AWS_CLI_VERSION" ]; then exit 0 fi # If not running in the initial host bootstrap, and was called with # arguments, this is just a check. if [ -z "${RUNNING_IN_CLOUD_INIT+x}" ] && [[ $# -gt 0 ]]; then exit 1 fi mkdir -p /srv/zulip-aws-tools cd /srv/zulip-aws-tools || exit 1 rm -rf awscli.zip awscli.zip.sha256 aws/ curl -fL --retry 3 "https://awscli.amazonaws.com/awscli-exe-linux-$ARCH-$AWS_CLI_VERSION.zip" -o awscli.zip echo "$AWS_CLI_SHA awscli.zip" >awscli.zip.sha256 sha256sum -c awscli.zip.sha256 unzip -q awscli.zip cd ./aws || exit 1 ./install -i /srv/zulip-aws-tools -b /srv/zulip-aws-tools/bin -u echo "$AWS_CLI_VERSION" >/srv/zulip-aws-tools/version ( cd /srv/zulip-aws-tools/ rm -rf awscli.zip awscli.zip.sha256 aws/ )