Skip to content

Installing Kannika Armory

This guide helps you to install Kannika Armory on your Kubernetes cluster.

Before continuing with the installation, make sure you have the following tools available:

See Requirements for system specifications and other requirements.

Kannika Armory consists of the following components:

  • The operator component, which is responsible for managing the platform.
  • The API component, which provides a GraphQL and REST API for managing the platform.
  • The console component, which provides a responsive user interface.
  • The core component, which does the actual heavy lifting of backing up and restoring data. This does not need to be installed, as it is managed by the operator.
  • The registry component, which does the backing up and restoring schema registries. This does not need to be installed, as it is managed by the operator.

The easiest way to install the platform is by using the Helm chart. This will install all components at once.

Before installing the platform itself, you need to install the Custom Resource Definitions (CRDs) first. These are installed separately from the Helm chart to allow for a more flexible upgrade process.

Terminal window
$ kubectl apply -f https://docs.kannika.io/refs/0.12.4/crd/kannika-crd-v1alpha.yml
Terminal window
$ helm install kannika-crd oci://quay.io/kannika/charts/kannika-crd \
--version 0.12.4

Kannika Armory should be installed in its own namespace. By convention, the namespace kannika-system is used for this.

Terminal window
$ kubectl create namespace kannika-system

Kannika Armory requires a valid license to run. You must store the license key in a Kubernetes secret with the type kannika.io/license, using the key license, in the namespace where the platform is installed (by default kannika-system).

Terminal window
$ kubectl create secret generic kannika-license \
--namespace kannika-system \
--from-file=license=<license-key-file> \
--type=kannika.io/license

The operator will automatically pick up the license key and check its validity.

To upgrade an existing license, you may simply overwrite the existing license using kubectl apply:

Terminal window
$ kubectl create secret generic kannika-license \
--namespace kannika-system \
--from-file=license=<YOUR_LICENSE_FILE> \
--type=kannika.io/license \
--dry-run=client -o yaml | kubectl apply -f -

The operator will automatically pick up the license key and check its validity.

Install the chart with the release name kannika in the kannika-system namespace:

Terminal window
$ helm install kannika oci://quay.io/kannika/charts/kannika \
--create-namespace \
--namespace kannika-system \
--version 0.12.4

After installing the Helm chart and waiting for a short period of time, verify that the following Deployments are running:

Terminal window
$ kubectl get deployments --namespace kannika-system

The output should look similar to this:

NAME READY UP-TO-DATE AVAILABLE AGE
api 1/1 1 1 1m
console 1/1 1 1 1m
operator 1/1 1 1 1m

If you want to install the components separately, or if you want to install a subset of the components, you can do so in different ways.

The Helm chart allows you to enable or disable components using the following settings:

  • api.enabled: Enable the API component. Defaults to true.
  • console.enabled: Enable the console component. Defaults to true.
  • operator.enabled: Enable the operator component. Defaults to true.

For example, to install only the operator component and disable the API and console components, you can use the following command:

Terminal window
$ helm install kannika oci://quay.io/kannika/charts/kannika \
--create-namespace \
--namespace kannika-system \
--version 0.12.4 \
--set api.enabled=false \
--set console.enabled=false

You can further refine your installation with the following steps: