Created
August 3, 2023 10:34
-
-
Save huevos-y-bacon/ede9179c33fb842847c3cb5ae6dd702d to your computer and use it in GitHub Desktop.
Common Fate Granted - Install (Common Fate) granted on Mac or (Amazon) Linux
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env bash | |
set -e | |
# See: | |
# - https://docs.commonfate.io/granted/getting-started/ | |
# - https://docs.commonfate.io/granted/usage/automatic-config-generation | |
# Remember to update MY_ORG_NAME! | |
SSO_URL=https://MY_ORG_NAME.awsapps.com/start/ | |
SSO_ORG=$(echo $SSO_URL | awk -F. '{print $1}' | awk -F/ '{print $NF}') | |
SSO_REGION=us-east-1 | |
mkdir -p ${HOME}/.aws | |
if ! command -v aws &> /dev/null | |
then | |
echo "awscli could not be found" | |
exit 1 | |
fi | |
OS=$(uname -s) | |
echo "Install Granted" | |
if [[ "$OS" == "Darwin" ]]; then | |
if ! command -v brew &> /dev/null | |
then | |
echo "homebrew could not be found" | |
exit 1 | |
fi | |
brew tap common-fate/granted | |
brew install granted | |
elif [[ "$OS" == "Linux" ]]; then | |
yum -y update && yum -y install curl | |
curl -OL releases.commonfate.io/granted/v0.14.0/granted_0.14.0_linux_x86_64.tar.gz | |
sudo tar -zxvf ./granted_0.14.0_linux_x86_64.tar.gz -C /usr/local/bin/ | |
echo alias assume=\"source /usr/local/bin/assume\" >> ~/.bashrc | |
else | |
echo "Not Darwin or Linux - TO DO"; exit 0 | |
fi | |
echo "Generate AWS SSO Config" | |
granted sso generate --sso-region ${SSO_REGION} ${SSO_URL} > "${HOME}/.aws/config_granted_${SSO_ORG}" | |
if [[ -f "${HOME}/.aws/config" ]]; then | |
echo "Backup ${HOME}/.aws/config to ${HOME}/.aws/config_backup" | |
mv "${HOME}/.aws/config" "${HOME}/.aws/config_old" | |
fi | |
echo "Create symlink ${HOME}/.aws/config_granted_${SSO_ORG} > ${HOME}/.aws/config" | |
ln -f -s "${HOME}/.aws/config_granted_${SSO_ORG}" "${HOME}/.aws/config" | |
if [[ "$SHELL" == *"zsh" ]]; then | |
echo alias assume=\"source /usr/local/bin/assume\" >> ~/.zshrc | |
echo "Run \"source ~/.zshrc\", then run \"assume\"" | |
else | |
echo alias assume=\"source /usr/local/bin/assume\" >> ~/.bashrc | |
echo "Run \"source ~/.bashrc\", then run \"assume\"" | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment