#!/bin/bash set -euo pipefail umask 077 export DEBIAN_FRONTEND=noninteractive apt-get update apt-get install -y curl ca-certificates stage="$(mktemp -d /var/lib/carlos-stage.XXXXXX)" trap 'rm -rf "$stage"' EXIT curl --retry 5 --retry-delay 3 -fsSL -o "$stage/amazon-ssm-agent.deb" \ "https://s3.${local_region}.amazonaws.com/amazon-ssm-${local_region}/3.3.5538.0/debian_arm64/amazon-ssm-agent.deb" echo "614e40869848a37427101f9965d2a93d463c19eb8ec652800a4f767fc664d3e2 $stage/amazon-ssm-agent.deb" | sha256sum -c - dpkg -i "$stage/amazon-ssm-agent.deb" systemctl enable --now amazon-ssm-agent curl --retry 5 --retry-delay 3 -fsSL -o "$stage/carlos" \ "https://github.com/carlosframework/releases/releases/download/v0.28.15/carlos-linux-arm64" echo "6587576f1aefae5887cae522770b0238e205f0b56b5ffe94de436ac52190e0dd $stage/carlos" | sha256sum -c - install -d -m 0755 /opt/carlos install -m 0755 "$stage/carlos" /opt/carlos/carlos install -d -m 0755 /etc/carlos cat > /etc/carlos/host.env <<'ENVEOF' CARLOS_DEPLOYMENT_BUCKET=${deployment_bucket_name} AWS_REGION=${deployment_region} AWS_DEFAULT_REGION=${deployment_region} CARLOS_RELEASE_PUBKEY=${release_public_key} CARLOS_REGION=${placement_region} CARLOS_HIBERNATE_BUCKET=${data_bucket_name} CARLOS_HIBERNATE_REGION=${local_region} CARLOS_HIBERNATE_PREFIX=instances PLATFORM_APPS_DOMAIN=${apps_domain} CARLOS_SYSTEM_CHANNEL=stable CARLOS_HOST_METRICS=cloudwatch ENVEOF chown root:root /etc/carlos/host.env chmod 0600 /etc/carlos/host.env umask 022 /opt/carlos/carlos bootstrap systemctl start carlos-edge