Kurtosis is a platform for running distributed systems on Docker / Kubernetes. It provides a simple, powerful framework for spinning up and tearing down distributed systems programmatically.
To use BeaconKit with Kurtosis, you'll first need to install the Kurtosis CLI and its dependencies. You can find instructions for doing so here.
Once you've installed the Kurtosis CLI, you can use it to spin up a Beacon network with the following command from within the root directory of the beacon-kit repo:
make start-devnet
This will automatically build your beacond docker image from the local source
code, and spin up a Kurtosis network based on the config file in
kurtosis/beaconkit-all.yaml
. Once complete, this will output all the
network information for your nodes like so:
When you want to tear down your network, you can do so with the following commands:
make stop-devnet
make rm-devnet
And that's it!
Ask for GCP access in #devops if you need it.
Set Kurtosis to run with cloud(GCP)/remote:
kurtosis cluster set minikube
Run the Kurtosis port forward to be able to start your devnet:
kurtosis gateway
Once you've installed the Kurtosis CLI, you can use it to spin up a Beacon network with the following command from within the root directory of the beacon-kit repo:
make start-gcp-devnet-no-build
When you want to tear down your network, you can do so with the following commands:
make stop-gcp-devnet
When you have killed a pod/component (in that example: cl-validator-beaconkit-0), restart it with that command:
kurtosis service start my-local-devnet cl-validator-beaconkit-0
Set kurtosis to run with local docker:
kurtosis cluster set docker
Set Kurtosis to run with cloud(GCP)/remote:
kurtosis cluster set minikube