The repo contains the scripts to deploy the core TrustBloc components.
- docker (running) [For Apple Silicon-based Macs, must be v3.6.0 or higher]
- minikube [v1.28.0 or higher]
- kubectl [v1.25.8 or higher]
- GNU bash [v5 or higher] (for macOS, refer to macos setup)
- GNU make
- GNU sed
- Install GNU sed and base64 utils:
brew install gnu-sed coreutils bash jq
- Create directory with symlinks to the used GNU tools
# mkdir ~/gnu && cd ~/gnu && ln -fs $( which gsed ) sed && ln -fs $( which gbase64 ) base64
- Always prepend the directory with GNU tools to the PATH when using this repo or add this to the bash profile, e.g.:
# PATH=~/gnu:$PATH
- The brew docker-mac-net-connect service installed:
Important: See the Running section below to see how to correctly run the service.
brew install chipmk/tap/docker-mac-net-connect
- HyperKit installed
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-arm64
sudo install minikube-darwin-arm64 /usr/local/bin/minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-darwin-amd64
sudo install minikube-darwin-amd64 /usr/local/bin/minikube
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
If using an Apple Silicon (arm64)-based Mac, before attempting to start up Sandbox, you will need to start the docker-mac-net-connect
brew service with root permissions to ensure that host-to-VM communication works:
sudo brew services start chipmk/tap/docker-mac-net-connect
Note that the service will not be able to connect to Docker without root permissions.
Re-create any existing minikube cluster and deploy all trustbloc services into the newly created cluster:
make setup-and-deploy
Deploy all components to the existing kubernetes cluster:
make
Deploy specific components to the existing kubernetes cluster:
make deploy-components COMPONENTS="component1 component2 component3"
Minikube cluster setup:
make minikube-setup
Minikube cluster re-create:
make minikube-reset
Open the dashboard in a browser:
minikube dashboard
Certain VPNs (on the host machine) have known issues with port conflicts when using the Hyperkit driver. The Hyperkit driver is used when running on an x86-64 machine.
If disabling the VPN is not possible, one workaround is to use the docker
driver along with the docker-mac-net-connect
brew service.
To do this:
- Install the brew docker-mac-net-connect service:
brew install chipmk/tap/docker-mac-net-connect
. - Start the service:
sudo brew services start chipmk/tap/docker-mac-net-connect
. Note: must be started with root permissions. - Change the driver to
docker
in theminikube_setup.sh
script.
Thank you for your interest in contributing. Please see our community contribution guidelines for more information.
Apache License, Version 2.0 (Apache-2.0). See the LICENSE file.