Last active
June 20, 2023 21:58
-
-
Save thorsager/e7aa60b7e607d4d5bada77b765155e82 to your computer and use it in GitHub Desktop.
Initial Ubuntu Setup
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 | |
# Script to install inital packages, services and utils on fresh ubuntu-host | |
set -e | |
GO_URL=https://go.dev/dl/go1.20.5.linux-amd64.tar.gz | |
K9S_URL=https://github.com/derailed/k9s/releases/download/v0.27.4/k9s_Linux_amd64.tar.gz | |
DIVE_URL=https://github.com/wagoodman/dive/releases/download/v0.10.0/dive_0.10.0_linux_amd64.tar.gz | |
apt update | |
apt install -y apt-transport-https ca-certificates curl software-properties-common lsb-release gnupg | |
install -m 0755 -d /etc/apt/keyrings | |
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg | |
sudo chmod go+r /etc/apt/keyrings/docker.gpg | |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \ | |
| sudo tee /etc/apt/sources.list.d/docker.list > /dev/null | |
curl -fsSL https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /etc/apt/keyrings/microsoft.gpg | |
sudo chmod go+r /etc/apt/keyrings/microsoft.gpg | |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/microsoft.gpg] https://packages.microsoft.com/repos/azure-cli/ $(lsb_release -cs) main" \ | |
| sudo tee /etc/apt/sources.list.d/azure-cli.list > /dev/null | |
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-archive-keyring.gpg | |
sudo chmod go+r /etc/apt/keyrings/kubernetes-archive-keyring.gpg | |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/kubernetes-archive-keyring.gpg] https://apt.kubernetes.io/ kubernetes-xenial main" \ | |
| sudo tee /etc/apt/sources.list.d/kubernetes.list > /dev/null | |
curl -fsSL https://baltocdn.com/helm/signing.asc | gpg --dearmor -o /etc/apt/keyrings/helm.gpg | |
sudo chmod go+r /etc/apt/keyrings/helm.gpg | |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" \ | |
| sudo tee /etc/apt/sources.list.d/helm-stable-debian.list > /dev/null | |
curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/hashicorp-archive-keyring.gpg | |
sudo chmod go+r /etc/apt/keyrings/hashicorp-archive-keyring.gpg | |
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" \ | |
| sudo tee /etc/apt/sources.list.d/hashicorp.list > /dev/null | |
apt update | |
## Install git kubectl, helm and terraform | |
apt install -y azure-cli docker-ce build-essential git kubectl helm terraform | |
## Install golang | |
curl -fsSL "$GO_URL" -o /tmp/golang.tar.gz | |
sudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf /tmp/golang.tar.gz | |
sudo echo 'export PATH=$PATH:/usr/local/go/bin' > /etc/profile.d/golang.sh | |
rm -rf /tmp/golang.tar.gz | |
## Install k9s | |
curl -fsSL "$K9S_URL" -o /tmp/k9s.tar.gz | |
sudo tar -C /usr/local/bin -xzf /tmp/k9s.tar.gz k9s | |
rm -rf /tmp/k9s.tar.gz | |
## Install dive | |
curl -fsSL "$DIVE_URL" -o /tmp/dive.tar.gz | |
sudo tar -C /usr/local/bin -xzf /tmp/dive.tar.gz dive | |
rm -rf /tmp/dive.tar.gz | |
## Install kubectx | |
sudo rm -rf /usr/local/bin/kubectx /usr/local/bin/kubens /opt/kubectx && sudo git clone https://github.com/ahmetb/kubectx /opt/kubectx | |
sudo ln -s /opt/kubectx/kubectx /usr/local/bin/kubectx | |
sudo ln -s /opt/kubectx/kubens /usr/local/bin/kubens | |
echo | |
echo -e "\033[0;31m**\033[0m \033[1;33mNow as your own user do\033[0m:" | |
echo " sudo usermod -aG docker \${USER}" | |
echo " az login" | |
echo " az acr login -n \${REGISTRY_NAME}" | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment