Deploy KIX using Helm Chart

Please create a namespace before the deployment. For instance:

kubectl create namespace kix

KIX also need some PVCs to be created before the deployment:

backend-data-pvc

The following data will be stored in this volume claim:

kix-pvc-backend-data.yaml

kubectl create -n kix -f kix-pvc-backend-data.yaml

frontend-data-pvc

The following data will be stored in this volume claim:

kix-pvc-frontend-data.yaml

kubectl create -n kix -f kix-pvc-frontend-data.yaml

shared-pvc

The following data will be stored in this volume claim:

kix-pvc-shared.yaml

kubectl create -n kix -f kix-pvc-shared.yaml

Install the Chart repository

helm repo add kix https://helm.kixdesk.com
helm repo update

Test the Chart

Execute the following for testing the chart:

HTTP repository:

helm install --dry-run --debug kix -n kix kix

OCI Registry:

helm install --dry-run --debug kix -n kix oci://docker-registry.kixdesk.com/helm/kix --version 1.0.0

Install or upgrade the Chart

IMPORTANT: At least the following configuration parameters MUST be set in order to deploy / install the KIX chart (see tables below):


Image Registry:

global.image.registry

Database Host:

backend.config.database.host

Database Name:

backend.config.database.db

Database User:

backend.config.database.user

Database Password:

backend.config.database.password

Agent Portal:

frontend.ingress.hosts.agentPortal.hostname

Self Service Portal (if SSP should be used):

frontend.ingress.hosts.ssp.enabled
frontend.ingress.hosts.ssp.hostname

To install or upgrade the chart execute the following:

HTTP repository:

helm upgrade -i -n kix kix kix

OCI Registry:

helm upgrade -i -n kix kix oci://docker-registry.kixdesk.com/helm/kix --version 1.0.0

Uninstall the Chart

Execute the following to uninstall the chart:

helm uninstall -n kix kix

Chart Configuration Values

Global Parameters

Parameter Description Default Value
global.image.registry the docker registry to use docker-registry.kixdesk.com/public
global.image.tag the image tag to use stable
global.image.pullPolicy the pull policy to use for all images (can be overridden by each subchart) Always
global.config.initialAdminPassword the initial password of the admin account Passw0rd
global.config.sharedApiTokenUser overrides the default user admin when creating the shared API token, if given ""

Backend Parameters

Parameter Description Default Value
backend.image.pullPolicy the (optional) pull policy to use for the backend image (overrides the global config) nil
backend.serviceAccount.create create a service account true
backend.serviceAccount.name the name of the service account to create kix-backend
backend.ingress.enabled enable ingress integration true
backend.ingress.annotations some annotations {}
backend.ingress.hosts.api.enabled enable the backend API in ingress controller false
backend.ingress.hosts.api.hostname the FQDN of the backend API nil
backend.ingress.hosts.api.path the URL path of the backend API /
backend.ingress.hosts.api.pathType the type of the URL path of the backend API Prefix
backend.ingress.tls optional TLS configuration []
backend.resources optional resource requests and limits {}
backend.nodeSelector an optional nodeSelector {}
backend.tolerations optional tolerations settings []
backend.affinity optional affinity settings {}
backend.config.database.host the FQDN of the PostgreSQL database server nil
backend.config.database.port the port on the PostgreSQL database server to connect to 5432
backend.config.database.db the name of the database to use kix
backend.config.database.user the login of the DB user kix
backend.config.database.password the password of the DB user kix

Frontend Parameters

Parameter Description Default Value
frontend.image.pullPolicy the (optional) pull policy to use for the frontend image (overrides the global config) nil
frontend.serviceAccount.create create a service account true
frontend.serviceAccount.name the name of the service account to create kix-frontend
frontend.ingress.enabled enable ingress integration true
frontend.ingress.annotations some annotations {}
frontend.ingress.hosts.agentPortal.enabled enable the Agent Portal in ingress controller true
frontend.ingress.hosts.agentPortal.hostname the FQDN of the Agent Portal nil
frontend.ingress.hosts.agentPortal.path the URL path of the Agent Portal /
frontend.ingress.hosts.agentPortal.pathType the type of the URL path of the Agent Portal Prefix
frontend.ingress.hosts.ssp.enabled enable the Self Service Portal in ingress controller false
frontend.ingress.hosts.ssp.hostname the FQDN of the Self Service Portal nil
frontend.ingress.hosts.ssp.path the URL path of the Self Service Portal /
frontend.ingress.hosts.ssp.pathType the type of the URL path Prefix
frontend.ingress.tls optional TLS configuration []
frontend.resources optional resource requests and limits {}
frontend.nodeSelector an optional nodeSelector {}
frontend.tolerations optional tolerations settings []
frontend.affinity optional affinity settings {}
frontend.config.server.logging.level the log level (0: ERROR, 1: WARNING, 2: INFO, 3: DEBUG) 2
frontend.config.server.logging.trace enable stack traces (in case of an error) false
frontend.config.server.logging.profiling enable profiling (log request details etc.) false
frontend.config.agentPortal.sso.enabled enable kerberos SSO in Agent Portal false
frontend.config.ssp.sso.enabled enable kerberos SSO in Self Service Portal false

Redis Configuration Values

Parameter Description Default Value
redis.image.pullPolicy the (optional) pull policy to use for the redis images (overrides the global config) nil
redis.serviceAccount.create create a service account true
redis.serviceAccount.name the name of the service account to create kix-redis