Grafana TankaFlexible, reusable and concise configuration for Kubernetes
Edit page
IntroductionInstallationJsonnet Bundler
Tutorial
Writing Jsonnet
Libraries
Output filteringExporting as YAMLGarbage collectionCommand-line completionDiff strategiesNamespacesConfiguration ReferenceDirectory structureEnvironment variablesFrequently asked questionsKnown issues

Installing Tanka

Tanka is distributed as a single binary called tk. It already includes the Jsonnet compiler, but requires some tools to be available:

  • kubectl: Tanka uses kubectl to communicate to your cluster. This means kubectl must be available somewhere on your $PATH. If you ever have worked with Kubernetes before, this should be the case anyways.
  • diff: To compute differences, standard UNIX diff(1) is required.
  • (recommended) jb: #Jsonnet Bundler, the Jsonnet package manager

On macOS, Tanka is best installed using brew:

$ brew install tanka

This downloads the most recent version of Tanka and installs it.
Also, Tanka is automatically kept up to date as part of brew upgrade.

Jsonnet Bundler

The Jsonnet Bundler project creates a package manager for Jsonnet to share and reuse code across the internet, similar to npm or go mod.

Tanka uses this tool by default, so it's recommended to install it as well:

The jb binary is primarily distributed using GitHub releases.

Linux, macOS

For Linux and macOS, download the binary for your architecture and put it somewhere on your $PATH:

# Linux amd64:
sudo curl -Lo /usr/local/bin/jb https://github.com/jsonnet-bundler/jsonnet-bundler/releases/latest/download/jb-linux-amd64

# Linux arm / arm64 (e.g. RaspberryPi):
sudo curl -Lo /usr/local/bin/jb https://github.com/jsonnet-bundler/jsonnet-bundler/releases/latest/download/jb-linux-arm
sudo curl -Lo /usr/local/bin/jb https://github.com/jsonnet-bundler/jsonnet-bundler/releases/latest/download/jb-linux-arm64

# macOS:
sudo curl -Lo /usr/local/bin/jb https://github.com/jsonnet-bundler/jsonnet-bundler/releases/latest/download/jb-darwin-amd64