Install Kurtosis
The instructions in this guide will walk you through installing the latest version of Kurtosis.
I. Install & Start Docker
- If you don't already have Docker installed, follow the instructions here to install the Docker application specific to your machine (e.g. Apple Intel, Apple M1, etc.).
- Start the Docker daemon (e.g. open Docker Desktop)
- Verify that Docker is running:
docker image ls
II. Install the CLI
- brew (MacOS)
- apt (Ubuntu)
- yum (RHEL)
- deb, rpm, and apk
- Windows
brew install kurtosis-tech/tap/kurtosis-cli
Homebrew might warn you that your Xcode is outdated or missing entirely. This is a Homebrew requirement, and has nothing to do with Kurtosis (which ships as prebuilt binaries).
To install or update your Xcode, run:
xcode-select --install
echo "deb [trusted=yes] https://apt.fury.io/kurtosis-tech/ /" | sudo tee /etc/apt/sources.list.d/kurtosis.list
sudo apt update
sudo apt install kurtosis-cli
echo '[kurtosis]
name=Kurtosis
baseurl=https://yum.fury.io/kurtosis-tech/
enabled=1
gpgcheck=0' | sudo tee /etc/yum.repos.d/kurtosis.repo
sudo yum install kurtosis-cli
Download the appropriate artifact from the release artifacts page.
Windows users are encouraged to use Windows Subsystem for Linux (WSL) to use Kurtosis. If you want to run a native executable, you can download the latest build for your architecture here.
Or do it using PowerShell:
1. Downloading Kurtosis
Download latest Kurtosis package and extract it to current directory.
Invoke-WebRequest -Uri "https://github.com/kurtosis-tech/kurtosis-cli-release-artifacts/releases/download/REPLACE_VERSION/kurtosis-cli_REPLACE_VERSION_windows_REPLACE_ARCH.tar.gz" -OutFile kurtosis.tar.gz
tar -xvzf kurtosis.tar.gz
2. Updating the Path to Include Kurtosis
Note: This step needs to be executed in an administrative PowerShell session.
Add Kurtosis to the Path
environment variable and make a bat script which would take care of running Kurtosis as a cmdlet.
$currentDir = Get-Location
$systemPath = [Environment]::GetEnvironmentVariable("Path", [EnvironmentVariableTarget]::Machine)
if (-not $systemPath.Contains($currentDir)) {
$newPath = $systemPath + ";" + $currentDir
[Environment]::SetEnvironmentVariable("Path", $newPath, [EnvironmentVariableTarget]::Machine)
}
$batchContent = @"
@echo off
kurtosis.exe %*
"@
$batchContent | Out-File "$currentDir\kurtosis.bat"
3. Example Usage
⚠️ Warning: Ensure you open a new PowerShell window after completing steps 1 and 2 to reflect the updated environment variables.
kurtosis version
III. (Optional) Add command-line completion
Kurtosis supports optional command-line completion to allow completing subcommands and dynamic values (e.g. enclave name during enclave inspect
). If you'd like to install it, see these instructions.
Run the quickstart
If you're new to Kurtosis, you might like the quickstart as a good onboarding to get started with Kurtosis.