Skip to content
HomeConfigurationChart Values

Chart Values ​

This document describes all available configuration options for the Kite Helm Chart.

Basic Configuration ​

ParameterDescriptionDefault
replicaCountNumber of replicas1
image.repositoryContainer image repositoryghcr.io/kite-org/kite
image.pullPolicyImage pull policyIfNotPresent
image.tagImage tag. If set, will override the chart's appVersion.""
imagePullSecretsImage pull secrets for private repositories[]
nameOverrideOverride chart name""
fullnameOverrideOverride full name""
debugEnable debug modefalse
basePathBase path where Kite is served. See notes below.""

Authentication & Security ​

ParameterDescriptionDefault
anonymousUserEnabledEnable anonymous user access with full admin privileges. Use with caution in production.false
jwtSecretSecret key for signing JWT tokens. Auto-generated on first boot if empty.""
encryptKeySecret key used for encrypting sensitive data. Change this in production."kite-default-encryption-key-change-in-production"
hostHostname for the application""

Database Configuration ​

ParameterDescriptionDefault
db.typeDatabase type: sqlite, postgres, mysqlsqlite
db.dsnFull DSN string for MySQL/Postgres. Required when type is mysql/postgres""

SQLite Configuration ​

ParameterDescriptionDefault
db.sqlite.persistence.pvc.enabledWhether to create a PVC to store the sqlite database filefalse
db.sqlite.persistence.pvc.existingClaimUse existing PVC""
db.sqlite.persistence.pvc.storageClassStorageClass for PVC (optional)""
db.sqlite.persistence.pvc.accessModesAccess modes for PVC["ReadWriteOnce"]
db.sqlite.persistence.pvc.sizeRequested storage size for PVC1Gi
db.sqlite.persistence.hostPath.enabledWhether to use hostPath storagefalse
db.sqlite.persistence.hostPath.pathhostPath path/path/to/host/dir
db.sqlite.persistence.hostPath.typehostPath typeDirectoryOrCreate
db.sqlite.persistence.mountPathMount path inside container/data
db.sqlite.persistence.filenameSQLite filename inside mountPathkite.db

Plugin Storage ​

Available in Kite v0.16.0 and later. The default plugin directory is /data/plugins, which shares SQLite's /data volume. Persistence is disabled by default.

ParameterDescriptionDefault
plugins.directoryPlugin directory inside the container; sets PLUGIN_DIR/data/plugins
plugins.persistence.enabledMount a separate PVC for plugin filesfalse
plugins.persistence.existingClaimUse an existing PVC instead of creating one""
plugins.persistence.storageClassStorageClass for the new PVC; empty uses the cluster default""
plugins.persistence.accessModesAccess modes for the new PVC["ReadWriteOnce"]
plugins.persistence.sizeStorage requested for the new PVC1Gi

WARNING

If the plugin directory is not on persistent storage, recreating the Pod loses plugin files. Plugins installed from the official catalog are downloaded again, requiring access to the download source. Manually uploaded plugins must be uploaded again.

Automatic downloads rely on installation records in the database. Persist the SQLite database or use an external database as well.

With SQLite, enable database persistence and leave plugins.persistence.enabled set to false. The database and plugins share one PVC:

yaml
deploymentStrategy:
  type: Recreate

db:
  sqlite:
    persistence:
      pvc:
        enabled: true

If you change db.sqlite.persistence.mountPath, also set plugins.directory to a subdirectory of that path to keep sharing the volume.

With MySQL or PostgreSQL, enable a separate plugin PVC:

yaml
deploymentStrategy:
  type: Recreate

plugins:
  directory: /data/plugins
  persistence:
    enabled: true
    size: 1Gi

Set plugins.persistence.existingClaim to reuse a PVC in Kite's namespace. With ReadWriteOnce storage, use Recreate for a single replica to avoid volume attachment conflicts during upgrades.

Environment Variables ​

ParameterDescriptionDefault
extraEnvsList of additional environment variables[]

Application Configuration ​

Kite supports loading cluster, OAuth/LDAP, and RBAC configuration from a YAML config file. When enabled, managed sections become read-only in the UI.

Available in Kite v0.10.0 and later.

See Configuration File for the full config file format, usage examples, and reference.

ParameterDescriptionDefault
config.enabledEnable configuration file modefalse
config.existingSecretName of an existing Secret containing a config.yaml key. Recommended approach.""
config.superUserInline super user configuration (created on first startup only){}
config.clustersInline cluster configurations (when no existingSecret)[]
config.oauthInline OAuth provider configurations[]
config.ldapInline LDAP configuration{}
config.rbac.rolesInline RBAC role definitions[]
config.rbac.roleMappingInline RBAC role mappings[]

Service Account Configuration ​

ParameterDescriptionDefault
serviceAccount.createWhether to create a service accounttrue
serviceAccount.automountAutomatically mount service account API credentialstrue
serviceAccount.annotationsAnnotations for service account{}
serviceAccount.nameName of service account to use""

RBAC Configuration ​

ParameterDescriptionDefault
rbac.createWhether to create RBAC resourcestrue
rbac.rulesList of RBAC rulesSee example below

RBAC Rules Example ​

yaml
rbac:
  rules:
    - apiGroups: ["*"]
      resources: ["*"]
      verbs: ["*"]
    - nonResourceURLs: ["*"]
      verbs: ["*"]

Pod Configuration ​

ParameterDescriptionDefault
podAnnotationsKubernetes annotations for Pod{}
podLabelsKubernetes labels for Pod{}
podSecurityContextPod security context{}
securityContextContainer security context{}

Service Configuration ​

ParameterDescriptionDefault
service.typeService typeClusterIP
service.portService port8080

Ingress Configuration ​

ParameterDescriptionDefault
ingress.enabledWhether to enable Ingressfalse
ingress.classNameIngress class name"nginx"
ingress.annotationsIngress annotations{}
ingress.hostsIngress host configurationSee example below
ingress.tlsTLS configuration[]

Ingress Host Configuration Example ​

yaml
ingress:
  hosts:
    - host: kitehq.dev
      paths:
        - path: /
          pathType: ImplementationSpecific

Resource Limits ​

ParameterDescriptionDefault
resourcesContainer resource limits and requests{}

Resource Limits Example ​

yaml
resources:
  limits:
    cpu: 100m
    memory: 128Mi
  requests:
    cpu: 100m
    memory: 128Mi

Health Checks ​

ParameterDescriptionDefault
livenessProbeLiveness probe configurationSee example below
readinessProbeReadiness probe configurationSee example below

Health Check Example ​

yaml
livenessProbe:
  httpGet:
    path: /healthz
    port: http
  initialDelaySeconds: 10
  periodSeconds: 10
readinessProbe:
  httpGet:
    path: /healthz
    port: http
  initialDelaySeconds: 10
  periodSeconds: 10

Storage Configuration ​

ParameterDescriptionDefault
volumesAdditional volume configurations[]
volumeMountsAdditional volume mount configurations[]

Scheduling Configuration ​

ParameterDescriptionDefault
nodeSelectorNode selector{}
tolerationsTolerations configuration[]
affinityAffinity configuration{}

Released under the Apache License.