diff --git a/README.md b/README.md index 86cdfbb..10827b2 100644 --- a/README.md +++ b/README.md @@ -62,67 +62,87 @@ helm upgrade langfuse langfuse/langfuse The following table lists the useful configurable parameters of the Langfuse chart and their default values. -| Parameter | Description | Default | -|-----------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------| -| `langfuse.licenseKey` | Langfuse EE license key. | `""` | -| `langfuse.nextauth.url` | When deploying to production, set the `nextauth.url` value to the canonical URL of your site. | `http://localhost:3000` | -| `langfuse.nextauth.secret` | Used to encrypt the NextAuth.js JWT, and to hash email verification tokens. In case the value is set to `null`, then the default `NEXTAUTH_SECRET` environment variable will not be set. | `changeme` | -| `langfuse.next.healthcheckBasePath` | Base path for the liveness/readiness probes. Should not include trailing slash. | `""` | -| `langfuse.port` | Port to run Langfuse on | `3000` | -| `langfuse.salt` | Salt for API key hashing. In case the value is set to `null`, then the default `SALT` environment variable will not be set. | `changeme` | -| `langfuse.telemetryEnabled` | Weither or not to enable telemetry (reports basic usage statistics of self-hosted instances to a centralized server). | `true` | -| `langfuse.extraContainers` | Dict that allow addition of additional containers | `[]` | -| `langfuse.extraInitContainers` | Dict that allow addition of init containers | `[]` | -| `langfuse.extraVolumes` | Dict that allow addition of volumes that can be mounted to the containers | `[]` | -| `langfuse.extraVolumeMounts` | Dict that mounts extra volumes to the langfuse container | `[]` | -| `langfuse.web.replicas` | Number of replicas to start for the web container. Defaults to global `replicaCount`. | `replicaCount` | -| `langfuse.web.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe. | `20` | -| `langfuse.web.livenessProbe.periodSeconds` | Period seconds for livenessProbe. | `10` | -| `langfuse.web.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe. | `5` | -| `langfuse.web.livenessProbe.failureThreshold` | Failure threshold for livenessProbe. | `5` | -| `langfuse.web.livenessProbe.successThreshold` | Success threshold for livenessProbe. | `1` | -| `langfuse.web.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe. | `20` | -| `langfuse.web.readinessProbe.periodSeconds` | Period seconds for readinessProbe. | `10` | -| `langfuse.web.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe. | `5` | -| `langfuse.web.readinessProbe.failureThreshold` | Failure threshold for readinessProbe. | `5` | -| `langfuse.web.readinessProbe.successThreshold` | Success threshold for readinessProbe. | `1` | -| `langfuse.worker.replicas` | Number of replicas to start for the worker container. Defaults to global `replicaCount`. | `replicaCount` | -| `langfuse.worker.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe. | `20` | -| `langfuse.worker.livenessProbe.periodSeconds` | Period seconds for livenessProbe. | `10` | -| `langfuse.worker.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe. | `5` | -| `langfuse.worker.livenessProbe.failureThreshold` | Failure threshold for livenessProbe. | `5` | -| `langfuse.worker.livenessProbe.successThreshold` | Success threshold for livenessProbe. | `1` | -| `langfuse.additionalEnv` | Dict that allow addition of additional env variables, see [documentation](https://langfuse.com/docs/deployment/self-host#configuring-environment-variables) for details. | `{}` | -| `service.type` | Change the default k8s service type deployed with the application | `ClusterIP` | -| `service.port` | Change the default k8s service port deployed with the application | `3000` | -| `service.additionalLabels` | Add additional annotations to the service deployed with the application | `[]` | -| `ingress.enabled` | Enable ingress for the application | `false` | -| `ingress.annotations` | Annotation to add to the deployed ingress | `[]` | -| `ingress.hosts` | Hosts to define for the deployed ingress. Effective only if `ingress.enabled` is set to true | `[]` | -| `postgresql.deploy` | Enable postgres deployment (via Bitnami Helm Chart). If you want to use a postgres server already deployed (or a managed one), set this to false | `true` | -| `postgresql.auth.username` | Username to use to connect to the postgres database deployed with Langfuse. In case `postgresql.deploy` is set to `true`, the user will be created automatically. | `postgres` | -| `postgresql.auth.password` | Password to use to connect to the postgres database deployed with Langfuse. In case `postgresql.deploy` is set to `true`, the password will be set automatically. | `postgres` | -| `postgresql.auth.database` | Database name to use for Langfuse. | `langfuse` | -| `postgresql.host` | If `postgresql.deploy` is set to false, hostname of the external postgres server to use (mandatory) | `nil` | -| `postgresql.directUrl` | If `postgresql.deploy` is set to false, Connection string of your Postgres database used for database migrations. Use this if you want to use a different user for migrations or use connection pooling on DATABASE_URL. For large deployments, configure the database user with long timeouts as migrations might need a while to complete. | `nil` | -| `postgresql.shadowDatabaseUrl` | If your database user lacks the CREATE DATABASE permission, you must create a shadow database and configure the "SHADOW_DATABASE_URL". This is often the case if you use a Cloud database. Refer to the Prisma docs for detailed instructions. | `nil` -| `postgresql.primary.persistence.size` | Disk request for the postgres database deployed with Langfuse. Effective only if `postgresql.deploy` is set to true | `8Gi` | -| `postgresql.primary.persistence.storageClass` | Disk PVC Storage Class for the postgres database deployed with Langfuse. Effective only if `postgresql.deploy` is set to true | `` | -| `clickhouse.deploy` | Enable ClickHouse deployment (via Bitnami Helm Chart). If you want to use an external Clickhouse server (or a managed one), set this to false | `true` | -| `clickhouse.shards` | Number of shards to use for the ClickHouse cluster. Must be set to 1. | `1` | -| `clickhouse.replicaCount` | Number of replicas to use for the ClickHouse cluster. 1 corresponds to a single, non-HA deployment. | `3` | -| `clickhouse.resourcesPreset` | Resource preset for Bitnami Helm chart. | `large` | -| `clickhouse.auth.username` | Username for the ClickHouse user. | `default` | -| `clickhouse.auth.password` | Password for the ClickHouse user. | `changeme` | -| `valkey.deploy` | Enable valkey deployment (via Bitnami Helm Chart). If you want to use a Redis or Valkey server already deployed, set to false. | `true` | -| `valkey.architecture` | Architecture for the valkey deployment. Should be `standalone`. | `standalone` | -| `valkey.primary.extraFlags` | Extra flags for the valkey deployment. Must include `--maxmemory-policy noeviction`. | `--maxmemory-policy noeviction` | -| `valkey.auth.password` | Password for the valkey cluster. | `changeme` | -| `minio.deploy` | Enable MinIO deployment (via Bitnami Helm Chart). If you want to use a custom BlobStorage, e.g. S3, set to false. | `true` | -| `minio.defaultBuckets` | Default buckets to create with the MinIO deployment. | `langfuse` | -| `minio.auth.rootUser` | Name of the MinIO root user. | `minio` | -| `minio.auth.rootPassword` | Password for the MinIO root user. | `miniosecret` | -| `extraManifests` | Dict that allow addition of additional k8s resources | `[]` | +| Parameter | Description | Default | +|---------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------| +| `langfuse.licenseKey` | Langfuse EE license key. | `""` | +| `langfuse.nextauth.url` | When deploying to production, set the `nextauth.url` value to the canonical URL of your site. | `http://localhost:3000` | +| `langfuse.nextauth.secret` | Used to encrypt the NextAuth.js JWT, and to hash email verification tokens. In case the value is set to `null`, then the default `NEXTAUTH_SECRET` environment variable will not be set. | `changeme` | +| `langfuse.next.healthcheckBasePath` | Base path for the liveness/readiness probes. Should not include trailing slash. | `""` | +| `langfuse.port` | Port to run Langfuse on | `3000` | +| `langfuse.salt` | Salt for API key hashing. In case the value is set to `null`, then the default `SALT` environment variable will not be set. | `changeme` | +| `langfuse.telemetryEnabled` | Weither or not to enable telemetry (reports basic usage statistics of self-hosted instances to a centralized server). | `true` | +| `langfuse.extraContainers` | Dict that allow addition of additional containers | `[]` | +| `langfuse.extraInitContainers` | Dict that allow addition of init containers | `[]` | +| `langfuse.extraVolumes` | Dict that allow addition of volumes that can be mounted to the containers | `[]` | +| `langfuse.extraVolumeMounts` | Dict that mounts extra volumes to the langfuse container | `[]` | +| `langfuse.web.replicas` | Number of replicas to start for the web container. Defaults to global `replicaCount`. | `replicaCount` | +| `langfuse.web.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe. | `20` | +| `langfuse.web.livenessProbe.periodSeconds` | Period seconds for livenessProbe. | `10` | +| `langfuse.web.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe. | `5` | +| `langfuse.web.livenessProbe.failureThreshold` | Failure threshold for livenessProbe. | `5` | +| `langfuse.web.livenessProbe.successThreshold` | Success threshold for livenessProbe. | `1` | +| `langfuse.web.readinessProbe.initialDelaySeconds` | Initial delay seconds for readinessProbe. | `20` | +| `langfuse.web.readinessProbe.periodSeconds` | Period seconds for readinessProbe. | `10` | +| `langfuse.web.readinessProbe.timeoutSeconds` | Timeout seconds for readinessProbe. | `5` | +| `langfuse.web.readinessProbe.failureThreshold` | Failure threshold for readinessProbe. | `5` | +| `langfuse.web.readinessProbe.successThreshold` | Success threshold for readinessProbe. | `1` | +| `langfuse.web.hpa.enabled` | Enable Horizontal Pod Autoscaler (HPA) for the web component. | `false` | +| `langfuse.web.hpa.minReplicas` | Minimum number of replicas for HPA for the web component. | `1` | +| `langfuse.web.hpa.maxReplicas` | Maximum number of replicas for HPA for the web component. | `2` | +| `langfuse.web.hpa.targetCPUUtilizationPercentage` | Target CPU utilization percentage for HPA for the web component. | `50` | +| `langfuse.web.hpa.targetMemoryUtilizationPercentage` | Target memory utilization percentage for HPA for the web component. | `null` | +| `langfuse.web.vpa.enabled` | Enable Vertical Pod Autoscaler (VPA) for the web component. | `false` | +| `langfuse.web.vpa.controlledResources` | Resources controlled by VPA for the web component. | `[]` | +| `langfuse.web.vpa.maxAllowed` | Maximum resource limits allowed by VPA for the web component. | `{}` | +| `langfuse.web.vpa.minAllowed` | Minimum resource limits allowed by VPA for the web component. | `{}` | +| `langfuse.web.vpa.updatePolicy.updateMode` | Update mode for VPA (e.g., `Auto`). | `Auto` | +| `langfuse.worker.replicas` | Number of replicas to start for the worker container. Defaults to global `replicaCount`. | `replicaCount` | +| `langfuse.worker.livenessProbe.initialDelaySeconds` | Initial delay seconds for livenessProbe. | `20` | +| `langfuse.worker.livenessProbe.periodSeconds` | Period seconds for livenessProbe. | `10` | +| `langfuse.worker.livenessProbe.timeoutSeconds` | Timeout seconds for livenessProbe. | `5` | +| `langfuse.worker.livenessProbe.failureThreshold` | Failure threshold for livenessProbe. | `5` | +| `langfuse.worker.livenessProbe.successThreshold` | Success threshold for livenessProbe. | `1` | +| `langfuse.worker.hpa.enabled` | Enable Horizontal Pod Autoscaler (HPA) for the worker component. | `false` | +| `langfuse.worker.hpa.minReplicas` | Minimum number of replicas for HPA for the worker component. | `1` | +| `langfuse.worker.hpa.maxReplicas` | Maximum number of replicas for HPA for the worker component. | `2` | +| `langfuse.worker.hpa.targetCPUUtilizationPercentage` | Target CPU utilization percentage for HPA for the worker component. | `50` | +| `langfuse.worker.hpa.targetMemoryUtilizationPercentage` | Target memory utilization percentage for HPA for the worker component. | `null` | +| `langfuse.worker.vpa.enabled` | Enable Vertical Pod Autoscaler (VPA) for the worker component. | `false` | +| `langfuse.worker.vpa.controlledResources` | Resources controlled by VPA for the worker component. | `[]` | +| `langfuse.worker.vpa.maxAllowed` | Maximum resource limits allowed by VPA for the worker component. | `{}` | +| `langfuse.worker.vpa.minAllowed` | Minimum resource limits allowed by VPA for the worker component. | `{}` | +| `langfuse.worker.vpa.updatePolicy.updateMode` | Update mode for VPA (e.g., `Auto`). | `Auto` | +| `langfuse.additionalEnv` | Dict that allow addition of additional env variables, see [documentation](https://langfuse.com/docs/deployment/self-host#configuring-environment-variables) for details. | `{}` | +| `service.type` | Change the default k8s service type deployed with the application | `ClusterIP` | +| `service.port` | Change the default k8s service port deployed with the application | `3000` | +| `service.additionalLabels` | Add additional annotations to the service deployed with the application | `[]` | +| `ingress.enabled` | Enable ingress for the application | `false` | +| `ingress.annotations` | Annotation to add to the deployed ingress | `[]` | +| `ingress.hosts` | Hosts to define for the deployed ingress. Effective only if `ingress.enabled` is set to true | `[]` | +| `postgresql.deploy` | Enable postgres deployment (via Bitnami Helm Chart). If you want to use a postgres server already deployed (or a managed one), set this to false | `true` | +| `postgresql.auth.username` | Username to use to connect to the postgres database deployed with Langfuse. In case `postgresql.deploy` is set to `true`, the user will be created automatically. | `postgres` | +| `postgresql.auth.password` | Password to use to connect to the postgres database deployed with Langfuse. In case `postgresql.deploy` is set to `true`, the password will be set automatically. | `postgres` | +| `postgresql.auth.database` | Database name to use for Langfuse. | `langfuse` | +| `postgresql.host` | If `postgresql.deploy` is set to false, hostname of the external postgres server to use (mandatory) | `nil` | +| `postgresql.directUrl` | If `postgresql.deploy` is set to false, Connection string of your Postgres database used for database migrations. Use this if you want to use a different user for migrations or use connection pooling on DATABASE_URL. For large deployments, configure the database user with long timeouts as migrations might need a while to complete. | `nil` | +| `postgresql.shadowDatabaseUrl` | If your database user lacks the CREATE DATABASE permission, you must create a shadow database and configure the "SHADOW_DATABASE_URL". This is often the case if you use a Cloud database. Refer to the Prisma docs for detailed instructions. | `nil` | +| `postgresql.primary.persistence.size` | Disk request for the postgres database deployed with Langfuse. Effective only if `postgresql.deploy` is set to true | `8Gi` | +| `postgresql.primary.persistence.storageClass` | Disk PVC Storage Class for the postgres database deployed with Langfuse. Effective only if `postgresql.deploy` is set to true | `` | +| `clickhouse.deploy` | Enable ClickHouse deployment (via Bitnami Helm Chart). If you want to use an external Clickhouse server (or a managed one), set this to false | `true` | +| `clickhouse.shards` | Number of shards to use for the ClickHouse cluster. Must be set to 1. | `1` | +| `clickhouse.replicaCount` | Number of replicas to use for the ClickHouse cluster. 1 corresponds to a single, non-HA deployment. | `3` | +| `clickhouse.resourcesPreset` | Resource preset for Bitnami Helm chart. | `large` | +| `clickhouse.auth.username` | Username for the ClickHouse user. | `default` | +| `clickhouse.auth.password` | Password for the ClickHouse user. | `changeme` | +| `valkey.deploy` | Enable valkey deployment (via Bitnami Helm Chart). If you want to use a Redis or Valkey server already deployed, set to false. | `true` | +| `valkey.architecture` | Architecture for the valkey deployment. Should be `standalone`. | `standalone` | +| `valkey.primary.extraFlags` | Extra flags for the valkey deployment. Must include `--maxmemory-policy noeviction`. | `--maxmemory-policy noeviction` | +| `valkey.auth.password` | Password for the valkey cluster. | `changeme` | +| `minio.deploy` | Enable MinIO deployment (via Bitnami Helm Chart). If you want to use a custom BlobStorage, e.g. S3, set to false. | `true` | +| `minio.defaultBuckets` | Default buckets to create with the MinIO deployment. | `langfuse` | +| `minio.auth.rootUser` | Name of the MinIO root user. | `minio` | +| `minio.auth.rootPassword` | Password for the MinIO root user. | `miniosecret` | +| `extraManifests` | Dict that allow addition of additional k8s resources | `[]` | #### Examples: diff --git a/charts/langfuse/Chart.yaml b/charts/langfuse/Chart.yaml index af642b4..a561307 100644 --- a/charts/langfuse/Chart.yaml +++ b/charts/langfuse/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: v2 name: langfuse -version: 0.9.0 +version: 0.10.0 description: Open source LLM engineering platform - LLM observability, metrics, evaluations, prompt management. type: application keywords: diff --git a/charts/langfuse/templates/deployment-web.yaml b/charts/langfuse/templates/deployment-web.yaml index 002a5e7..bbbf99a 100644 --- a/charts/langfuse/templates/deployment-web.yaml +++ b/charts/langfuse/templates/deployment-web.yaml @@ -5,7 +5,7 @@ metadata: labels: {{- include "langfuse.labels" . | nindent 4 }} spec: - {{- if not .Values.autoscaling.enabled }} + {{- if not .Values.langfuse.web.hpa.enabled }} replicas: {{ coalesce (.Values.langfuse.web).replicas .Values.replicaCount 1 }} {{- end }} selector: diff --git a/charts/langfuse/templates/deployment-worker.yaml b/charts/langfuse/templates/deployment-worker.yaml index 2d057fb..4eb77bd 100644 --- a/charts/langfuse/templates/deployment-worker.yaml +++ b/charts/langfuse/templates/deployment-worker.yaml @@ -5,7 +5,7 @@ metadata: labels: {{- include "langfuse.labels" . | nindent 4 }} spec: - {{- if not .Values.autoscaling.enabled }} + {{- if not .Values.langfuse.worker.hpa.enabled }} replicas: {{ coalesce (.Values.langfuse.worker).replicas .Values.replicaCount 1 }} {{- end }} selector: diff --git a/charts/langfuse/templates/hpa-web.yaml b/charts/langfuse/templates/hpa-web.yaml index 42a214b..74a823a 100644 --- a/charts/langfuse/templates/hpa-web.yaml +++ b/charts/langfuse/templates/hpa-web.yaml @@ -1,4 +1,4 @@ -{{- if .Values.autoscaling.enabled }} +{{- if .Values.langfuse.web.hpa.enabled }} apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: @@ -10,23 +10,23 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ include "langfuse.fullname" . }}-web - minReplicas: {{ .Values.autoscaling.minReplicas }} - maxReplicas: {{ .Values.autoscaling.maxReplicas }} + minReplicas: {{ .Values.langfuse.web.hpa.minReplicas }} + maxReplicas: {{ .Values.langfuse.web.hpa.maxReplicas }} metrics: - {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} + {{- with .Values.langfuse.web.hpa.targetCPUUtilizationPercentage }} - type: Resource resource: name: cpu target: type: Utilization - averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} + averageUtilization: {{ . }} {{- end }} - {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} + {{- with .Values.langfuse.web.hpa.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory target: type: Utilization - averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} + averageUtilization: {{ . }} {{- end }} {{- end }} diff --git a/charts/langfuse/templates/hpa-worker.yaml b/charts/langfuse/templates/hpa-worker.yaml index a651d30..11150ba 100644 --- a/charts/langfuse/templates/hpa-worker.yaml +++ b/charts/langfuse/templates/hpa-worker.yaml @@ -1,4 +1,4 @@ -{{- if .Values.autoscaling.enabled }} +{{- if .Values.langfuse.worker.hpa.enabled }} apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: @@ -10,23 +10,23 @@ spec: apiVersion: apps/v1 kind: Deployment name: {{ include "langfuse.fullname" . }}-worker - minReplicas: {{ .Values.autoscaling.minReplicas }} - maxReplicas: {{ .Values.autoscaling.maxReplicas }} + minReplicas: {{ .Values.langfuse.worker.hpa.minReplicas }} + maxReplicas: {{ .Values.langfuse.worker.hpa.maxReplicas }} metrics: - {{- if .Values.autoscaling.targetCPUUtilizationPercentage }} + {{- with .Values.langfuse.worker.hpa.targetCPUUtilizationPercentage }} - type: Resource resource: name: cpu target: type: Utilization - averageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }} + averageUtilization: {{ . }} {{- end }} - {{- if .Values.autoscaling.targetMemoryUtilizationPercentage }} + {{- with .Values.langfuse.worker.hpa.targetMemoryUtilizationPercentage }} - type: Resource resource: name: memory target: type: Utilization - averageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }} + averageUtilization: {{ . }} {{- end }} {{- end }} diff --git a/charts/langfuse/templates/vpa-web.yaml b/charts/langfuse/templates/vpa-web.yaml new file mode 100644 index 0000000..40c3fd3 --- /dev/null +++ b/charts/langfuse/templates/vpa-web.yaml @@ -0,0 +1,34 @@ +{{- if and (.Capabilities.APIVersions.Has "autoscaling.k8s.io/v1") .Values.langfuse.web.vpa.enabled }} +apiVersion: autoscaling.k8s.io/v1 +kind: VerticalPodAutoscaler +metadata: + name: {{ include "langfuse.fullname" . }}-web + labels: + {{- include "langfuse.labels" . | nindent 4 }} +spec: + resourcePolicy: + containerPolicies: + - containerName: {{ .Chart.Name }}-web + {{- with .Values.langfuse.web.vpa.controlledResources }} + controlledResources: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.langfuse.web.vpa.maxAllowed }} + maxAllowed: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.langfuse.web.vpa.minAllowed }} + minAllowed: + {{- toYaml . | nindent 8 }} + {{- end }} + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ include "langfuse.fullname" . }}-web + {{- if .Values.langfuse.web.vpa.updatePolicy }} + updatePolicy: + {{- with .Values.langfuse.web.vpa.updatePolicy.updateMode }} + updateMode: {{ . }} + {{- end }} + {{- end }} +{{- end }} diff --git a/charts/langfuse/templates/vpa-worker.yaml b/charts/langfuse/templates/vpa-worker.yaml new file mode 100644 index 0000000..b69975d --- /dev/null +++ b/charts/langfuse/templates/vpa-worker.yaml @@ -0,0 +1,34 @@ +{{- if and (.Capabilities.APIVersions.Has "autoscaling.k8s.io/v1") .Values.langfuse.worker.vpa.enabled }} +apiVersion: autoscaling.k8s.io/v1 +kind: VerticalPodAutoscaler +metadata: + name: {{ include "langfuse.fullname" . }}-worker + labels: + {{- include "langfuse.labels" . | nindent 4 }} +spec: + resourcePolicy: + containerPolicies: + - containerName: {{ .Chart.Name }}-worker + {{- with .Values.langfuse.worker.vpa.controlledResources }} + controlledResources: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.langfuse.worker.vpa.maxAllowed }} + maxAllowed: + {{- toYaml . | nindent 8 }} + {{- end }} + {{- with .Values.langfuse.worker.vpa.minAllowed }} + minAllowed: + {{- toYaml . | nindent 8 }} + {{- end }} + targetRef: + apiVersion: apps/v1 + kind: Deployment + name: {{ include "langfuse.fullname" . }}-worker + {{- if .Values.langfuse.worker.vpa.updatePolicy }} + updatePolicy: + {{- with .Values.langfuse.worker.vpa.updatePolicy.updateMode }} + updateMode: {{ . }} + {{- end }} + {{- end }} +{{- end }} diff --git a/charts/langfuse/values.yaml b/charts/langfuse/values.yaml index 89a09c7..5a02dbd 100644 --- a/charts/langfuse/values.yaml +++ b/charts/langfuse/values.yaml @@ -27,6 +27,33 @@ langfuse: extraInitContainers: [] extraVolumeMounts: [] + web: + hpa: + enabled: false + minReplicas: 1 + maxReplicas: 2 + targetCPUUtilizationPercentage: 50 + vpa: + enabled: false + controlledResources: [] + maxAllowed: {} + minAllowed: {} + updatePolicy: + updateMode: Auto + worker: + hpa: + enabled: false + minReplicas: 1 + maxReplicas: 2 + targetCPUUtilizationPercentage: 50 + vpa: + enabled: false + controlledResources: [] + maxAllowed: {} + minAllowed: {} + updatePolicy: + updateMode: Auto + additionalEnv: # REDIS - name: "REDIS_CONNECTION_STRING" @@ -76,9 +103,6 @@ ingress: resources: {} -autoscaling: - enabled: false - nodeSelector: {} tolerations: [] diff --git a/examples/values-example.yaml b/examples/values-example.yaml index 8e82067..48a7d5a 100644 --- a/examples/values-example.yaml +++ b/examples/values-example.yaml @@ -73,9 +73,6 @@ ingress: resources: {} -autoscaling: - enabled: false - nodeSelector: {} tolerations: []