mirror of https://github.com/pulumi/pulumi.git
47 lines
1.7 KiB
Bash
Executable File
47 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -o nounset -o errexit -o pipefail
|
|
SCRIPT_DIR="$( cd "$( dirname "$0" )" && pwd )"
|
|
|
|
INSTALL_LOG=${SCRIPT_DIR}/install.log
|
|
PULUMI_INSTALL_PATH=${PULUMI_INSTALL_PATH:-/usr/local/pulumi}
|
|
|
|
function on_exit() {
|
|
if [ "$?" -ne 0 ]; then
|
|
>&2 echo "error: There was a problem during installation. Please join our #community-discussion"
|
|
>&2 echo " Slack channel (https://pulumi.slack.com/app_redirect?channel=community-discussion) for help."
|
|
>&2 echo " We may need the install log file which can be found at:"
|
|
>&2 echo " ${INSTALL_LOG}"
|
|
fi
|
|
}
|
|
|
|
if [ $(id -u) -eq 0 ]; then
|
|
>&2 echo "error: install.sh should not be run as root, please run it as a regular user."
|
|
exit 1
|
|
fi
|
|
|
|
trap on_exit EXIT
|
|
|
|
[ ! -e "${INSTALL_LOG}" ] || rm "${INSTALL_LOG}"
|
|
|
|
echo "Installing Pulumi to ${PULUMI_INSTALL_PATH}" | tee -a "${INSTALL_LOG}"
|
|
|
|
if [ ! -w $(dirname "${PULUMI_INSTALL_PATH}") ]; then
|
|
echo "Creating ${PULUMI_INSTALL_PATH} as root" >> "${INSTALL_LOG}"
|
|
|
|
echo "It looks like you don't have write access to /usr/local, this script will sudo"
|
|
echo "to create ${PULUMI_INSTALL_PATH}, so you may be prompted for your password."
|
|
|
|
sudo sh -c "[ ! -e \"${PULUMI_INSTALL_PATH}\" ] || rm -rf \"${PULUMI_INSTALL_PATH}\" ; mkdir \"${PULUMI_INSTALL_PATH}\" ; chown -R $(id -u):$(id -g) \"${PULUMI_INSTALL_PATH}\""
|
|
else
|
|
echo "Creating ${PULUMI_INSTALL_PATH} as regular user" >> "${INSTALL_LOG}"
|
|
|
|
[ ! -e "${PULUMI_INSTALL_PATH}" ] || rm -rf "${PULUMI_INSTALL_PATH}"
|
|
mkdir "${PULUMI_INSTALL_PATH}"
|
|
fi
|
|
|
|
echo "Copying bin to ${PULUMI_INSTALL_PATH}" >> "${INSTALL_LOG}"
|
|
cp -r "${SCRIPT_DIR}/bin" "${PULUMI_INSTALL_PATH}/"
|
|
|
|
echo "Pulumi is now installed, please add ${PULUMI_INSTALL_PATH}/bin to your \$PATH"
|