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
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.
Installation of kyverno-chainsaw using Nix Package Manager¶
To install kyverno-chainsaw, refer to the documentation.
On NixOS¶
nix-env -iA nixos.kyverno-chainsaw
On Non-NixOS¶
nix-env -iA nixpkgs.kyverno-chainsaw
Using NixOS Configuration¶
Add the following Nix code to your NixOS Configuration, usually located in /etc/nixos/configuration.nix
:
environment.systemPackages = [
pkgs.kyverno-chainsaw
];
Using nix-shell¶
A nix-shell will temporarily modify your $PATH
environment variable. This can be used to try a piece of software before deciding to permanently install it. Use the following command to install kyverno-chainsaw
:
nix-shell -p kyverno-chainsaw