Docker Desktop


  • Install Helm:
    brew install helm
  • Add the Mongo Helm chart:
    helm repo add bitnami
  • Go into Docker Desktop preferences and enable Kubernetes
  • Create a Pulumi account
  • Install the Pulumi CLI:
    brew install Pulumi
  • Log into your pulumi account:
    pulumi login

Deploy Common Dependencies Stack

  • Copy sample pulumi configuration:
    cp pulumi/Pulumi.sample.yaml pulumi/Pulumi.docker-desktop.yaml
  • Update cluster to docker-desktop in pulumi/Pulumi.docker-desktop.yaml
  • In the pulumi/ directory
    • Initialize your pulumi stack:
      pulumi stack init docker-desktop
    • Deploy common dependecies:
      pulumi up

Deploy Coinstack Stack

  • Copy sample env file:
    cp coinstacks/ethereum/sample.env coinstacks/ethereum/.env
  • Fill out any missing environment variables
  • Copy sample pulumi configuration
    cp coinstacks/ethereum/pulumi/Pulumi.sample.yaml coinstacks/ethereum/pulumi/Pulumi.docker-desktop.yaml
  • Update stack to the output value of echo ${pulumi whoami}/common/docker-desktop
  • In the coinstacks/ethereum/pulumi/ directory:
    • Initialize your pulumi stack:
      pulumi stack init docker-desktop
    • Deploy coinstack:
      pulumi up

Useful Commands

  • Show list of available pulumi stacks (currently selected stack will have an asterisk next to the name):
    pulumi stack ls
  • Select your desired pulumi stack:
    pulumi stack select docker-desktop
  • Completely tear down the kubernetes resources and pulumi stack state:
    pulumi destroy
  • View localhost service ports:
    kubectl get svc --all-namespaces
  • If you ever need/want a fresh cluster:
    • Destroy common dependencies stack state in pulumi/:
      pulumi destroy
    • Destroy coinstack pulumi stack state in coinstacks/ethereum/pulumi/:
      pulumi destroy
    • Go into the Docker Desktop dashboard
    • Click the beetle button (Troubleshoot)
    • Click "Reset Kubernetes Cluster" to delete all stacks and Kubernetes resources
  • If enabling Kubernetes is hanging in docker desktop (starting can take 5+ min depending on your hardware, so wait a little before trying):
    • Go into Docker Desktop Dashboard
    • Click the beetle button (Troubleshoot)
    • Click "Clean/Purge Data"