Skip to content

    Installing Kannika Armory

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

    Prerequisites

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

    See Requirements for system specifications and other requirements.

    Installing Kannika Armory

    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 easiest way to install the platform is by using the Helm chart. This will install all components at once.

    Install the Custom Resource Definitions

    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.

    Using kubectl

    Terminal window
    $ kubectl apply -f https://docs.kannika.io/refs/0.8.0/crd/kannika-crd-v1alpha.yml

    Using Helm

    Terminal window
    $ helm install kannika-crd oci://quay.io/kannika/charts/kannika-crd \
    --version 0.8.0

    Create a namespace

    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

    Install the license key

    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.

    Make sure to install it in the same namespace as the platform itself.

    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.

    Install the platform using the Helm chart

    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.8.0

    Verifying the installation

    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

    Installing components

    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.

    Enabling or disabling components

    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.8.0 \
    --set api.enabled=false \
    --set console.enabled=false

    Installing components separately

    We also provide separate Helm charts for each component. These are the same charts that are used by the main Helm chart.

    Installing the operator

    The operator is responsible for managing the platform. It is required for the platform to function. To install the operator separately, run the following command:

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

    Installing the API

    The API is a web API for managing all resources. It is not required for the platform to function, but is optional in case you want to manage the platform using a REST or GraphQL API.

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

    Installing the console

    The console is a web-based user interface for managing the platform. It is not required for the platform to function, but is optional in case you want to manage the platform using a web-based user interface.

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

    Further steps

    After installing Kannika Armory, you can continue with the following steps.

    Expose the API and/or console

    The Helm chart does not expose the API or console to the outside world. You need to set up access to the API and/or console yourself. This is usually done by setting up an ingress and an ingress controller. Since this is different for each Kubernetes cluster, we do not provide specific instructions for this.

    Security is enabled by default. Please check the Security section for more details.