Helm Values Reference
Complete reference for all Helm chart values.
Global
# Number of replicas
replicaCount: 1
# Image configuration
image:
repository: ghcr.io/hostzero/keycloak-operator
pullPolicy: IfNotPresent
tag: "" # Defaults to Chart.appVersion
# Image pull secrets
imagePullSecrets: []
# Name overrides
nameOverride: ""
fullnameOverride: ""
Service Account
serviceAccount:
create: true
annotations: {}
name: ""
Pod Configuration
# Pod annotations
podAnnotations: {}
# Pod labels
podLabels: {}
# Pod security context
podSecurityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
# Container security context
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALL
readOnlyRootFilesystem: true
Resources
resources:
limits:
cpu: 500m
memory: 256Mi
requests:
cpu: 100m
memory: 128Mi
Scheduling
nodeSelector: {}
tolerations: []
affinity: {}
priorityClassName: ""
Leader Election
leaderElection:
enabled: true
Metrics
metrics:
enabled: true
port: 8080
serviceMonitor:
enabled: false
additionalLabels: {}
interval: 30s
scrapeTimeout: 10s
Health Probes
health:
port: 8081
Logging
logging:
level: info # debug, info, error
format: json # json, console
development: false
Performance Tuning
performance:
# Sync period for re-checking successfully reconciled resources
# Higher values reduce Keycloak API load but increase drift detection time
syncPeriod: "5m" # e.g., "5m", "30m", "1h"
# Maximum concurrent requests to Keycloak (0 = no limit)
# Lower values reduce Keycloak load but slow reconciliation
maxConcurrentRequests: 10
For large deployments (100+ resources), consider:
performance:
syncPeriod: "30m"
maxConcurrentRequests: 5
RBAC
rbac:
create: true
CRDs
crds:
install: true
keep: true # Keep CRDs on uninstall
Extra Configuration
# Additional environment variables
extraEnv: []
# - name: MY_VAR
# value: my-value
# Additional volumes
extraVolumes: []
# Additional volume mounts
extraVolumeMounts: []
High Availability
# Termination grace period
terminationGracePeriodSeconds: 10
# Network policy
networkPolicy:
enabled: false
ingress: []
egress: []
# Pod disruption budget
podDisruptionBudget:
enabled: false
minAvailable: 1
maxUnavailable: ""