Toucan AI Docs

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-ai

Upgrade the chart:

helm upgrade toucan-ai toucan-ai/toucan-ai

Uninstall the chart:

helm uninstall toucan-ai

Variables

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

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.

On this page