Skip to main content

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

  1. A newish CPU
  2. At least 16 GB ram

Windows software

  1. WSL2 with Ubuntu 20.04
  2. Windows Terminal
  3. Docker for Windows - latest
    • use WSL2 based Engine, instead of the Hyper-V backend
    • Enable Kubernetes
  4. Docker Compose
  5. Mkcert
    • Run Powershell as Administrator and run the command:
    • choco install mkcert
  6. Visual Studio Code - latest

WSL/Ubuntu software

  1. Istio - 1.14+
  2. Helm - 3+
  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
  4. 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.

  1. 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
  2. In Windows Powershell, find out where the mkcert directory is
    • mkcert.exe -CAROOT
  3. In a Windows Terminal WSL shell, find out where the mkcert directory is
    • mkcert -CAROOT
  4. 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