Skip to main content

Prerequisites

Prerequisites

For local deployment

For deployment on a cloud platform (AWS)

  • we recommend pulumi, an infrastructure-as-code platform, for cloud deployments

Installing prerequisites

This section varies depending on OS.

Mac

  • Install Docker Desktop.

  • Start Docker Desktop and follow the setup instructions. Note: You may quit Docker after it has finished setting up. It is not required that Docker Desktop is running for you to run a Tezos chain.

  • Install homebrew:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
  • Install other prerequisites:

    brew install python3 kubectl minikube helm

Arch Linux

pacman -Syu && pacman -S docker python3 minikube kubectl kubectx helm

Other Operating Systems

Please see the respective pages for installation instructions:

Configuring Minikube

It is suggested to deploy minikube as a virtual machine. This requires a virtual machine driver.

Mac

Requires the hyperkit driver. This comes already bundled together with Docker Desktop.

Make hyperkit the default minikube driver:

minikube config set driver hyperkit

Other Operating Systems

If in the next step minikube does not start correctly, you may need to configure a different driver for it. Please see the minikube docs here for more information.

Starting Minikube

minikube start

Configure your shell environment to use minikube’s Docker daemon:

eval $(minikube docker-env)

This allows you to run Docker commands inside of minikube. For example: docker images to view the images that minikube has.

If you want to unset your shell from using minikube's docker daemon:

eval $(minikube docker-env -u)

Adding the Tacoinfra Helm Chart Repository

helm repo add tacoinfra https://tacoinfra.github.io/tezos-helm-charts/

Using a custom Tezos build

Create a clone of the [tezos](https://gitlab.com/tezos/tezos) repository. Set up your development environment as usual. Then run:

eval $(minikube docker-env)
make docker-image

This will create a docker image called tezos:latest and install it into the minikube environment.

Or, if you prefer, you can build the image using:

./scripts/create_docker_image.sh

This will create an image with a name like tezos/tezos:v16.0. Then you install it thus:

docker image save <image> | ( eval $(minikube docker-env); docker image load )

Either way, inside $CHAIN_NAME_values.yaml, change the images section to:

images:
octez: <image>

where image is tezos:latest or whatever.

Then install the chart as above.

Notes

  • We recommend using a very nice GUI for your k8s Tezos chain infrastructure called Lens. This allows you to easily see all of the k8s resources that have been spun up as well as to view the logs for your Tezos nodes. Checkout a similar tool called k9s that works in the CLI.