Helm chart
How to self-host Toucan AI with Helm
Toucan AI can be deployed easily on a Kubernetes cluster using Helm.
Repository and usage
Add the Helm repository:
helm repo add toucan-ai <to be defined>Install the chart:
helm install toucan-ai toucan-ai/toucan-aiUpgrade the chart:
helm upgrade toucan-ai toucan-ai/toucan-aiUninstall the chart:
helm uninstall toucan-aiVariables
This is a reference of all the values that can be overridden in your values file:
Global Variables
nameOverride: Overrides the default name of the chart.fullnameOverride: Overrides the default full name of the chart.
Frontend Variables
frontend.replicaCount: Number of replicas for the frontend deployment.frontend.image.repository: Docker image repository for the frontend.frontend.image.pullPolicy: Image pull policy for the frontend.frontend.image.tag: Docker image tag for the frontend.frontend.imagePullSecrets: Secrets for pulling the frontend image.frontend.config: Configuration values for the frontend.frontend.podAnnotations: Annotations for the frontend pods.frontend.podLabels: Labels for the frontend pods.frontend.podSecurityContext: Security context for the frontend pods.frontend.securityContext: Security context for the frontend containers.frontend.service.type: Type of the frontend service.frontend.service.port: Port of the frontend service.frontend.volumes: Additional volumes for the frontend deployment.frontend.volumeMounts: Additional volume mounts for the frontend deployment.frontend.nodeSelector: Node selector for the frontend deployment.frontend.tolerations: Tolerations for the frontend deployment.frontend.affinity: Affinity for the frontend deployment.frontend.resources: Resource requests and limits for the frontend.frontend.livenessProbe: Liveness probe for the frontend.frontend.readinessProbe: Readiness probe for the frontend.frontend.autoscaling.enabled: Whether autoscaling is enabled for the frontend.frontend.autoscaling.minReplicas: Minimum number of replicas for the frontend.frontend.autoscaling.maxReplicas: Maximum number of replicas for the frontend.frontend.autoscaling.targetCPUUtilizationPercentage: Target CPU utilization percentage for the frontend.frontend.autoscaling.targetMemoryUtilizationPercentage: Target memory utilization percentage for the frontend.
Backend Variables
backend.image.repository: Docker image repository for the backend.backend.image.pullPolicy: Image pull policy for the backend.backend.image.tag: Docker image tag for the backend.backend.imagePullSecrets: Secrets for pulling the backend image.backend.config: Configuration values for the backend.backend.secrets: Secrets for the backend.
Web & worker
backend.[web|worker].replicaCount: Number of replicas for the backend deployment.backend.[web|worker].podAnnotations: Annotations for the backend pods.backend.[web|worker].podLabels: Labels for the backend pods.backend.[web|worker].podSecurityContext: Security context for the backend pods.backend.[web|worker].securityContext: Security context for the backend containers.backend.[web|worker].volumes: Additional volumes for the backend deployment.backend.[web|worker].volumeMounts: Additional volume mounts for the backend deployment.backend.[web|worker].nodeSelector: Node selector for the backend deployment.backend.[web|worker].tolerations: Tolerations for the backend deployment.backend.[web|worker].affinity: Affinity for the backend deployment.backend.[web|worker].resources: Resource requests and limits for the backend.backend.[web|worker].livenessProbe: Liveness probe for the backend.backend.[web|worker].readinessProbe: Readiness probe for the backend.backend.[web|worker].autoscaling.enabled: Whether autoscaling is enabled for the backend.backend.[web|worker].autoscaling.minReplicas: Minimum number of replicas for the backend.backend.[web|worker].autoscaling.maxReplicas: Maximum number of replicas for the backend.backend.[web|worker].autoscaling.targetCPUUtilizationPercentage: Target CPU utilization percentage for the backend.backend.[web|worker].autoscaling.targetMemoryUtilizationPercentage: Target memory utilization percentage for the backend.
Web specific
backend.web.service.type: Type of the backend service.backend.web.service.port: Port of the backend service.
Ingress Variables
ingress.enabled: Whether ingress is enabled.ingress.className: Ingress class name.ingress.annotations: Annotations for the ingress.ingress.hosts: Hosts for the ingress.ingress.tls: TLS configuration for the ingress.
Service Account Variables
serviceAccount.create: Whether to create a service account.serviceAccount.automount: Whether to automount the service account token.serviceAccount.annotations: Annotations for the service account.serviceAccount.name: Name of the service account.
PostgreSQL Variables
postgresql.enabled: Whether PostgreSQL is enabled.
See the PostgreSQL chart parameter for other parameters.
Main ones are:
postgresql.fullname: Full name of the PostgreSQL deployment.postgresql.auth.postgresPassword: Password for the PostgreSQL admin user.postgresql.auth.username: Username for the PostgreSQL user.postgresql.auth.password: Password for the PostgreSQL user.postgresql.auth.database: Database name for PostgreSQL.postgresql.service.ports.postgresql: Port for PostgreSQL.postgresql.primary.initdb.scriptsConfigMap: ConfigMap for PostgreSQL init scripts.
Redis Variables
redis.enabled: Whether Redis is enabled. See the Redis chart parameter for other parameters.
Note: auto-configuration of the REDIS_URL config parameter for the backend is only supported when architecture is standalone.
Extra Manifests
extraManifests: Additional Kubernetes manifests to deploy.