Skip to content

Install

You can install the pre-compiled binary (in several ways), compile from sources, or run with Docker.

We also provide a GitHub action to easily install Chainsaw in your workflows.

Install the pre-compiled binary

Homebrew tap

add tap:

brew tap kyverno/chainsaw https://github.com/kyverno/chainsaw

install chainsaw:

brew install kyverno/chainsaw/chainsaw

Don't forget to specify the tap name

Homebrew core already has a tool named chainsaw.

Be sure that you specify the tap name when installing to install the right tool.

Manually

Download the pre-compiled binaries for your system from the releases page and copy them to the desired location.

Install using go install

You can install with go install with:

go install github.com/kyverno/chainsaw@latest

Running with Docker

Chainsaw is also available as a Docker image which you can pull and run:

docker pull ghcr.io/kyverno/chainsaw:<version>

Info

Since Chainsaw relies on files for its operation (like test definitions), you will need to bind mount the necessary directories when running it via Docker.

docker run --rm                             \
    -v ./testdata/e2e/:/chainsaw/           \
    -v ${HOME}/.kube/:/etc/kubeconfig/      \
    -e KUBECONFIG=/etc/kubeconfig/config    \
    --network=host                          \
    ghcr.io/kyverno/chainsaw:<version>      \
    test /chainsaw --config /chainsaw/config.yaml

Compiling from sources

clone:

git clone https://github.com/kyverno/chainsaw.git
build the binaries:

cd chainsaw
go mod tidy
make build

verify it works:

./chainsaw version

GitHub action

A GitHub action is available to install Chainsaw in your workflows. See the GitHub action dedicated documentation.