Upgrading to 0.19.x
This guide explains how to upgrade from 0.18.x to 0.19.x.
Before you begin
Section titled “Before you begin”Before you begin the upgrade process, ensure that you have a backup of your data.
The upgrade process will not touch the actual backup data, but might change the resource definitions.
Breaking changes
Section titled “Breaking changes”There are no breaking changes in this release. All new configuration is additive.
Checklist
Section titled “Checklist”Follow the steps in this checklist to upgrade to 0.19.x.
Enable maintenance mode
Section titled “Enable maintenance mode”Enable maintenance mode for the duration of the upgrade.
global: maintenance: enabled: true banner: message: "Upgrade in progress, we will be back shortly." variant: "info"Upgrade CRDs
Section titled “Upgrade CRDs”Install the new Custom Resource Definitions (CRDs) for 0.19.x:
Using kubectl
Section titled “Using kubectl”$ kubectl apply -f https://docs.kannika.io/refs/0.19.0/crd/kannika-crd-v1alpha.ymlUsing Helm
Section titled “Using Helm”$ helm install kannika-crd oci://quay.io/kannika/charts/kannika-crd \ --version 0.19.0Install application with updated Helm values
Section titled “Install application with updated Helm values”Default termination grace period
Section titled “Default termination grace period”This release adds an optional terminationGracePeriodSeconds Helm value under operator.config.pod
and under the pod of each pod type.
No action is required.
Restore, SchemaRegistryBackup, and SchemaRegistryRestore pods now get 60 seconds to shut down gracefully by default instead of 30 seconds.
For example, to give every pod 120 seconds and restore pods 300 seconds:
operator: config: pod: terminationGracePeriodSeconds: 120 restore: pod: terminationGracePeriodSeconds: 300Install the new version of Kannika Armory
Section titled “Install the new version of Kannika Armory”Install the new version of Kannika Armory using Helm:
$ helm upgrade --install kannika oci://quay.io/kannika/charts/kannika \ --create-namespace \ --namespace kannika-system \ --version 0.19.0 \ --values values.yamlDisable maintenance mode
Section titled “Disable maintenance mode”Once you have completed the upgrade process,
disable maintenance mode by setting global.maintenance.enabled to false.
global: maintenance: enabled: falseVerify the installation
Section titled “Verify the installation”Verify that the upgrade was successful by checking the logs of the Kannika Armory components:
$ kubectl logs -n kannika-system -l app.kubernetes.io/name=kannika-operator # or operator$ kubectl logs -n kannika-system -l app.kubernetes.io/name=kannika-api # or api$ kubectl logs -n kannika-system -l app.kubernetes.io/name=kannika-console # or consoleVerify that the backups are running as expected:
$ kubectl get backups -n [NAMESPACE]$ kubectl get schemaregistrybackups -n [NAMESPACE]Check that no backup or restore reports ConfigurationValid: False:
$ kubectl get backups,restores -A -o json \ | jq -r '.items[] | select(.status.conditions[]? | .type == "ConfigurationValid" and .status == "False") | "\(.kind) \(.metadata.namespace)/\(.metadata.name)"'If you encounter any issues during the upgrade process, do not hesitate to contact us on Slack.

