Skip to the content.

keycloak

Version: 1.0.0 Type: application AppVersion: 17.0.0

A Helm chart for deploying Keycloak.x (aka Keycloak Quarkus or version 17+). Supports external database, ingress and clustering

Values

Key Type Default Description
affinity object {} If you want to assign affinity to the pods
extraSecrets object {} Use this to have the chart create extra Kubernetes secrets and assign values to them
extraVolumeMounts list [] VolumeMounts to add the pods
extraVolumes list [] Volumes to add to the pods
fullnameOverride string "" String to completely override fullname template
image.pullPolicy string "Always" Image pull policy for the pods
image.registry string "quay.io" The registry where the custom Keycloak image is stored
image.repository string "keycloak/keycloak" The name/repository of the custom Keycloak image
image.tag string "17.0.0" The tag of the custom Keycloak image
imagePullSecrets list [] If secrets are required to pull the images
ingress.annotations string nil Additionnal annotations to add to the ingress
ingress.className string "" The IngressClass to use
ingress.enabled bool false Enable or disable ingress, a single rule will be created for the service
ingress.host string "keycloak.example.net" Hostname to use for the ingress rule
ingress.path string "/" The path to use for the ingress rule
ingress.pathType string "Prefix" The path type, leave as ‘Prefix’ if unsure
ingress.tls.enabled bool false Enable TLS for the ingress
ingress.tls.secretName string "" The secret containing the TLS certificate
keycloak.adminPasswordSecret object {"key":"","name":""} Secret containing the password for the primary admin user
keycloak.adminUser string "admin" The name of the primary admin user added to Keycloak at first startup
keycloak.args list [] The arguments passed to the entrypoint in the Keycloak container (normally this will be kc.sh)
keycloak.clustered bool true Enable this if the Keycloak image has clustering enabled, needs to be true even if number of replicas is 1
keycloak.database.databaseName string "" External database: DB name
keycloak.database.host string "" External database: hostname of the database
keycloak.database.passwordSecret object {"key":"","name":""} External database: reference to the secret containing the DB password
keycloak.database.properties string "" External database: extra properties to add to the JDBC URL
keycloak.database.username string "" External database: DB username
keycloak.extraEnv string nil Extra environment variables to set in the pod
keycloak.extraEnvSecret string nil Extra environment variables to set from secrets
keycloak.healthCheckPath string "/realms/master" The URL path used by readiness checks
keycloak.hostnamePath string "" This should be set if proxy uses a different context path for Keycloak
keycloak.hostnameStrict bool false Enable or disable strict checking of the host
keycloak.hostnameStrictHttps bool false Enable or disable strict checking of the TLS certificate
keycloak.httpEnabled bool true Enable or disable HTTP
keycloak.httpPort int 8080 The port used for HTTP access
keycloak.javaOptsAppend string "" Append settings to the startup via JAVA_OPTS_APPEND
keycloak.logLevel string "INFO" Set logging level for Keycloak
keycloak.proxyMode string "edge" The proxy forwarding mode
nameOverride string "" String to partially override fullname template (will maintain the release name)
nodeSelector object {} If you want to use a nodeSelector for the pods
podAnnotations object {} Annotations to add to the pods
podLabels object {} Labels to add to the pods
replicaCount int 1 Only enable multiple replicas if the image has a cluster provider enabled, and set keycloak.clustered=true
resources object {"limits":{"cpu":"2000m","memory":"1G"},"requests":{"cpu":"200m","memory":"400Mi"}} Resource limits and requests
service.port int 80 The port used for HTTP access into the service
service.type string "ClusterIP" Type of service to create for Keycloak HTTP traffic
tolerations list [] If you want to assign tolerations to the pods