Skip to content

Instantly share code, notes, and snippets.

@Richard87
Last active June 2, 2024 10:13
Show Gist options
  • Save Richard87/214805084adaff7fee9e5a020892a0ae to your computer and use it in GitHub Desktop.
Save Richard87/214805084adaff7fee9e5a020892a0ae to your computer and use it in GitHub Desktop.
install-tools.sh

Initial setup:

source /etc/lsb-release
eval `ssh-agent -s`
ssh-keygen -t ed25519
cat id_ed25519.pub

sudo apt-get update
sudo apt-get install -y ca-certificates curl apt-transport-https lsb-release gnupg zsh git
sudo mkdir -p /etc/apt/keyrings

Add repositories for Microsoft, Docker, Helm and Terraform

# Microsoft
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
add-apt-repository "$(wget -qO- https://packages.microsoft.com/config/ubuntu/20.04/prod.list)"
curl -sLS https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor | sudo tee /etc/apt/keyrings/microsoft.gpg > /dev/null
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

# Docker
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(lsb_release -rs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get remove --yes docker docker-engine docker.io containerd runc

# Hashicorp / Terraform
wget -O- https://apt.releases.hashicorp.com/gpg | gpg --dearmor | sudo tee /usr/share/keyrings/hashicorp-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/hashicorp-archive-keyring.gpg] https://apt.releases.hashicorp.com $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/hashicorp.list

# Helm
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list

Install tools

sudo apt-get update
sudo apt-get install -y keychain jq ca-certificates apt-transport-https lsb-release gnupg azure-cli unzip helm build-essential nodejs apache2-utils ntpdate sqlcmd mssql-tools18 rename terraform  docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Install GO
wget https://go.dev/dl/go1.22.1.linux-amd64.tar.gz 
sudo tar -C /usr/local -xvf go1.22.1.linux-amd64.tar.gz

 # Oh-my-zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# Install Node
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash # nvm
nvm install node

# Install gh
go install github.com/cli/cli/v2/cmd/gh@v2.45.0
go install github.com/mikefarah/yq/v4@latest

# Install kubectl and kubelogin
sudo az aks install-cli

Authenticate and clone repositories

az login
gh login


az aks get-credentials --subscription SUBSCRIPTION_NAME --resource-group RG_NAME --overwrite-existing --name AKS_NAME

You might want to log into github.com and authorize your new SSH Key for Equinor access

gh repo list equinor --limit 100 --topic omnia-radix --json name | jq ".[]| .name" -r | xargs -P 5 -I % gh repo clone "equinor/%"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment