Documentation menu

install

Install Klustr on macOS, Linux and Windows

Every release is built by CI from a tagged commit and published on GitHub Releases; the current version is v0.88.1. Pick your platform, then point Klustr at a kubeconfig context.

macOS

Apple Silicon. Signed with a Developer ID certificate and notarized by Apple.

homebrew

$ brew tap sametkum/klustr
$ brew install klustr

After the initial tap, brew search klustr and brew info klustr find it like any other formula.

manual

Download the darwin-arm64 tarball from the latest release, then:

$ tar -xzf klustr-*-darwin-arm64.tar.gz
$ mv klustr.app /Applications/
$ open /Applications/klustr.app

Gatekeeper opens the notarized bundle directly, even offline.

Arch, CachyOS, Manjaro

AUR package klustr-bin, bumped automatically on every release.

$ paru -S klustr-bin
# or
$ yay -S klustr-bin

The PKGBUILD uses the prebuilt release tarball, so the install completes in seconds.

Debian, Ubuntu

amd64 .deb attached to every release.

$ V=$(curl -fsSL https://api.github.com/repos/SametKUM/klustr/releases/latest \
    | grep -oP '"tag_name":\s*"\K[^"]+')
$ curl -LO https://github.com/SametKUM/klustr/releases/download/$V/klustr_${V#v}_amd64.deb
$ sudo apt install ./klustr_${V#v}_amd64.deb

The package pulls in webkit2gtk-4.1 and gtk-3 automatically and registers a desktop entry. Run the three commands one at a time; the first one resolves the latest tag.

Linux tarball

amd64, for any distribution that ships the runtime libraries.

Download the linux-amd64 tarball from the latest release, then:

$ tar -xzf klustr-*-linux-amd64.tar.gz
$ install -Dm755 klustr ~/.local/bin/klustr

Windows

amd64 zip, tested on Windows 11. Not code-signed yet.

PS> $V = (Invoke-RestMethod https://api.github.com/repos/SametKUM/klustr/releases/latest).tag_name
PS> Invoke-WebRequest "https://github.com/SametKUM/klustr/releases/download/$V/klustr-$V-windows-amd64.zip" -OutFile klustr.zip
PS> Expand-Archive klustr.zip "$env:LOCALAPPDATA\Programs\Klustr" -Force
PS> & "$env:LOCALAPPDATA\Programs\Klustr\klustr.exe"

Run the commands one at a time in PowerShell; the first one resolves the latest tag. Klustr renders through the WebView2 runtime that ships with Windows 11.

Downloaded with a browser instead, the unsigned klustr.exe gets a SmartScreen warning on first launch: choose More info, then Run anyway. With Smart App Control on, Windows blocks unsigned apps outright.

Build from source

mise pins Go, Node and the Wails CLI; one command installs all three.

$ mise install
$ wails build -trimpath -clean

Updating

Klustr checks GitHub Releases for a newer version and tells you when one exists; it never replaces itself.

homebrew

$ brew upgrade klustr

aur

$ paru -Syu

The .deb, the tarballs and the Windows zip are replaced by downloading the new release.

Verify a download

Every release ships a SHA256SUMS file, and each asset carries build provenance that ties it to the commit and workflow run that produced it. Swap the asset name for the one you downloaded. On Windows, Get-FileHash prints the SHA-256 to compare with the zip's line in SHA256SUMS.

$ V=$(curl -fsSL https://api.github.com/repos/SametKUM/klustr/releases/latest \
    | grep -oP '"tag_name":\s*"\K[^"]+')
$ curl -LO https://github.com/SametKUM/klustr/releases/download/$V/SHA256SUMS
$ sha256sum -c --ignore-missing SHA256SUMS   # macOS: shasum -a 256 -c --ignore-missing SHA256SUMS
$ gh attestation verify klustr-$V-linux-amd64.tar.gz --repo SametKUM/klustr

Requirements

  • A kubeconfig. Klustr reads ~/.kube/config and honors KUBECONFIG; if kubectl works, Klustr works.
  • macOS on Apple Silicon.
  • Linux amd64 with webkit2gtk-4.1 and gtk-3. Ubuntu 24.04+, Fedora 39+ and Arch ship them; Ubuntu 22.04 needs libwebkit2gtk-4.1-0 libgtk-3-0 first.
  • Windows 11 on amd64, which ships the WebView2 runtime.
  • Nothing in the cluster. Klustr installs no agent, operator or CRD.

All assets, including older versions, are on GitHub Releases.