Skip to main content

Deployment/Installation Tools

Container Tools

install-docker.sh

# Docker
curl -sSL  https://nimamahmoudi.github.io/cicd-cheatsheet/sh/install-docker.sh | bash

# Docker-Compose
sudo apt-get update && sudo apt install -qy python-pip && pip install docker-compose
# or as root
apt-get update && apt install -qy python-pip && pip install docker-compose
# alternative
sudo curl -L "https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Kubernetes Tools

List of tools that we would use with Kubernetes deployments:

# install arkade
curl -sLS https://dl.get-arkade.dev | sudo sh
# Add tools bin directory to PATH
echo "export PATH=\$HOME/.arkade/bin:\$PATH" >> ~/.bashrc
# Copy bash completion script
arkade completion bash > ~/.arkade_bash_completion.sh
echo "source ~/.arkade_bash_completion.sh" >> ~/.bashrc
# Kubectl
arkade get kubectl
# Kubectl bash completion
echo 'source <(kubectl completion bash)' >>~/.bashrc
source ~/.bashrc
# Helm
arkade get helm
# k3sup
arkade get k3sup
# move kubectl to /usr/bin to allow it to be used in python later on
sudo cp ~/.arkade/bin/kubectl /usr/bin/ && sudo chmod +x /usr/bin/kubectl
# Skaffold
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64 && sudo install skaffold /usr/local/bin/ && rm skaffold

Older tools:

# Minikube (assumes docker is installed)
export IP=192.168.0.1
curl -sSL https://nimamahmoudi.github.io/cicd-cheatsheet/sh/install-minikube.sh | bash

# Kubernetes
curl -sSL  https://nimamahmoudi.github.io/cicd-cheatsheet/sh/install-kube.sh | bash

Network/Proxy Tools

Cloudflared

# Cloudflared
curl -sSL  https://nimamahmoudi.github.io/cicd-cheatsheet/sh/install-cloudflared.sh | bash

Inlets

# Inlets
curl -sLS https://get.inlets.dev | sudo sh

# Inlet Server
echo $(head -c 16 /dev/urandom | shasum | cut -d" " -f1) >> .inlettoken
export INLETSPORT=8090
# This assumes you have already generated token is in the .inlettoken file
export INLETSTOKEN=$(cat .inlettoken)
export SERVICENAME=inletsserver
curl -sSL https://nimamahmoudi.github.io/cicd-cheatsheet/inlets/inlets_service.sh | bash

# Inlet Client
# This assumes you have already generated token is in the .inlettoken file
export INLETSTOKEN=$(cat .inlettoken)
export REMOTE="THE_SERVER_ADDRESS:8090"
export UPSTREAM=http://127.0.0.1:8888
export SERVICENAME=inletsclient
curl -sSL https://nimamahmoudi.github.io/cicd-cheatsheet/inlets/inletsclient_service.sh | bash

Misc

# Homebrew
sudo apt-get install build-essential curl file git
sh -c "$(curl -fsSL https://raw.githubusercontent.com/Linuxbrew/install/master/install.sh)"
# Then, configure PATH: https://docs.brew.sh/Homebrew-on-Linux