Skip to content

Instantly share code, notes, and snippets.

@smebberson
Last active July 25, 2022 23:57
Show Gist options
  • Save smebberson/077de500179d6010006d0440733377a9 to your computer and use it in GitHub Desktop.
Save smebberson/077de500179d6010006d0440733377a9 to your computer and use it in GitHub Desktop.
Devspace installation

This repository is intended to be run on a brand new computer.

Requirements

Please note: macOS is our only supported environment.

  • MacOS
  • Git

Everything else will be installed for you.

Installing

Getting your system up and running takes a few steps, but they're detailed here. Make sure you have git installed. The following command will either work, or prompt you to install it:

% git

Configuring bash and installing applications

This process will customise your bash environment and install a bunch of applications and command line tools we use on a daily basis.

Execute ./install.sh to get started.

It might take 20 minutes to get it all setup for you.

Configuring installed applications

Now that you have everything installed, you'll need to configure a few things.

Docker

To configure Docker:

  • Hit command + space and search for Docker.
  • Choose the Docker application and start it.
  • Once Docker has started, visit Docker's preferences.
  • Check the Start Docker when you log in option.

VMware Fusion

  • Hit command + space and search for VMware Fusion.
  • Once VMware Fusion application has started, go to Security & Privacy system settings.
  • Go to General tab, VMware should appeared to be blocked by the system.
  • Click the padlock on the bottom left, enter system password.
  • Click Allow to grant permission.
  • Go back to VMware, click VMware Fusion on system bar, then License...
  • Enter license key, click Done.

Getting started with development

This repository can be used to run development services and Kubernetes Ingress, all via Minikube. Follow these steps to get the development services and Kubernetes ingress up and running.

Start a new Minikube instance:

$ minikube start --disk-size 64g --extra-config=apiserver.service-node-port-range=80-32767 --cpus=2 --memory=8192 --vm-driver=vmware --kubernetes-version=v1.20.7

Wait for Minikube ingress to be setup. Make sure all pods are setup before continuing:

% kubectl get pods --all-namespaces --watch

Everything should be started now.

#!/usr/bin/env bash
# Check if Homebrew is installed. If not, install it.
which -s brew
if [[ $? != 0 ]] ; then
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
else
brew update
fi
# Install packages.
packages=(
"docker-machine"
"docker-machine-driver-vmware"
"git"
"kubernetes-cli"
"minikube"
"tailscale"
)
for package in "${packages[@]}"; do
if ! brew list --formula -1 | grep -q "^$(echo $package | cut -d' ' -f1)\$"; then
brew install $package
fi
done
brew tap homebrew/cask-fonts
# Install apps.
apps=(
"docker"
"vmware-fusion"
)
for app in "${apps[@]}"; do
if ! brew list --cask -1 | grep -q "^${app}\$"; then
brew install --cask $app
fi
done
#!/usr/bin/env bash
# Install the 1.1.1.2 nameservers.
networksetup -setdnsservers Wi-Fi 1.1.1.2 1.0.0.2 2606:4700:4700::1112 2606:4700:4700::1002
echo "Installing apps... go and grab a ☕️"
source ${PWD}/homebrew.sh
# We're all done.
echo "Everything has been installed 🚀. Start a new terminal session to continue."
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment