Prerequisites
These instructions are intended to be performed using Windows, but as long as equivalent items are installed it should work fine on Linux or MacOS.
On Windows, it is mandatory that you use WSL2 and the Ubuntu distro for all development work. In other words, do not save your files on the Windows C:\ drive. Your files (git repos) should be inside of the Ubuntu WSL filesystem at \wsl$\Ubuntu\home\{YourUsername}. See this blog post for reasoning and best practices.
Install Windows software using Chocolatey or similar. Install Ubuntu software inside WSL Ubuntu using the normal apt process.
Hardware
- A newish CPU
- At least 16 GB ram
Windows software
- WSL2 with Ubuntu 20.04
- Windows Terminal
- Docker for Windows - latest
- use WSL2 based Engine, instead of the Hyper-V backend
- Enable Kubernetes
- Docker Compose
- Mkcert
- Run Powershell as Administrator and run the command:
choco install mkcert
- Visual Studio Code - latest
WSL/Ubuntu software
- Istio - 1.14+
- Follow the download and installation instructions on istio.io
- Be sure to add the following line to your
~/.profile
export PATH=~/path/to/istio/bin:$PATH
- Helm - 3+
- Mkcert
wget https://github.com/FiloSottile/mkcert/releases/download/v1.4.4/mkcert-v1.4.4-linux-amd64
sudo mv mkcert-v1.4.4-linux-amd64 /usr/local/bin/mkcert
sudo chmod +x /usr/local/bin/mkcert
- psql
sudo apt update
sudo apt install -y postgresql-client
Setup Mkcert in Windows and WSL
You will notice that you installed Mkcert in Windows with Chocolatey and also in Ubuntu WSL with apt. This is so we can create certs using the Linux version of mkcert and also those certs will be valid in Windows apps like Chrome for local development.
- Run "mkcert -install" for certificates to be trusted automatically
- In Windows Powershell run
mkcert.exe -install
- In a Windows Terminal WSL shell run
mkcert -install
- In Windows Powershell run
- In Windows Powershell, find out where the mkcert directory is
mkcert.exe -CAROOT
- In a Windows Terminal WSL shell, find out where the mkcert directory is
mkcert -CAROOT
- Copy the rootCA files from Windows to the WSL mckert directory
- ex:
sudo cp /mnt/c/Users/{YourUsername}/AppData/Local/mkcert/rootCA* /home/{YourUsername}/.local/share/mkcert
- ex: